-/*
- * magic-types.c: intrinsics for variable sized int/floats
+/**
+ * \file
+ * intrinsics for variable sized int/floats
*
* Author:
* Rodrigo Kumpera (kumpera@gmail.com)
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;