MEM_guardedalloc.h already contains extern "C" so it does not need to be done here again. The IMB header seem to need it though.