Can we re-enable `rtti` with GCC?
In 2cc375a8 JM added the -fno-rtti
flag again for GCC. However, adding no-rtti just saves some space of the binary while removing introspection/casting features, and exactly this happens for me:
g++ -DALIGNMENT=16 -DnoMultipleThreadsMayTriggerMPICalls -DDim2 -fstrict-aliasing -std=c++0x -DAsserts -g3 -DTrackGridStatistics -D__assume_aligned=__builtin_assume_aligned -pipe -pedantic -Drestrict=__restrict__ -Wall -O3 -fno-rtti -march=native -DSharedTBB /usr/include/tbb -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./ApplicationExamples/EulerFlow -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/mpibalancing/.. -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/sharedmemoryoracles/.. -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/multiscalelinkedcell/.. -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/peano/.. -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/tarch/.. -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./ExaHyPE -I/dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./ApplicationExamples/EulerFlow -c /dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/peano/utils/UserInterface.cpp -o /dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/peano/utils/UserInterface.o
In file included from /usr/include/tbb/parallel_for.h:28:0,
from /dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/mpibalancing/../tarch/multicore/tbb/Loop.h:2,
from /dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/mpibalancing/../tarch/multicore/Loop.h:4,
from /dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/mpibalancing/../peano/utils/Loop.h:16,
from /dev/shm/exabuild-f6cb071ddf-Euler-euler-tbb-asserts/./Peano/peano/peano.cpp:2:
/usr/include/tbb/tbb_exception.h: In constructor ‘tbb::movable_exception<ExceptionData>::movable_exception(const ExceptionData&)’:
/usr/include/tbb/tbb_exception.h:274:25: error: cannot use typeid with -fno-rtti
typeid(self_type).name()
^
when compiling with
COMPILER | GNU
MODE | Asserts
SHAREDMEM | TBB
DISTRIBUTEDMEM | None
Full build log at http://sprunge.us/NfCA
So do we keep no-rtti
or not? With which settings have you tested it, @ga96nuv ?