Avoid constructing custom attribute objects during AOT compilation.
authorZoltan Varga <vargaz@gmail.com>
Tue, 25 Sep 2012 21:09:48 +0000 (23:09 +0200)
committerZoltan Varga <vargaz@gmail.com>
Tue, 25 Sep 2012 21:09:56 +0000 (23:09 +0200)
mono/metadata/marshal.c

index 31ba9e89f21a2652dabc119ba365b2f70924cb57..0836328e79b8f961646c2c9cc82f9445f5ba6f2c 100644 (file)
@@ -447,7 +447,7 @@ parse_unmanaged_function_pointer_attr (MonoClass *klass, MonoMethodPInvoke *piin
                 * construct it.
                 */
                cinfo = mono_custom_attrs_from_class (klass);
-               if (cinfo) {
+               if (cinfo && !mono_runtime_get_no_exec ()) {
                        attr = (MonoReflectionUnmanagedFunctionPointerAttribute*)mono_custom_attrs_get_attr (cinfo, UnmanagedFunctionPointerAttribute);
                        if (attr) {
                                piinfo->piflags = (attr->call_conv << 8) | (attr->charset ? (attr->charset - 1) * 2 : 1) | attr->set_last_error;