[llvm] r229584 - We require MSVC 2013 Update 4 due to previous versions miscompiling ASTMatchers

Kaylor, Andrew andrew.kaylor at intel.com
Tue Feb 17 16:54:19 PST 2015


I have been seeing some problems where some clang regression tests intermittently fail -- most often Format/style-on-command-line.  I have no idea if that’s related.

When I say I was able to build this morning, I mean that I was able to build before I updated this afternoon.  My code base was from last Wednesday, so it may be that something has changed since then that I also would have run into.

I don’t know what to say about reverting this change.  This change seems like the kind of thing that needs to happen sooner or later.  If it stays, I’m going to be forced to use a local change to enable builds until I can get the techs here to update a couple of systems for me.  I can live with that, but it is inconvenient.  Mainly I just wanted to start a conversation to see how many other people were in my position and to explore the possibility that there are other ways around whatever issues forced this change.

-Andy

From: filcab at gmail.com [mailto:filcab at gmail.com] On Behalf Of Filipe Cabecinhas
Sent: Tuesday, February 17, 2015 4:40 PM
To: Kaylor, Andrew
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm] r229584 - We require MSVC 2013 Update 4 due to previous versions miscompiling ASTMatchers

ASTMatchers tests broke over the weekend due to a silent miscompile, as far as we could understand.

Could you run check-clang and have it work, before this commit?

When committing, I figured it was a small change, so there shouldn't be big problems, but after committing I figured there might be people who wouldn't be ready, and I hadn't given a heads up. I then figured I would wait and see if someone complained, either way.

If you want to, I can revert this patch, but this might prompt people to try to chase weird MSVC miscompilations. If we revert it we should probably make it so that llvm/clang compile and run tests on earlier revisions though, and actually support point-releases (and document which ones are supported), which doesn't seem feasible to me (we have enough “problems” supporting major releases, sometimes).

Let me know if you still want me to revert it, though.

  Filipe

On Tue, Feb 17, 2015 at 4:29 PM, Kaylor, Andrew <andrew.kaylor at intel.com<mailto:andrew.kaylor at intel.com>> wrote:
This is a fairly painful change for me.

I didn't really mind the idea of not being able to build with MSVC 2012 because it's three years old or so.  MSVC 2013 Update 4, on the other hand, is more like 3 months old.  Granted it's still readily available, but it hasn't made its way through the lab systems here yet and I suspect I'm not alone in experiencing this.

I'm not sure what the issue is.  This morning I could build just fine.  Now this afternoon, I can't because CMake thinks my compiler is too old.

What is the issue with ASTMatchers on earlier versions of MSVC?  Is it something that was just exposed by a recent commit?  I hadn't noticed a problem.

-Andy


-----Original Message-----
From: llvm-commits-bounces at cs.uiuc.edu<mailto:llvm-commits-bounces at cs.uiuc.edu> [mailto:llvm-commits-bounces at cs.uiuc.edu<mailto:llvm-commits-bounces at cs.uiuc.edu>] On Behalf Of Filipe Cabecinhas
Sent: Tuesday, February 17, 2015 3:29 PM
To: llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
Subject: [llvm] r229584 - We require MSVC 2013 Update 4 due to previous versions miscompiling ASTMatchers

Author: filcab
Date: Tue Feb 17 17:29:00 2015
New Revision: 229584

URL: http://llvm.org/viewvc/llvm-project?rev=229584&view=rev
Log:
We require MSVC 2013 Update 4 due to previous versions miscompiling ASTMatchers

Previous versions of MSVC 2013 would miscompile ASTMatchers (and/or their tests). Bump up the requirement and make sure we know about the minor revision.

Minimum required version found by Michael Edwards!

Modified:
    llvm/trunk/cmake/modules/HandleLLVMOptions.cmake

Modified: llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/HandleLLVMOptions.cmake?rev=229584&r1=229583&r2=229584&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/HandleLLVMOptions.cmake (original)
+++ llvm/trunk/cmake/modules/HandleLLVMOptions.cmake Tue Feb 17 17:29:00
+++ 2015
@@ -41,8 +41,8 @@ int main() { return (float)x; }"
       set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
     endif()
   elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
-    if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
-      message(FATAL_ERROR "Host Visual Studio must be at least 2013 (MSVC 18.0)")
+    if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.31101)
+      message(FATAL_ERROR "Host Visual Studio must be at least 2013
+ Update 4 (MSVC 18.0.31101)")
     endif()
   endif()
 endif()


_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150218/ed599e32/attachment.html>


More information about the llvm-commits mailing list