Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when compiling with Windows 10 SDK 10.0.14393.0 #6460

Closed
omariom opened this issue Aug 7, 2016 · 39 comments · Fixed by dotnet/coreclr#7201
Closed

Error when compiling with Windows 10 SDK 10.0.14393.0 #6460

omariom opened this issue Aug 7, 2016 · 39 comments · Fixed by dotnet/coreclr#7201

Comments

@omariom
Copy link
Contributor

omariom commented Aug 7, 2016

Almost two thousand errors complaining about constexpr.

c:\program files (x86)\windows kits\10\include\10.0.14393.0\um\shlwapi.h(1764): error C3249: illegal statement or sub-expression for 'constexpr' function [C:\DEV\GIT\Forks\coreclr\bin\obj\Windows_NT.x64.Checked\src\debug\ee\dac\cordbee_dac.vcxproj]

@ghost
Copy link

ghost commented Aug 7, 2016

Are you using VS2015 Update 3? constexpr was implemented in RTM but then tons of fixes came in Updates. Update 3 being the most updated one.

You can alternatively install:

  • Visual C++ Build Tools 2015 for command line usage only - http://landinghub.visualstudio.com/visual-cpp-build-tools

  • Get the latest (pre-release) VC runtime bits via NuGet:

    # powershell
    
    # download nuget
    wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe
    
    # install VC build tools
    ./nuget install VisualCppTools -source http://vcppdogfooding.azurewebsites.net/nuget/ -Prerelease

@omariom
Copy link
Contributor Author

omariom commented Aug 7, 2016

Are you using VS2015 Update 3?

yes
image

@benaadams
Copy link
Member

Its pretty grumpy on checked

@omariom
Copy link
Contributor Author

omariom commented Aug 8, 2016

@benaadams hmm.. I will try Debug

@benaadams
Copy link
Member

Release is happy; still trying to workout how to get checked to build though :(

@benaadams
Copy link
Member

@omariom am having same issue with VS Enterprise and windows kits\10\include\10.0.14393.0

image

@benaadams
Copy link
Member

@omariom stash a copy of
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include

nuget the VC build tools from @jasonwilliams200OK post

copy VisualCppTools.14.0.24405-Pre\lib\native bin,lib,include folders into C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\

try a .\build -Rebuild

Seems to be working for me so far

@omariom
Copy link
Contributor Author

omariom commented Aug 8, 2016

@benaadams
I installed recently VS "15" Preview. Can it be the cause?

stash a copy of..

I will try later today. Thanks.

@ghost
Copy link

ghost commented Aug 8, 2016

@omariom, I tested on a VM which has only VS2015 Update 3 installed and SDK 14393 and it failed. I think if we have only VS "15" Preview 3 installed, that would compile it. Or the way @benaadams is suggesting. Or make cmake pick up VS "15" Preview 3 when VS2015 Update 3 is also installed.

Seems like the new SDK headers have C++11/14 code which VS2015 can't compile. Note that the nuget package grabs the most recent nightly build from VC team.

@benaadams
Copy link
Member

Still have an issue, is different though

coreclr\src\vm\comcallablewrapper.cpp(2388): 
 error C4839: non-standard use of class 'NewCCWHolder' as an argument to a variadic function 
 [coreclr\bin\obj\Windows_NT.x64.Checked\src\vm\wks\cee_wks.vcxproj]
coreclr\src\vm\comcallablewrapper.cpp(2388): 
 error C2280: 'NewCCWHolder::NewCCWHolder(const NewCCWHolder &)': 
 attempting to reference a deleted function 
 [coreclr\bin\obj\Windows_NT.x64.Checked\src\vm\wks\cee_wks.vcxproj]

@benaadams
Copy link
Member

But I produced a coreclr\bin\obj\Windows_NT.x64.Checked\src\jit\standalone\Checked\clrjit.dll which I think was the file I was after...

@ghost
Copy link

ghost commented Aug 8, 2016

@benaadams, I have known some related issues around template resolution in recent versions of CL, but I can't seem repro that error with Compiler version: 19.00.24210 (VS2015 Update 3) using the following code (extracted bits from comcallablewrapper.cpp and headers):

class A{};
class B{};

template<typename TYPE, typename BASE>
class BaseHolder : protected BASE{};

class NewCCWHolder : public BaseHolder<A, B>
{
public:
    NewCCWHolder(int p) {}
};

void LogSpew(int facility, int level, const char *fmt, ... ) {
    return;
}

bool LoggingEnabled() { return true; }

#define LOG(x)      do { if (LoggingEnabled()) { LogSpew x; } } while (0)

struct OBJECTHANDLE__
{
    void* unused;
};

typedef struct OBJECTHANDLE__* OBJECTHANDLE;

int main()
{
    OBJECTHANDLE oh = nullptr;
    NewCCWHolder pStartWrapper(1);
    LOG((1, 1, "ComCallWrapper::CopyFromTemplate on Object %8.8x, Wrapper %8.8x\n", oh, pStartWrapper));
}

I was thinking of logging the bug upstream.. https://connect.microsoft.com/VisualStudio/feedback, but this code compiles.

@pgavlin
Copy link
Contributor

pgavlin commented Aug 8, 2016

Just to be clear, are these constexpr errors rooted in headers provided as part of the Win10 SDK?

@ghost
Copy link

ghost commented Aug 8, 2016

@pgavlin, yes with SDK v10.0.14393.0 headers. It seems like we need latest VC bits to make it compile CoreCLR.

@pgavlin
Copy link
Contributor

pgavlin commented Aug 8, 2016

@pgavlin, yes with SDK v10.0.14393.0 headers. It seems like we need latest VC bits to make it compile CoreCLR.

And you're able to compile other C++ examples with the lastest SDK headers and older VC bits? I ask only b/c the issue mentiones constexpr errors and CoreCLR does not contain any direct uses of constexpr.

@benaadams
Copy link
Member

benaadams commented Aug 8, 2016

@pgavlin its definitely the sdk headers not coreclr itself; and when compiling checked rather than release (Release compiles fine)

@pgavlin
Copy link
Contributor

pgavlin commented Aug 8, 2016

@pgavlin its definitely the sdk headers not coreclr itself; and when compiling checked rather than release

Okay, great. Are you able to compile code outside CoreCLR with the relevant SDK and older tools? I'm wondering if this is going to end up having a wider impact...

@ghost
Copy link

ghost commented Aug 8, 2016

@pgavlin, at least the hello world with SDK headers compile:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "c:\program files (x86)\windows kits\10\include\10.0.14393.0\um\shlwapi.h"

int main(int argc, char **argv)
{
        fprintf(stderr,"\nHello World\n");
        return 0;
}

but compiling CoreCLR fails with:

c:\program files (x86)\windows kits\10\include\10.0.14393.0\um\shlwapi.h(1764): error C3249: illegal statement or sub-expression for 'constexpr' function (compiling source file C:\Users\Peter\Source\Repos\coreclr\src\classlibnative\bcltype\arrayhelpers.cpp) [C:\Users\Peter\Source\Repos\coreclr\bin\obj\Windows_NT.x64.Debug\src\classlibnative\bcltype\bcltype.vcxproj]

This is VS2015 Update 3 with SDK 14393.

Then I grabbed latest VC bits and followed @benaadams' approach:

nuget install VisualCppTools -source http://vcppdogfooding.azurewebsites.net/nuget/ -Prerelease

# backup
mkdir "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\temp"

mv "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\temp"

mv "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\temp"

mv "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\temp"

# copy latest VCR
cp -r VisualCppTools.14.0.24405-Pre\lib\native\* "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"

and then in coreclr dir .\build.cmd and it didn't complain about constexpr.

@benaadams
Copy link
Member

benaadams commented Aug 8, 2016

@jasonwilliams200OK if you do a checked build of your hello world? (not sure how to do checked builds manually, maybe -RTC? https://msdn.microsoft.com/en-us/library/8wtf2dfz.aspx)

@pgavlin
Copy link
Contributor

pgavlin commented Aug 8, 2016

@jasonwilliams200OK what is the code at c:\program files (x86)\windows kits\10\include\10.0.14393.0\um\shlwapi.h(1764)? I have seen problems when attempting to use constexpr functions in CoreCLR due to the return macro defined in debug/checked builds: https://github.com/dotnet/coreclr/blob/master/src/inc/debugreturn.h#L96

@ghost
Copy link

ghost commented Aug 8, 2016

@ghost
Copy link

ghost commented Aug 8, 2016

@pgavlin, and from winnt.h, where DEFINE_ENUM_FLAG_OPERATORS macro is defined:

#if _MSC_VER >= 1900
#define _ENUM_FLAG_CONSTEXPR constexpr
#else
#define _ENUM_FLAG_CONSTEXPR
#endif

#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \
extern "C++" { \
inline _ENUM_FLAG_CONSTEXPR ENUMTYPE operator | (ENUMTYPE a, ENUMTYPE b) throw() { return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) | ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); } \
inline ENUMTYPE &operator |= (ENUMTYPE &a, ENUMTYPE b) throw() { return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); } \
inline _ENUM_FLAG_CONSTEXPR ENUMTYPE operator & (ENUMTYPE a, ENUMTYPE b) throw() { return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) & ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); } \
inline ENUMTYPE &operator &= (ENUMTYPE &a, ENUMTYPE b) throw() { return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); } \
inline _ENUM_FLAG_CONSTEXPR ENUMTYPE operator ~ (ENUMTYPE a) throw() { return ENUMTYPE(~((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a)); } \
inline _ENUM_FLAG_CONSTEXPR ENUMTYPE operator ^ (ENUMTYPE a, ENUMTYPE b) throw() { return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); } \
inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) throw() { return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); } \
}
#else
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) // NOP, C allows these operators.
#endif

@pgavlin
Copy link
Contributor

pgavlin commented Aug 8, 2016

Okay, this looks like it very well could be a problem with the return macro if we've been bitten by include order. Can you try disabling that macro and building?

@ghost
Copy link

ghost commented Aug 8, 2016

@pgavlin, disabling the macro (changing #if _MSC_VER >= 1900 to #if _MSC_VER >= 2900 in c:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um\winnt.h) successfully builds.

@pgavlin
Copy link
Contributor

pgavlin commented Aug 8, 2016

cc @jkotas. This is going to be a pretty significant issue once TFS builds have moved to newer versions of MSVC and we are able to use constexpr. Any thoughts? I assume the return macro is still relevant...

@jkotas
Copy link
Member

jkotas commented Aug 8, 2016

@vinnyrom There is a break building CoreCLR with latest C++ / WinSDK combo. Is it something that you are planning to fix?

@ghost
Copy link

ghost commented Aug 8, 2016

@pgavlin, I am just realizing that you asked me to disable the return macro in coreclr/src/inc/debugreturn.h and not the _ENUM_FLAG_CONSTEXPR macro in winnt.h :)

Yes it builds when I commented out #define return if (0 && __ReturnOK::safe_to_return()) { } else return or even with #define return return.

@ghost
Copy link

ghost commented Aug 9, 2016

@benaadams, error C4839 you encountered with VC toolset grabbed from NuGet: https://github.com/dotnet/coreclr/issues/6642#issuecomment-238268603 is fixed by dotnet/coreclr#6665 🎉

@jkotas
Copy link
Member

jkotas commented Aug 9, 2016

Can this be fixed by marking the helper methods in inc/debugreturn.h as constexpr?

#if _MSC_VER >= 1900
    static constexpr int safe_to_return() {return 0;};
    static constexpr int used() {return 0;};
#else
    static int safe_to_return() {return 0;};
    static int used() {return 0;};
#endif

@ghost
Copy link

ghost commented Aug 9, 2016

@jkotas, it gives the same error:

c:\program files (x86)\windows kits\10\include\10.0.14393.0\um\shlwapi.h(1764): error C3249: illegal statement or sub-expression for 'constexpr' function

C:\Users\Peter\Source\Repos\coreclr [master ≡ +0 ~1 -0 !]> git diff
diff --git a/src/inc/debugreturn.h b/src/inc/debugreturn.h
index cc5bdeb..2a012fb 100644
--- a/src/inc/debugreturn.h
+++ b/src/inc/debugreturn.h
@@ -63,8 +63,13 @@
 //
 class __SafeToReturn {
 public:
+#if _MSC_VER >= 1900
+    static constexpr int safe_to_return() {return 0;};
+    static constexpr int used() {return 0;};
+#else
     static int safe_to_return() {return 0;};
     static int used() {return 0;};
+#endif
 };

 class __YouCannotUseAReturnStatementHere {

@jkotas
Copy link
Member

jkotas commented Aug 9, 2016

Hmm, would adding #include <shlwapi.h> at the top of inc/debugreturn.h help? If that does not fix either, I guess we will have to disable the compile-time validation of no-return blocks - change #ifdef _DEBUG in inc/debugreturn.h to #if defined(_DEBUG) && (defined(FEATURE_PAL) || (_MSC_VER < 1900)).

@ghost
Copy link

ghost commented Aug 9, 2016

would adding #include <shlwapi.h> at the top of inc/debugreturn.h help?

Yup it helps, but then it gives errors from other headers such as:

c:\program files (x86)\windows kits\10\include\10.0.14393.0\winrt\windows.graphics.display.h(664)
c:\program files (x86)\windows kits\10\include\10.0.14393.0\winrt\windows.ui.notifications.h(9077)
c:\program files (x86)\windows kits\10\include\10.0.14393.0\winrt\windows.devices.enumeration.h(8803)

.. and many more

change #ifdef _DEBUG in inc/debugreturn.h to #if defined(_DEBUG) && (defined(FEATURE_PAL) || (_MSC_VER < 1900))

It complains about DEBUG_ASSURE_SAFE_TO_RETURN not defined.

However, with this change, it works:

diff --git a/src/inc/debugreturn.h b/src/inc/debugreturn.h
index cc5bdeb..a5e77ac 100644
--- a/src/inc/debugreturn.h
+++ b/src/inc/debugreturn.h
@@ -93,7 +93,11 @@ typedef __SafeToReturn __ReturnOK;
 // build.  (And, in fastchecked, there is no penalty at all.)
 //
 #ifdef _MSC_VER
+#if _MSC_VER < 1900
 #define return if (0 && __ReturnOK::safe_to_return()) { } else return
+#else // _MSC_VER < 1900
+#define return return
+#endif // _MSC_VER < 1900
 #else // _MSC_VER
 #define return for (;1;__ReturnOK::safe_to_return()) return
 #endif // _MSC_VER

@ghost
Copy link

ghost commented Aug 9, 2016

We could ifdef the SDK version like:

#ifdef _MSC_VER
#include <ntverp.h>
#if VER_PRODUCTBUILD < 10011
#define return if (0 && __ReturnOK::safe_to_return()) { } else return
#else // VER_PRODUCTBUILD > 10011
#define return return
#endif // VER_PRODUCTBUILD > 10011

but that gives redefinition error as VER_PRODUCTBUILD and many others defined in ntverp.h are defined in src\pal\prebuilt\inc\fxver.h with value 2220 (which is probably some fake future number).

@jkotas, should we just mark it in documentation that to build with SDK v10.0.14393.0, one needs to have _MSC_FULL_VER >190024210 (post VS2015 Update 3) as it fully compiles (https://github.com/dotnet/coreclr/issues/6642#issuecomment-238319469), esp. now that dotnet/coreclr#6665 is merged?

@jkotas
Copy link
Member

jkotas commented Aug 9, 2016

should we just mark it in documentation that to build with SDK v10.0.14393.0, one needs to have _MSC_FULL_VER >190024210

Sounds good. Even better would be to add a check for it somewhere that prints nice message when you try to build with the problematic combination ... people do not read documentation.

@ghost
Copy link

ghost commented Aug 9, 2016

@jkotas, why is the Windows build.cmd doesn't use cmake configurations? I added a cmake check but cmake configuration never runs and build fails. How are we doing autoconfig in case of Windows? Should I instead detect the SDK in cmd? 😓

@jkotas
Copy link
Member

jkotas commented Aug 9, 2016

why is the Windows build.cmd doesn't use cmake configurations?

It was not needed so far...

Should I instead detect the SDK in cmd?

I think it would be easiest to detect in inc\debugreturn.h. Something like:

#include <shlwapi.h>

#if (_MSC_VER >= 1900) && (_MSC_FULL_VER <=190024210) && defined(_ENUM_FLAG_CONSTEXPR)
#error Post VS2015 Update 3 required to build with current Windows SDK. See https://github.com/dotnet/coreclr/issues/6642 for details.
#endif

@vinnyrom
Copy link

vinnyrom commented Aug 9, 2016

I would suggest the following change to debugreturn.h:

Replace:
#ifdef _DEBUG
With:
// This is disabled in VS2015 Update 3 and earlier because only C++11 constexpr is supported,
// which doesn't allow the use of 'if' statements within the body of a constexpr function.
#if defined(_DEBUG) && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER > 190024210)

@JosephTremoulet
Copy link
Contributor

I'm seeing this again, on a machine with SDK v10.0.14393.0, on which _MSC_FULL_VER is 190024213. I don't know what update brought me to that _MSC_FULL_VER; when I look at "Installed Updates" under VS 2015, I see "Visual Studio 2015 Update 3 (KB3022398)"/Version 14.0.25420 and "Update for Microsot Visual Studio 2015 (KB3165756)"/Version 14.0.25425. VS Help > About reports "Version 14.0.25425.01 Update 3". All that sounds the same as what others saw before on this thread. When I run cl -Bv, however, I see:

Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24213.1 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Compiler Passes:
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe:        Version 19.00.24213.1
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\c1.dll:        Version 19.00.24213.1
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\c1xx.dll:      Version 19.00.24213.1
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\c2.dll:        Version 19.00.24213.1
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe:      Version 14.00.24213.1
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\mspdb140.dll:  Version 14.00.24210.0
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\1033\clui.dll: Version 19.00.24213.1

I don't see cl -Bv output reported in the prior discussion on this thread, but presumably people had version 19.00.24210.?.

So it seems that version 19.00.24213 has been released and doesn't include the prerelease changes that fix the constexpr handling; would the appropriate fix then be to change the 190024210 in the version check in debugreturn.h to 190024213?

@vinnyrom
Copy link

You should use _MSC_FULL_VER <= 190024315. Pre-release builds after that (July 19th) support C++14 constexpr. 24213 is a pre-release build from June 14th.

-Vinny

From: Joseph Tremoulet [mailto:notifications@github.com]
Sent: Wednesday, September 14, 2016 3:20 PM
To: dotnet/coreclr coreclr@noreply.github.com
Cc: Vinny Romano vinnyrom@microsoft.com; Mention mention@noreply.github.com
Subject: Re: [dotnet/coreclr] Error when compiling with Windows 10 SDK 10.0.14393.0 (#6642)

I'm seeing this again, on a machine with SDK v10.0.14393.0, on which _MSC_FULL_VER is 190024213. I don't know what update brought me to that _MSC_FULL_VER; when I look at "Installed Updates" under VS 2015, I see "Visual Studio 2015 Update 3 (KB3022398)"/Version 14.0.25420 and "Update for Microsot Visual Studio 2015 (KB3165756)"/Version 14.0.25425. VS Help > About reports "Version 14.0.25425.01 Update 3". All that sounds the same as what others saw before on this thread. When I run cl -Bv, however, I see:

Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24213.1 for x86

Copyright (C) Microsoft Corporation. All rights reserved.

Compiler Passes:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe: Version 19.00.24213.1

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\c1.dll: Version 19.00.24213.1

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\c1xx.dll: Version 19.00.24213.1

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\c2.dll: Version 19.00.24213.1

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe: Version 14.00.24213.1

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\mspdb140.dll: Version 14.00.24210.0

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\1033\clui.dll: Version 19.00.24213.1

I don't see cl -Bv output reported in the prior discussion on this thread, but presumably people had version 19.00.24210.?.

So it seems that version 19.00.24213 has been released and doesn't include the prerelease changes that fix the constexpr handling; would the appropriate fix then be to change the 190024210 in the version check in debugreturn.h to 190024213?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgit.luolix.top%2fdotnet%2fcoreclr%2fissues%2f6642%23issuecomment-247174682&data=02%7c01%7cvinnyrom%40microsoft.com%7ca5247439cae141aed97808d3dced4deb%7c72f988bf86f141af91ab2d7cd011db47%7c1%7c0%7c636094884174635878&sdata=QlVffdBWzMCmldVjWzt80gOsryqeLZQ9nPRLv4NaoSc%3d, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgit.luolix.top%2fnotifications%2funsubscribe-auth%2fATpozm-Egn0wRDL7bD5ZchtwUv8zz_Rpks5qqHMbgaJpZM4JeeMb&data=02%7c01%7cvinnyrom%40microsoft.com%7ca5247439cae141aed97808d3dced4deb%7c72f988bf86f141af91ab2d7cd011db47%7c1%7c0%7c636094884174635878&sdata=%2fTUimib4Y5SuM0YAf94wpeM4BizerYdU7g41hVdug7M%3d.

JosephTremoulet referenced this issue in JosephTremoulet/coreclr Sep 15, 2016
Previously the code was comparing against 190024210 (VS2015 Update 3).
Update it to instead compare against 190024315, the last pre-release build
before C++14 constexpr support got added; this fixes compilation using
pre-release MSVC compilers between 24210 and 24315.

Fixes #6642.
JosephTremoulet referenced this issue in JosephTremoulet/coreclr Sep 15, 2016
Previously the code was comparing against 190024210 (VS2015 Update 3).
Update it to instead compare against 190024315, the last pre-release build
before C++14 constexpr support got added; this fixes compilation using
pre-release MSVC compilers between 24210 and 24315.

Fixes #6642.
JosephTremoulet referenced this issue in JosephTremoulet/coreclr Sep 15, 2016
Previously the code was comparing against 190024210 (VS2015 Update 3).
Update it to instead compare against 190024315, the last pre-release build
before C++14 constexpr support got added; this fixes compilation using
pre-release MSVC compilers between 24210 and 24315.

Fixes #6642.
@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants