summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
aa022d1)
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.
extern int _surf_do_model_check; /* please don't use directly: we inline MC_is_active, but that's what you should use */
extern int _surf_do_model_check; /* please don't use directly: we inline MC_is_active, but that's what you should use */
-static int MC_is_active(void) {
- return _surf_do_model_check;
-}
+#define MC_is_active() _surf_do_model_check
XBT_PUBLIC(void) MC_assert(int);
XBT_PUBLIC(int) MC_random(int min, int max);
XBT_PUBLIC(void) MC_assert(int);
XBT_PUBLIC(int) MC_random(int min, int max);
#else
#define MC_assert(a) xbt_assert(a)
#else
#define MC_assert(a) xbt_assert(a)
-
-static int MC_is_active(void) {
- return 0;
-}
+#define MC_is_active() 0