Implement mono_gc_alloc_fixed on Boehm to be uncollectable. This matches SGen behavio...
[mono.git] / mono / mini / mini-native-types.c
index 5d66853ece98745dcfe334f57c49d357517159d9..4bf5a79bdc606ae04c9309cf003bbb3d73f015db 100644 (file)
@@ -406,6 +406,14 @@ mono_class_is_magic_float (MonoClass *klass)
 
        if (strcmp ("nfloat", klass->name) == 0) {
                magic_nfloat_class = klass;
+
+               /* Assert that we are using the matching assembly */
+               MonoClassField *value_field = mono_class_get_field_from_name (klass, "v");
+               g_assert (value_field);
+               MonoType *t = mono_field_get_type (value_field);
+               MonoType *native = mini_native_type_replace_type (&klass->byval_arg);
+               if (t->type != native->type)
+                       g_error ("Assembly used for native types '%s' doesn't match this runtime, %s is mapped to %s, expecting %s.\n", klass->image->name, klass->name, mono_type_full_name (t), mono_type_full_name (native));
                return TRUE;
        }
        return FALSE;