Merge branch 'upstream'
Former-commit-id: 459eaaa61075e30f60346bd93ea687d2be96520f
This commit is contained in:
commit
c38490cd13
@ -1 +1 @@
|
||||
cab2a3ba1d347f7b903e9002f483aab13a5f6262
|
||||
89c8ccc926a20e76b6d843afaa322fe7afdc6867
|
@ -1 +1 @@
|
||||
29ff151aff4578c2f4f9911b05e8ef2b9d88bfa7
|
||||
bc54f17e2eb5b0b17216ec2f470e310a41ada7b2
|
@ -34,7 +34,7 @@ static class Consts
|
||||
// Use these assembly version constants to make code more maintainable.
|
||||
//
|
||||
|
||||
public const string MonoVersion = "5.14.0.136";
|
||||
public const string MonoVersion = "5.14.0.139";
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
|
@ -172,7 +172,7 @@ namespace System.Reflection.Emit {
|
||||
|
||||
CreateDynMethod ();
|
||||
|
||||
deleg = Delegate.CreateDelegate (delegateType, this);
|
||||
deleg = Delegate.CreateDelegate (delegateType, null, this);
|
||||
return deleg;
|
||||
}
|
||||
|
||||
|
@ -744,6 +744,55 @@ namespace MonoTests.System.Reflection.Emit
|
||||
Assert.AreEqual (typeof (TypedRefTarget), TypedReference.GetTargetType (tr));
|
||||
}
|
||||
#endif
|
||||
|
||||
static Action GenerateProblematicMethod (bool add_extra, bool mismatch = false, bool use_vts = false)
|
||||
{
|
||||
Type this_type = typeof(object);
|
||||
Type bound_type = typeof(object);
|
||||
if (mismatch) {
|
||||
this_type = typeof (string);
|
||||
bound_type = typeof (DynamicMethodTest);
|
||||
} else if (use_vts) {
|
||||
this_type = typeof (int);
|
||||
bound_type = typeof (long);
|
||||
}
|
||||
|
||||
Type[] args;
|
||||
if (add_extra)
|
||||
args = new[] { this_type };
|
||||
else
|
||||
args = new Type [0];
|
||||
|
||||
var mb = new DynamicMethod("Peek", null, args, bound_type, true);
|
||||
var il = mb.GetILGenerator ();
|
||||
il.Emit(OpCodes.Ret);
|
||||
return (Action) mb.CreateDelegate(typeof(Action));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExtraArgGetsIgnored ()
|
||||
{
|
||||
GenerateProblematicMethod (true) ();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExactNumberOfArgsWork ()
|
||||
{
|
||||
GenerateProblematicMethod (false) ();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ExtraArgWithMismatchedTypes ()
|
||||
{
|
||||
GenerateProblematicMethod (true, mismatch: true) ();
|
||||
}
|
||||
|
||||
[Test]
|
||||
[ExpectedException (typeof (ArgumentException))]
|
||||
public void ExtraArgWithValueType ()
|
||||
{
|
||||
GenerateProblematicMethod (true, use_vts: true) ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
9bc5ab623e915f2b061bb11931e858e323d28b81
|
||||
7cf6299f6f67f965e15bdd8ed523ffd6bcfa90fa
|
@ -1 +1 @@
|
||||
81704786f614b9566b068099243cbbcec5e01431
|
||||
1d1b84a3ab81fa4a1113386171175288b709d825
|
@ -1 +1 @@
|
||||
87d7ee9183655cd6dd498ab61f9f538047e37154
|
||||
c41bcabda2db97799bd15972d5ef027ed96e13e4
|
@ -1 +1 @@
|
||||
4adc4d0533a38214b4b7bf8f3c11b82eb6788344
|
||||
2fd9c7b9ba1d6ff75925b7280ae014359cee081d
|
@ -1 +1 @@
|
||||
0ad035417f81239130a7a6ee40c9976ca253b0b0
|
||||
6655dcd3a1b322285a016ceb910942baf10bff4c
|
@ -1 +1 @@
|
||||
5cc86fb9eeda0070628ec28fbba5a3f73164ee2d
|
||||
f1a773b76dd88599b9e97be795b4d8631972874e
|
@ -1 +1 @@
|
||||
d896a1a2344d8d2e024c8ef3e88be8eb02613d26
|
||||
a0da33ba266c13c6e340af0c0b367682fd1ed2a8
|
@ -1 +1 @@
|
||||
9bc5ab623e915f2b061bb11931e858e323d28b81
|
||||
7cf6299f6f67f965e15bdd8ed523ffd6bcfa90fa
|
@ -1 +1 @@
|
||||
81704786f614b9566b068099243cbbcec5e01431
|
||||
1d1b84a3ab81fa4a1113386171175288b709d825
|
@ -1 +1 @@
|
||||
87d7ee9183655cd6dd498ab61f9f538047e37154
|
||||
c41bcabda2db97799bd15972d5ef027ed96e13e4
|
@ -1 +1 @@
|
||||
4adc4d0533a38214b4b7bf8f3c11b82eb6788344
|
||||
2fd9c7b9ba1d6ff75925b7280ae014359cee081d
|
@ -1 +1 @@
|
||||
0ad035417f81239130a7a6ee40c9976ca253b0b0
|
||||
6655dcd3a1b322285a016ceb910942baf10bff4c
|
@ -1 +1 @@
|
||||
5cc86fb9eeda0070628ec28fbba5a3f73164ee2d
|
||||
f1a773b76dd88599b9e97be795b4d8631972874e
|
@ -1 +1 @@
|
||||
d896a1a2344d8d2e024c8ef3e88be8eb02613d26
|
||||
a0da33ba266c13c6e340af0c0b367682fd1ed2a8
|
@ -1 +1 @@
|
||||
9bc5ab623e915f2b061bb11931e858e323d28b81
|
||||
7cf6299f6f67f965e15bdd8ed523ffd6bcfa90fa
|
@ -1 +1 @@
|
||||
81704786f614b9566b068099243cbbcec5e01431
|
||||
1d1b84a3ab81fa4a1113386171175288b709d825
|
@ -1 +1 @@
|
||||
87d7ee9183655cd6dd498ab61f9f538047e37154
|
||||
c41bcabda2db97799bd15972d5ef027ed96e13e4
|
@ -1 +1 @@
|
||||
4adc4d0533a38214b4b7bf8f3c11b82eb6788344
|
||||
2fd9c7b9ba1d6ff75925b7280ae014359cee081d
|
@ -1 +1 @@
|
||||
0ad035417f81239130a7a6ee40c9976ca253b0b0
|
||||
6655dcd3a1b322285a016ceb910942baf10bff4c
|
@ -1 +1 @@
|
||||
5cc86fb9eeda0070628ec28fbba5a3f73164ee2d
|
||||
f1a773b76dd88599b9e97be795b4d8631972874e
|
@ -1 +1 @@
|
||||
d896a1a2344d8d2e024c8ef3e88be8eb02613d26
|
||||
a0da33ba266c13c6e340af0c0b367682fd1ed2a8
|
@ -1 +1 @@
|
||||
9f49eda52fe1c7559833769a8e1bfc7ebc7fa5dd
|
||||
07ed49b2376a13e417f121868ff95c8a890ca137
|
@ -20,4 +20,7 @@ mono_image_load_module_checked (MonoImage *image, int idx, MonoError *error);
|
||||
MonoImage *
|
||||
mono_image_open_a_lot (const char *fname, MonoImageOpenStatus *status, gboolean refonly, gboolean load_from_context);
|
||||
|
||||
gboolean
|
||||
mono_is_problematic_image (MonoImage *image);
|
||||
|
||||
#endif /* __MONO_METADATA_IMAGE_INTERNALS_H__ */
|
||||
|
@ -1286,8 +1286,8 @@ hash_guid (const char *str)
|
||||
return h;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
is_problematic_image (MonoImage *image)
|
||||
gboolean
|
||||
mono_is_problematic_image (MonoImage *image)
|
||||
{
|
||||
int h = hash_guid (image->guid);
|
||||
|
||||
@ -1360,7 +1360,7 @@ do_mono_image_load (MonoImage *image, MonoImageOpenStatus *status,
|
||||
if (!mono_image_load_cli_data (image))
|
||||
goto invalid_image;
|
||||
|
||||
if (!image->ref_only && is_problematic_image (image)) {
|
||||
if (!image->ref_only && mono_is_problematic_image (image)) {
|
||||
if (image->load_from_context) {
|
||||
mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_ASSEMBLY, "Loading problematic image %s", image->name);
|
||||
} else {
|
||||
@ -1682,6 +1682,18 @@ mono_image_open_a_lot (const char *fname, MonoImageOpenStatus *status, gboolean
|
||||
mono_images_lock ();
|
||||
image = g_hash_table_lookup (loaded_images, absfname);
|
||||
if (image) { // Image already loaded
|
||||
if (!load_from_context && mono_is_problematic_image (image)) {
|
||||
// If we previously loaded a problematic image, don't
|
||||
// return it if we're not in LoadFrom context.
|
||||
//
|
||||
// Note: this has an interaction with
|
||||
// mono_problematic_image_reprobe - at that point we
|
||||
// have a problematic image opened, but we don't want
|
||||
// to see it again when we go searching for an image
|
||||
// to load.
|
||||
mono_images_unlock ();
|
||||
return NULL;
|
||||
}
|
||||
g_assert (image->is_module_handle);
|
||||
if (image->has_entry_point && image->ref_count == 0) {
|
||||
/* Increment reference count on images loaded outside of the runtime. */
|
||||
@ -1752,6 +1764,18 @@ mono_image_open_a_lot (const char *fname, MonoImageOpenStatus *status, gboolean
|
||||
g_free (absfname);
|
||||
|
||||
if (image) { // Image already loaded
|
||||
if (!refonly && !load_from_context && mono_is_problematic_image (image)) {
|
||||
// If we previously loaded a problematic image, don't
|
||||
// return it if we're not in LoadFrom context.
|
||||
//
|
||||
// Note: this has an interaction with
|
||||
// mono_problematic_image_reprobe - at that point we
|
||||
// have a problematic image opened, but we don't want
|
||||
// to see it again when we go searching for an image
|
||||
// to load.
|
||||
mono_images_unlock ();
|
||||
return NULL;
|
||||
}
|
||||
mono_image_addref (image);
|
||||
mono_images_unlock ();
|
||||
return image;
|
||||
|
@ -1 +1 @@
|
||||
#define FULL_VERSION "explicit/07c8f25"
|
||||
#define FULL_VERSION "explicit/f22c8b7"
|
||||
|
@ -109,7 +109,7 @@ parse_args (const char *desc)
|
||||
const char *p;
|
||||
gboolean in_quotes = FALSE;
|
||||
char quote_char = '\0';
|
||||
char *buffer = malloc (strlen (desc));
|
||||
char *buffer = g_malloc (strlen (desc) + 1);
|
||||
int buffer_pos = 0;
|
||||
|
||||
for (p = desc; *p; p++){
|
||||
|
BIN
po/mcs/de.gmo
BIN
po/mcs/de.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
c3f0641acdac4e43c9d1b8f5585d6298603b8f5e
|
||||
8670cedad68dc7718b2683bfe933234b3c1ad30b
|
BIN
po/mcs/es.gmo
BIN
po/mcs/es.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
8d09284808a902465ad7ff9278030227575e9cd2
|
||||
32fe2be0da4724f5d626f8e4504607f8354b3b9b
|
BIN
po/mcs/ja.gmo
BIN
po/mcs/ja.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
f16d96dd0d92df2d76ff723392d9ccb1f6066ad2
|
||||
77ad9876884d107a1ba863b885265a46f2be3878
|
@ -6,9 +6,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mono 5.14.0.136\n"
|
||||
"Project-Id-Version: mono 5.14.0.139\n"
|
||||
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
|
||||
"POT-Creation-Date: 2018-06-19 08:07+0000\n"
|
||||
"POT-Creation-Date: 2018-06-20 08:06+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
BIN
po/mcs/pt_BR.gmo
BIN
po/mcs/pt_BR.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
a0ba3a28a5496c0ca3827f6b69b6a0343fe950a4
|
||||
0d376e7df1d399ca0edbccdea2097803e7ddf5f0
|
Loading…
x
Reference in New Issue
Block a user