1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
namespace System.Runtime.CompilerServices
{
// The CLR data marshaler has some behaviors that are incompatible with
// C++. Specifically, C++ treats boolean variables as byte size, whereas
// the marshaller treats them as 4-byte size. Similarly, C++ treats
// wchar_t variables as 4-byte size, whereas the marshaller treats them
// as single byte size under certain conditions. In order to work around
// such issues, the C++ compiler will emit a type that the marshaller will
// marshal using the correct sizes. In addition, the compiler will place
// this modopt onto the variables to indicate that the specified type is
// not the true type. Any compiler that needed to deal with similar
// marshalling incompatibilities could use this attribute as well.
//
// Indicates that the modified instance differs from its true type for
// correct marshalling.
public static class CompilerMarshalOverride
{
}
}
|