aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2012-08-24 05:02:09 +0800
committerjkim <jkim@FreeBSD.org>2012-08-24 05:02:09 +0800
commit5fe63ebf83f1dc599d7ec3fb1b45542eb181ee02 (patch)
tree03fb6a090457c06bcb1ad673849e8fced8ea5be9 /lang
parent12bd468ea075128027fdd55a86f89926df8822cf (diff)
downloadfreebsd-ports-gnome-5fe63ebf83f1dc599d7ec3fb1b45542eb181ee02.tar.gz
freebsd-ports-gnome-5fe63ebf83f1dc599d7ec3fb1b45542eb181ee02.tar.zst
freebsd-ports-gnome-5fe63ebf83f1dc599d7ec3fb1b45542eb181ee02.zip
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)
Diffstat (limited to 'lang')
-rw-r--r--lang/clang/Makefile2
-rw-r--r--lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h2
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp2
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Headers_Makefile2
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp2
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp37
-rw-r--r--lang/clang/files/patch-tools_clang_tools_scan-build_scan-build2
7 files changed, 43 insertions, 6 deletions
diff --git a/lang/clang/Makefile b/lang/clang/Makefile
index 7685bb3fcd4a..998848aa977e 100644
--- a/lang/clang/Makefile
+++ b/lang/clang/Makefile
@@ -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
diff --git a/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h b/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
index 5db58d679de1..7d178ab4f591 100644
--- a/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
+++ b/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
@@ -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
diff --git a/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp b/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
index 5951f83f8f58..b77afbc41600 100644
--- a/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
+++ b/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
@@ -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
diff --git a/lang/clang/files/patch-tools_clang_lib_Headers_Makefile b/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
index 2171d627bd10..41493c66230c 100644
--- a/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
+++ b/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
@@ -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
diff --git a/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
index c27119f111e7..f57ac2281a7f 100644
--- a/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
+++ b/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
@@ -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
diff --git a/lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp b/lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp
new file mode 100644
index 000000000000..c185a0f223e3
--- /dev/null
+++ b/lang/clang/files/patch-tools_clang_lib_Sema_SemaDeclCXX.cpp
@@ -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.
diff --git a/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build b/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build
index ac6e7bd25efb..291eafdeb2fc 100644
--- a/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build
+++ b/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build
@@ -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