Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use function-like macros instead of inline functions for MC_is_active().
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 17 Oct 2012 08:37:06 +0000 (10:37 +0200)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Wed, 17 Oct 2012 09:43:01 +0000 (11:43 +0200)
commit8065b83e3317c2162066e7d541682a6df037bae4
tree321ac852dbdf3640f2605c3854eb197a5c76ceb2
parentaa022d1e577ba93e5fb2841a312b8ac6b00a4ffd
Use function-like macros instead of inline functions for MC_is_active().

When using functions, Gcc apparently does not remove dead branches when
building without optimizations, and then complains at link time with:

Linking C executable ../../bin/gras_stub_generator
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_ignore'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_do_the_modelcheck_for_real'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_process_clock_get'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_process_clock_add'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_memory_init'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_new_stack_area'
collect2: error: ld returned 1 exit status

This is if course when building with -Denable_model-checking=OFF.
include/simgrid/modelchecker.h