remove -fno-rtti

This commit is contained in:
BLUELOVETH 2023-07-18 17:48:39 +08:00
parent 78ac9488ff
commit f0a2ea215e
9 changed files with 9 additions and 15 deletions

View File

@ -18,9 +18,9 @@ if(NOT ${PREBUILD_RESULT} EQUAL 0)
endif()
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR- /EHsc /utf-8 /O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /utf-8 /O2")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fexceptions -O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -O2")
endif()
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)

View File

@ -40,7 +40,6 @@ To compile it with your project, these flags must be set:
+ `--std=c++17` flag must be set
+ Exception must be enabled
+ RTTI is not required
### Example

View File

@ -1,14 +1,16 @@
python3 prebuild.py
SRC=$(find src/ -name "*.cpp")
FLAGS="-std=c++17 -fno-rtti -O2 -stdlib=libc++ -Wfatal-errors -Iinclude"
FLAGS="-std=c++17 -O2 -stdlib=libc++ -Wfatal-errors -Iinclude"
if [[ "$OSTYPE" == "darwin"* ]]; then
LIB_EXTENSION=".dylib"
FLAGS="$FLAGS -undefined dynamic_lookup"
LINK_FLAGS=""
else
LIB_EXTENSION=".so"
LINK_FLAGS="-Wl,-rpath=."
fi
clang++ $FLAGS -o libpocketpy$LIB_EXTENSION $SRC -fPIC -shared -ldl
# compile main.cpp and link to libpocketpy.so
clang++ $FLAGS -o main src2/main.cpp -L. -lpocketpy -Wl,-rpath=.
clang++ $FLAGS -o main src2/main.cpp -L. -lpocketpy $LINK_FLAGS

View File

@ -4,4 +4,4 @@ rm -rf web/lib
mkdir web/lib
SRC=$(find src/ -name "*.cpp")
em++ $SRC -Iinclude/ -fno-rtti -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js
em++ $SRC -Iinclude/ -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js

View File

@ -22,7 +22,6 @@ To compile it with your project, these flags must be set:
+ `--std=c++17` flag must be set
+ Exception must be enabled
+ RTTI is not required
### Example

BIN
libpocketpy.dylib Executable file

Binary file not shown.

View File

@ -13,12 +13,6 @@ add_library(pocketpy SHARED
"pocketpy.cpp"
)
if (NOT MSVC)
target_compile_options(pocketpy PRIVATE -fno-rtti)
else()
target_compile_options(pocketpy PRIVATE /GR- /EHsc)
endif()
set_target_properties(pocketpy PROPERTIES
PUBLIC_HEADER pocketpy.h
OUTPUT_NAME "pocketpy"

View File

@ -1,6 +1,6 @@
python3 prebuild.py
SRC=$(find src/ -name "*.cpp")
clang++ -pg -O1 -std=c++17 -fno-rtti -stdlib=libc++ -Wfatal-errors -o main $SRC -Iinclude -ldl
clang++ -pg -O1 -std=c++17 -stdlib=libc++ -Wfatal-errors -o main $SRC -Iinclude -ldl
time ./main benchmarks/fib.py
mv benchmarks/gmon.out .
gprof pocketpy gmon.out > gprof.txt

View File

@ -1,6 +1,6 @@
python3 prebuild.py
SRC=$(find src/ -name "*.cpp")
clang++ -std=c++17 -fno-rtti --coverage -O1 -stdlib=libc++ -Wfatal-errors -o main src2/main.cpp $SRC -Iinclude -ldl
clang++ -std=c++17 --coverage -O1 -stdlib=libc++ -Wfatal-errors -o main src2/main.cpp $SRC -Iinclude -ldl
python3 scripts/run_tests.py
rm -rf .coverage
mkdir .coverage