svn commit: r293428 - in projects/clang380-import: contrib/llvm/include/llvm lib/clang/libllvmsupport

Dimitry Andric dim at FreeBSD.org
Fri Jan 8 17:32:43 UTC 2016


Author: dim
Date: Fri Jan  8 17:32:42 2016
New Revision: 293428
URL: https://svnweb.freebsd.org/changeset/base/293428

Log:
  As submitted upstream in a review, avoid using undefined behavior in
  llvm's LinkAllPasses.h.  This caused some of the calls not to be
  emitted, if the optimization level was -O2 or higher.
  
  Conversely, if you used -O1 or lower, calls to e.g.  RunningOnValgrind()
  would be emitted, leading to link failures, because we did not include
  Valgrind.cpp into libllvmsupport.  Therefore, add it unconditionally.
  
  Noticed by:	ian

Modified:
  projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h
  projects/clang380-import/lib/clang/libllvmsupport/Makefile

Modified: projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h
==============================================================================
--- projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h	Fri Jan  8 17:27:23 2016	(r293427)
+++ projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h	Fri Jan  8 17:32:42 2016	(r293428)
@@ -185,9 +185,9 @@ namespace {
 
       (void)new llvm::IntervalPartition();
       (void)new llvm::ScalarEvolutionWrapperPass();
-      ((llvm::Function*)nullptr)->viewCFGOnly();
+      ((llvm::Function*)1)->viewCFGOnly();
       llvm::RGPassManager RGM;
-      ((llvm::RegionPass*)nullptr)->runOnRegion((llvm::Region*)nullptr, RGM);
+      ((llvm::RegionPass*)1)->runOnRegion((llvm::Region*)nullptr, RGM);
       llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)nullptr);
       X.add(nullptr, 0, llvm::AAMDNodes()); // for -print-alias-sets
       (void) llvm::AreStatisticsEnabled();

Modified: projects/clang380-import/lib/clang/libllvmsupport/Makefile
==============================================================================
--- projects/clang380-import/lib/clang/libllvmsupport/Makefile	Fri Jan  8 17:27:23 2016	(r293427)
+++ projects/clang380-import/lib/clang/libllvmsupport/Makefile	Fri Jan  8 17:32:42 2016	(r293428)
@@ -78,6 +78,7 @@ SRCS=	APFloat.cpp \
 	Triple.cpp \
 	Twine.cpp \
 	Unicode.cpp \
+	Valgrind.cpp \
 	YAMLParser.cpp \
 	YAMLTraits.cpp \
 	circular_raw_ostream.cpp \
@@ -101,8 +102,7 @@ SRCS+=	ARMWinEH.cpp \
 .endif
 
 .if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no"
-SRCS+=	Memory.cpp \
-	Valgrind.cpp
+SRCS+=	Memory.cpp
 .endif
 
 .include "../clang.lib.mk"


More information about the svn-src-projects mailing list