Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2012 21:02:09 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r303039 - in head/lang/clang: . files
Message-ID:  <201208232102.q7NL296W094247@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu Aug 23 21:02:09 2012
New Revision: 303039
URL: http://svn.freebsd.org/changeset/ports/303039

Log:
  Pull in r159895 from upstream to match Clang in the FreeBSD 9.1 base system:
  
  http://svnweb.freebsd.org/base?view=revision&revision=238554
  
  Approved by:	brooks (maintainer)

Added:
  head/lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp   (contents, props changed)
Modified:
  head/lang/clang/Makefile
  head/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h   (contents, props changed)
  head/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp   (contents, props changed)
  head/lang/clang/files/patch-tools_clang_lib_Headers_Makefile   (contents, props changed)
  head/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp   (contents, props changed)
  head/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build   (contents, props changed)

Modified: head/lang/clang/Makefile
==============================================================================
--- head/lang/clang/Makefile	Thu Aug 23 20:54:55 2012	(r303038)
+++ head/lang/clang/Makefile	Thu Aug 23 21:02:09 2012	(r303039)
@@ -7,7 +7,7 @@
 
 PORTNAME=	clang
 PORTVERSION=	3.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang devel
 MASTER_SITES=	http://llvm.org/releases/${PORTVERSION}/
 DISTNAME=	${PORTNAME}-${PORTVERSION}.src

Modified: head/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
==============================================================================
--- head/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h	Thu Aug 23 20:54:55 2012	(r303038)
+++ head/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h	Thu Aug 23 21:02:09 2012	(r303039)
@@ -1,5 +1,5 @@
 
-$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h,v 1.2 2012-06-26 10:10:40 fluffy Exp $
+$FreeBSD$
 
 --- tools/clang/include/clang/Analysis/Analyses/FormatString.h.orig
 +++ tools/clang/include/clang/Analysis/Analyses/FormatString.h

Modified: head/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
==============================================================================
--- head/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp	Thu Aug 23 20:54:55 2012	(r303038)
+++ head/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp	Thu Aug 23 21:02:09 2012	(r303039)
@@ -1,5 +1,5 @@
 
-$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp,v 1.1 2010-10-08 14:00:31 brooks Exp $
+$FreeBSD$
 
 --- tools/clang/lib/Analysis/PrintfFormatString.cpp.orig
 +++ tools/clang/lib/Analysis/PrintfFormatString.cpp

Modified: head/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
==============================================================================
--- head/lang/clang/files/patch-tools_clang_lib_Headers_Makefile	Thu Aug 23 20:54:55 2012	(r303038)
+++ head/lang/clang/files/patch-tools_clang_lib_Headers_Makefile	Thu Aug 23 21:02:09 2012	(r303039)
@@ -1,5 +1,5 @@
 
-$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Headers_Makefile,v 1.2 2010-10-08 14:00:31 brooks Exp $
+$FreeBSD$
 
 --- tools/clang/lib/Headers/Makefile.orig
 +++ tools/clang/lib/Headers/Makefile

Modified: head/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
==============================================================================
--- head/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp	Thu Aug 23 20:54:55 2012	(r303038)
+++ head/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp	Thu Aug 23 21:02:09 2012	(r303039)
@@ -1,5 +1,5 @@
 
-$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp,v 1.1 2010-10-08 14:00:31 brooks Exp $
+$FreeBSD$
 
 --- tools/clang/lib/Sema/SemaChecking.cpp.orig
 +++ tools/clang/lib/Sema/SemaChecking.cpp

Added: head/lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp	Thu Aug 23 21:02:09 2012	(r303039)
@@ -0,0 +1,37 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Sema/SemaDeclCXX.cpp.orig
++++ tools/clang/lib/Sema/SemaDeclCXX.cpp
+@@ -10795,14 +10795,23 @@
+ 
+ void Sema::MarkVirtualMembersReferenced(SourceLocation Loc,
+                                         const CXXRecordDecl *RD) {
+-  for (CXXRecordDecl::method_iterator i = RD->method_begin(), 
+-       e = RD->method_end(); i != e; ++i) {
+-    CXXMethodDecl *MD = *i;
+-
+-    // C++ [basic.def.odr]p2:
+-    //   [...] A virtual member function is used if it is not pure. [...]
+-    if (MD->isVirtual() && !MD->isPure())
+-      MarkFunctionReferenced(Loc, MD);
++  // Mark all functions which will appear in RD's vtable as used.
++  CXXFinalOverriderMap FinalOverriders;
++  RD->getFinalOverriders(FinalOverriders);
++  for (CXXFinalOverriderMap::const_iterator I = FinalOverriders.begin(),
++                                            E = FinalOverriders.end();
++       I != E; ++I) {
++    for (OverridingMethods::const_iterator OI = I->second.begin(),
++                                           OE = I->second.end();
++         OI != OE; ++OI) {
++      assert(OI->second.size() > 0 && "no final overrider");
++      CXXMethodDecl *Overrider = OI->second.front().Method;
++
++      // C++ [basic.def.odr]p2:
++      //   [...] A virtual member function is used if it is not pure. [...]
++      if (!Overrider->isPure())
++        MarkFunctionReferenced(Loc, Overrider);
++    }
+   }
+ 
+   // Only classes that have virtual bases need a VTT.

Modified: head/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build
==============================================================================
--- head/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build	Thu Aug 23 20:54:55 2012	(r303038)
+++ head/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build	Thu Aug 23 21:02:09 2012	(r303039)
@@ -1,5 +1,5 @@
 
-$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build,v 1.1 2010-10-08 14:00:31 brooks Exp $
+$FreeBSD$
 
 --- tools/clang/tools/scan-build/scan-build.orig
 +++ tools/clang/tools/scan-build/scan-build



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208232102.q7NL296W094247>