[llvm-branch-commits] [cfe-branch] r322632 - Merging r322350, r322405, r322420, r322593:

Hans Wennborg via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jan 17 03:41:51 PST 2018


Author: hans
Date: Wed Jan 17 03:41:51 2018
New Revision: 322632

URL: http://llvm.org/viewvc/llvm-project?rev=322632&view=rev
Log:
Merging r322350, r322405, r322420, r322593:

------------------------------------------------------------------------
r322350 | rtrieu | 2018-01-11 20:42:27 -0800 (Thu, 11 Jan 2018) | 6 lines

[ODRHash] Don't hash friend functions.

In certain combinations of templated classes and friend functions, the body
of friend functions does not get propagated along with function signature.
Exclude friend functions for hashing to avoid this case.

------------------------------------------------------------------------

------------------------------------------------------------------------
r322405 | rtrieu | 2018-01-12 13:49:20 -0800 (Fri, 12 Jan 2018) | 2 lines

Disable test for Windows to fix Windows buildbots.

------------------------------------------------------------------------

------------------------------------------------------------------------
r322420 | rtrieu | 2018-01-12 15:13:33 -0800 (Fri, 12 Jan 2018) | 2 lines

Try to suppress Windows testing again.

------------------------------------------------------------------------

------------------------------------------------------------------------
r322593 | rtrieu | 2018-01-16 11:53:06 -0800 (Tue, 16 Jan 2018) | 6 lines

Add context to why test was disabled on Windows

test/Modules/odr_hash-Friend.cpp triggers an assertion in MicrosoftMangle.cpp
This has been reported in PR35939


------------------------------------------------------------------------

Added:
    cfe/branches/release_60/test/Modules/Inputs/odr_hash-Friend/
      - copied from r322350, cfe/trunk/test/Modules/Inputs/odr_hash-Friend/
    cfe/branches/release_60/test/Modules/odr_hash-Friend.cpp
      - copied, changed from r322350, cfe/trunk/test/Modules/odr_hash-Friend.cpp
Modified:
    cfe/branches/release_60/   (props changed)
    cfe/branches/release_60/lib/AST/ODRHash.cpp

Propchange: cfe/branches/release_60/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jan 17 03:41:51 2018
@@ -1,4 +1,4 @@
 /cfe/branches/type-system-rewrite:134693-134817
-/cfe/trunk:321754,321771,321933,322018,322518
+/cfe/trunk:321754,321771,321933,322018,322350,322405,322420,322518,322593
 /cfe/trunk/test:170344
 /cfe/trunk/test/SemaTemplate:126920

Modified: cfe/branches/release_60/lib/AST/ODRHash.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_60/lib/AST/ODRHash.cpp?rev=322632&r1=322631&r2=322632&view=diff
==============================================================================
--- cfe/branches/release_60/lib/AST/ODRHash.cpp (original)
+++ cfe/branches/release_60/lib/AST/ODRHash.cpp Wed Jan 17 03:41:51 2018
@@ -478,6 +478,8 @@ void ODRHash::AddFunctionDecl(const Func
 
   // TODO: Fix hashing for class methods.
   if (isa<CXXMethodDecl>(Function)) return;
+  // And friend functions.
+  if (Function->getFriendObjectKind()) return;
 
   // Skip functions that are specializations or in specialization context.
   const DeclContext *DC = Function;

Copied: cfe/branches/release_60/test/Modules/odr_hash-Friend.cpp (from r322350, cfe/trunk/test/Modules/odr_hash-Friend.cpp)
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_60/test/Modules/odr_hash-Friend.cpp?p2=cfe/branches/release_60/test/Modules/odr_hash-Friend.cpp&p1=cfe/trunk/test/Modules/odr_hash-Friend.cpp&r1=322350&r2=322632&rev=322632&view=diff
==============================================================================
--- cfe/trunk/test/Modules/odr_hash-Friend.cpp (original)
+++ cfe/branches/release_60/test/Modules/odr_hash-Friend.cpp Wed Jan 17 03:41:51 2018
@@ -8,6 +8,9 @@
 // RUN:  -fmodules-cache-path=%t/modules.cache \
 // RUN:  -std=c++11 -x c++ %s -verify
 
+// PR35939: MicrosoftMangle.cpp triggers an assertion failure on this test.
+// UNSUPPORTED: system-windows
+
 // expected-no-diagnostics
 
 #include "Box.h"




More information about the llvm-branch-commits mailing list