diff options
author | kchoi <code.kchoi@gmail.com> | 2016-09-07 14:12:22 -0700 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-09-07 23:12:22 +0200 |
commit | 4149bd2070e0a8beec6dedb238e6fd832a39611b (patch) | |
tree | 7aa9401597ad87d4d1d902643439af1614458b99 /src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp | |
parent | 09133905fce3b541702044b6d2bbe942a6b40155 (diff) | |
download | coreclr-4149bd2070e0a8beec6dedb238e6fd832a39611b.tar.gz coreclr-4149bd2070e0a8beec6dedb238e6fd832a39611b.tar.bz2 coreclr-4149bd2070e0a8beec6dedb238e6fd832a39611b.zip |
Fix strict aliasing violation from conditional typedef of wchar_t by building entire project as C++ for Unix (#6801)
Enable building CoreCLR as C++ project on Unix
This series of patches fixes the strict aliasing violation from
the conditional typedef of wchar_t in src/pal/inc/pal_char16.h:40
* rename c files to cpp
* modify all cmake files to change .c files to .cpp
* apply c++ linkage to templates
Diffstat (limited to 'src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp')
-rw-r--r-- | src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp b/src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp new file mode 100644 index 0000000000..0fe4a180df --- /dev/null +++ b/src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp @@ -0,0 +1,79 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 8.00.0603 */ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include <rpc.h> +#include <rpcndr.h> + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include <guiddef.h> +#undef INITGUID +#else +#include <guiddef.h> +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, LIBID_CLRPrivRuntimeBinders,0xEA6A2170,0x8F6A,0x4007,0x87,0xA9,0x02,0x42,0x9F,0x61,0x59,0x58); + + +MIDL_DEFINE_GUID(CLSID, CLSID_CLRPrivAppXBinder,0xE990F732,0x2D0A,0x48AC,0x87,0xFC,0xEF,0x12,0xB6,0x18,0x98,0x1A); + + +MIDL_DEFINE_GUID(CLSID, CLSID_CLRPrivFusionBinder,0xE990F732,0x2D0A,0x48AC,0x87,0xFC,0xEF,0x12,0xB6,0x18,0x98,0x1C); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + |