Clang: remove v2.8 clang.

As suggested by Mike Frysinger, this ancient clang is not used, so we
can delete it now.

TEST=None
BUG=None

Change-Id: Iad4b8f6db35141ad142f5a3742ada0c0bb32f4a6
Reviewed-on: https://gerrit.chromium.org/gerrit/40462
Reviewed-by: Han Shen <shenhan@google.com>
Reviewed-by: Denis Glotov <glotov@chromium.org>
Commit-Queue: Guozhi Wei <carrot@google.com>
Tested-by: Guozhi Wei <carrot@google.com>
Reviewed-by: Han Shen <shenhan@chromium.org>
This commit is contained in:
Guozhi Wei 2013-01-04 12:43:37 -08:00 committed by ChromeBot
parent 43267f56d3
commit f55caafa57
6 changed files with 0 additions and 657 deletions

View File

@ -1,2 +0,0 @@
DIST clang-2.8.tgz 5666777 RMD160 f00956b6de29cc09f3992aeabd140f2189c6cf39 SHA1 94977c84ce136307dbbeade95e67bfe3c25161ff SHA256 ed83481553e6a39a8a2953e89630d881d87833506f096a90f18d93ec2bdee0c1
DIST llvm-2.8-r1.tgz 9112527 RMD160 3f5a71d07e105a7cf46eafc7a9006a927035012c SHA1 6d49fe039d28e8664de25491c775cb2c599e30c1 SHA256 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b

View File

@ -1,201 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/clang/clang-2.8-r3.ebuild,v 1.4 2011/07/08 10:10:59 ssuominen Exp $
EAPI=3
RESTRICT_PYTHON_ABIS="3.*"
SUPPORT_PYTHON_ABIS="1"
inherit eutils multilib python
DESCRIPTION="C language family frontend for LLVM"
HOMEPAGE="http://clang.llvm.org/"
# Fetching LLVM as well: see http://llvm.org/bugs/show_bug.cgi?id=4840
# Drop the -> on 2.9
SRC_URI="http://llvm.org/releases/${PV}/llvm-${PV}.tgz -> llvm-${PV}-r1.tgz
http://llvm.org/releases/${PV}/${P}.tgz"
LICENSE="UoI-NCSA"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="alltargets debug +static-analyzer system-cxx-headers test"
# Note: for LTO support, clang will depend on binutils with gold plugins, and LLVM built after that - http://llvm.org/docs/GoldPlugin.html
DEPEND="static-analyzer? ( dev-lang/perl )"
RDEPEND="~sys-devel/llvm-${PV}[alltargets=]"
S="${WORKDIR}/llvm-${PV}"
src_prepare() {
mv "${WORKDIR}"/clang-${PV} "${S}"/tools/clang || die "clang source directory not found"
# Same as llvm doc patches
epatch "${FILESDIR}"/${PN}-2.7-fixdoc.patch
# Upstream backport, r117774 and r117775
epatch "${FILESDIR}"/${P}-alignof.patch
# Upstream backport, r119348
epatch "${FILESDIR}"/${P}-gcc-4.4.4.patch
# Fix toolchain lookup for Darwin/Prefix.
epatch "${FILESDIR}"/${PN}-2.8-darwin-prefix.patch
sed -e "s|@GENTOO_PORTAGE_CHOST_ARCH@|${CHOST%%-darwin*}-darwin|g" \
-e "s|@GENTOO_PORTAGE_CHOST@|${CHOST}|g" \
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}|g" \
-i tools/clang/lib/Driver/ToolChains.cpp \
|| die "fixing toolchain lookup"
# multilib-strict
sed -e "/PROJ_headers/s#lib/clang#$(get_libdir)/clang#" \
-i tools/clang/lib/Headers/Makefile \
|| die "clang Makefile failed"
# fix the static analyzer for in-tree install
sed -e 's/import ScanView/from clang \0/' \
-i tools/clang/tools/scan-view/scan-view \
|| die "scan-view sed failed"
sed -e "/scanview.css\|sorttable.js/s#\$RealBin#${EPREFIX}/usr/share/${PN}#" \
-i tools/clang/tools/scan-build/scan-build \
|| die "scan-build sed failed"
# Specify python version
python_convert_shebangs 2 tools/clang/tools/scan-view/scan-view
# From llvm src_prepare
einfo "Fixing install dirs"
sed -e 's,^PROJ_docsdir.*,PROJ_docsdir := $(PROJ_prefix)/share/doc/'${PF}, \
-e 's,^PROJ_etcdir.*,PROJ_etcdir := '"${EPREFIX}"'/etc/llvm,' \
-e 's,^PROJ_libdir.*,PROJ_libdir := $(PROJ_prefix)/'$(get_libdir)/llvm, \
-i Makefile.config.in || die "Makefile.config sed failed"
einfo "Fixing rpath"
sed -e 's,\$(RPATH) -Wl\,\$(\(ToolDir\|LibDir\)),$(RPATH) -Wl\,'"${EPREFIX}"/usr/$(get_libdir)/llvm, \
-i Makefile.rules || die "rpath sed failed"
}
src_configure() {
local CONF_FLAGS="--enable-shared"
if use debug; then
CONF_FLAGS="${CONF_FLAGS} --disable-optimized"
einfo "Note: Compiling LLVM in debug mode will create huge and slow binaries"
# ...and you probably shouldn't use tmpfs, unless it can hold 900MB
else
CONF_FLAGS="${CONF_FLAGS} \
--enable-optimized \
--disable-assertions \
--disable-expensive-checks"
fi
# Setup the search path to include the Prefix includes
if use prefix ; then
CONF_FLAGS="${CONF_FLAGS} \
--with-c-include-dirs=${EPREFIX}/usr/include:/usr/include"
fi
if use alltargets; then
CONF_FLAGS="${CONF_FLAGS} --enable-targets=all"
else
CONF_FLAGS="${CONF_FLAGS} --enable-targets=host-only"
fi
if use amd64; then
CONF_FLAGS="${CONF_FLAGS} --enable-pic"
fi
# Skip llvm-gcc parts even if installed
CONF_FLAGS="${CONF_FLAGS} --with-llvmgccdir=/dev/null"
if use system-cxx-headers; then
# Try to get current gcc headers path
local CXX_PATH=$(gcc-config -X| cut -d: -f1 | sed 's,/include/g++-v4$,,')
CONF_FLAGS="${CONF_FLAGS} --with-c-include-dirs=/usr/include:${CXX_PATH}/include"
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-root=${CXX_PATH}/include/g++-v4"
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-arch=$CHOST"
if has_multilib_profile; then
CONF_FLAGS="${CONF_FLAGS} --with-cxx-include-32bit-dir=32"
fi
fi
econf ${CONF_FLAGS} || die "econf failed"
}
src_compile() {
emake VERBOSE=1 KEEP_SYMBOLS=1 REQUIRES_RTTI=1 clang-only || die "emake failed"
}
src_test() {
cd "${S}"/test || die "cd failed"
emake site.exp || die "updating llvm site.exp failed"
cd "${S}"/tools/clang || die "cd clang failed"
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
if ! emake -j1 VERBOSE=1 test; then
has test $FEATURES && die "Make test failed. See above for details."
has test $FEATURES || eerror "Make test failed. See above for details."
fi
}
src_install() {
cd "${S}"/tools/clang || die "cd clang failed"
emake KEEP_SYMBOLS=1 DESTDIR="${D}" install || die "install failed"
if use static-analyzer ; then
dobin tools/scan-build/ccc-analyzer
dosym ccc-analyzer /usr/bin/c++-analyzer
dobin tools/scan-build/scan-build
insinto /usr/share/${PN}
doins tools/scan-build/scanview.css
doins tools/scan-build/sorttable.js
cd tools/scan-view || die "cd scan-view failed"
dobin scan-view
install-scan-view() {
insinto "$(python_get_sitedir)"/clang
doins Reporter.py Resources ScanView.py startfile.py
touch "${ED}"/"$(python_get_sitedir)"/clang/__init__.py
}
python_execute_function install-scan-view
fi
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
if [[ ${CHOST} == *-darwin* ]] ; then
for lib in libclang.dylib ; do
ebegin "fixing install_name of $lib"
install_name_tool -id "${EPREFIX}"/usr/lib/llvm/${lib} \
"${ED}"/usr/lib/llvm/${lib}
eend $?
done
for f in usr/bin/{c-index-test,clang} usr/lib/llvm/libclang.dylib ; do
ebegin "fixing references in ${f##*/}"
install_name_tool \
-change "@rpath/libclang.dylib" \
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
-change "${S}"/Release/lib/libLLVM-${PV}.dylib \
"${EPREFIX}"/usr/lib/llvm/libLLVM-${PV}.dylib \
-change "${S}"/Release/lib/libclang.dylib \
"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
"${ED}"/$f
eend $?
done
fi
}
pkg_postinst() {
python_mod_optimize clang
if use system-cxx-headers; then
elog "C++ headers search path is hardcoded to the active gcc profile one"
elog "If you change the active gcc profile, or update gcc to a new version,"
elog "you will have to remerge this package to update the search path"
else
elog "If clang++ fails to find C++ headers on your system,"
elog "you can remerge clang with USE=system-cxx-headers to use C++ headers"
elog "from the active gcc profile"
fi
}
pkg_postrm() {
python_mod_cleanup clang
}

View File

@ -1,53 +0,0 @@
diff -Naur llvm-2.7.orig//tools/clang/docs/Makefile llvm-2.7/tools/clang/docs/Makefile
--- llvm-2.7.orig//tools/clang/docs/Makefile 2010-04-26 18:38:45.000000000 +0200
+++ llvm-2.7/tools/clang/docs/Makefile 2010-04-26 18:41:08.000000000 +0200
@@ -46,13 +46,12 @@
# 'make generated BUILD_FOR_WEBSITE=1'
generated:: doxygen
-install-html: $(PROJ_OBJ_DIR)/html.tar.gz
+install-html:
$(Echo) Installing HTML documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/img
$(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html
# $(Verb) $(DataInstall) $(IMAGES) $(DESTDIR)$(PROJ_docsdir)/html/img
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(PROJ_OBJ_DIR)/html.tar.gz: $(HTML)
$(Echo) Packaging HTML documentation
@@ -64,12 +63,11 @@
install-doxygen: doxygen
$(Echo) Installing doxygen documentation
$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen
- $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \;
-doxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz
+doxygen: regendoc
regendoc:
$(Echo) Building doxygen documentation
diff -Naur llvm-2.7.orig//tools/clang/docs/tools/Makefile llvm-2.7/tools/clang/docs/tools/Makefile
--- llvm-2.7.orig//tools/clang/docs/tools/Makefile 2010-04-26 18:38:45.000000000 +0200
+++ llvm-2.7/tools/clang/docs/tools/Makefile 2010-04-26 18:41:29.000000000 +0200
@@ -24,7 +24,7 @@
CLANG_VERSION := trunk
# If we are in BUILD_FOR_WEBSITE mode, default to the all target.
-all:: html man ps
+all:: html man
clean:
rm -f pod2htm*.*~~ $(HTML) $(MAN) $(PS)
@@ -58,7 +58,7 @@
ifdef ONLY_MAN_DOCS
INSTALL_TARGETS := install-man
else
-INSTALL_TARGETS := install-html install-man install-ps
+INSTALL_TARGETS := install-html install-man
endif
.SUFFIXES:

View File

@ -1,258 +0,0 @@
Index: include/llvm/ADT/StringMap.h
===================================================================
--- include/llvm/ADT/StringMap.h (révision 117773)
+++ include/llvm/ADT/StringMap.h (révision 117774)
@@ -167,7 +167,7 @@
unsigned AllocSize = static_cast<unsigned>(sizeof(StringMapEntry))+
KeyLength+1;
- unsigned Alignment = alignof<StringMapEntry>();
+ unsigned Alignment = alignOf<StringMapEntry>();
StringMapEntry *NewItem =
static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment));
Index: include/llvm/Support/AlignOf.h
===================================================================
--- include/llvm/Support/AlignOf.h (révision 117773)
+++ include/llvm/Support/AlignOf.h (révision 117774)
@@ -49,12 +49,12 @@
};
-/// alignof - A templated function that returns the mininum alignment of
+/// alignOf - A templated function that returns the mininum alignment of
/// of a type. This provides no extra functionality beyond the AlignOf
/// class besides some cosmetic cleanliness. Example usage:
-/// alignof<int>() returns the alignment of an int.
+/// alignOf<int>() returns the alignment of an int.
template <typename T>
-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
+static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
} // end namespace llvm
#endif
Index: include/llvm/Support/Allocator.h
===================================================================
--- include/llvm/Support/Allocator.h (révision 117773)
+++ include/llvm/Support/Allocator.h (révision 117774)
@@ -201,7 +201,7 @@
char *End = Slab == Allocator.CurSlab ? Allocator.CurPtr :
(char *)Slab + Slab->Size;
for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
- Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
+ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
if (Ptr + sizeof(T) <= End)
reinterpret_cast<T*>(Ptr)->~T();
}
Index: include/llvm/CodeGen/SlotIndexes.h
===================================================================
--- include/llvm/CodeGen/SlotIndexes.h (révision 117773)
+++ include/llvm/CodeGen/SlotIndexes.h (révision 117774)
@@ -393,7 +393,7 @@
IndexListEntry *entry =
static_cast<IndexListEntry*>(
ileAllocator.Allocate(sizeof(IndexListEntry),
- alignof<IndexListEntry>()));
+ alignOf<IndexListEntry>()));
new (entry) IndexListEntry(mi, index);
Index: tools/clang/lib/Basic/IdentifierTable.cpp
===================================================================
--- tools/clang/lib/Basic/IdentifierTable.cpp (révision 117774)
+++ tools/clang/lib/Basic/IdentifierTable.cpp (révision 117775)
@@ -390,7 +390,7 @@
unsigned Size = sizeof(MultiKeywordSelector) + nKeys*sizeof(IdentifierInfo *);
MultiKeywordSelector *SI =
(MultiKeywordSelector*)SelTabImpl.Allocator.Allocate(Size,
- llvm::alignof<MultiKeywordSelector>());
+ llvm::alignOf<MultiKeywordSelector>());
new (SI) MultiKeywordSelector(nKeys, IIV);
SelTabImpl.Table.InsertNode(SI, InsertPos);
return Selector(SI);
Index: tools/clang/lib/AST/ExprCXX.cpp
===================================================================
--- tools/clang/lib/AST/ExprCXX.cpp (révision 117774)
+++ tools/clang/lib/AST/ExprCXX.cpp (révision 117775)
@@ -233,7 +233,7 @@
if (NumTemplateArgs != 0)
size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedLookupExpr>());
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedLookupExpr>());
UnresolvedLookupExpr *E = new (Mem) UnresolvedLookupExpr(EmptyShell());
E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
return E;
@@ -261,7 +261,7 @@
if (NumResults) {
Results = static_cast<DeclAccessPair *>(
C.Allocate(sizeof(DeclAccessPair) * NumResults,
- llvm::alignof<DeclAccessPair>()));
+ llvm::alignOf<DeclAccessPair>()));
memcpy(Results, &*Begin.getIterator(),
NumResults * sizeof(DeclAccessPair));
}
@@ -737,7 +737,7 @@
if (TemplateArgs)
size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
+ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
return new (Mem) CXXDependentScopeMemberExpr(C, Base, BaseType,
IsArrow, OperatorLoc,
Qualifier, QualifierRange,
@@ -756,7 +756,7 @@
std::size_t size = sizeof(CXXDependentScopeMemberExpr) +
ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
- void *Mem = C.Allocate(size, llvm::alignof<CXXDependentScopeMemberExpr>());
+ void *Mem = C.Allocate(size, llvm::alignOf<CXXDependentScopeMemberExpr>());
CXXDependentScopeMemberExpr *E
= new (Mem) CXXDependentScopeMemberExpr(C, 0, QualType(),
0, SourceLocation(), 0,
@@ -812,7 +812,7 @@
if (TemplateArgs)
size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
return new (Mem) UnresolvedMemberExpr(C,
Dependent ? C.DependentTy : C.OverloadTy,
Dependent, HasUnresolvedUsing, Base, BaseType,
@@ -826,7 +826,7 @@
if (NumTemplateArgs != 0)
size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
- void *Mem = C.Allocate(size, llvm::alignof<UnresolvedMemberExpr>());
+ void *Mem = C.Allocate(size, llvm::alignOf<UnresolvedMemberExpr>());
UnresolvedMemberExpr *E = new (Mem) UnresolvedMemberExpr(EmptyShell());
E->HasExplicitTemplateArgs = NumTemplateArgs != 0;
return E;
Index: tools/clang/lib/AST/DeclObjC.cpp
===================================================================
--- tools/clang/lib/AST/DeclObjC.cpp (révision 117774)
+++ tools/clang/lib/AST/DeclObjC.cpp (révision 117775)
@@ -711,7 +711,7 @@
void ObjCClassDecl::setClassList(ASTContext &C, ObjCInterfaceDecl*const*List,
const SourceLocation *Locs, unsigned Num) {
ForwardDecls = (ObjCClassRef*) C.Allocate(sizeof(ObjCClassRef)*Num,
- llvm::alignof<ObjCClassRef>());
+ llvm::alignOf<ObjCClassRef>());
for (unsigned i = 0; i < Num; ++i)
new (&ForwardDecls[i]) ObjCClassRef(List[i], Locs[i]);
Index: tools/clang/lib/AST/Stmt.cpp
===================================================================
--- tools/clang/lib/AST/Stmt.cpp (révision 117774)
+++ tools/clang/lib/AST/Stmt.cpp (révision 117775)
@@ -416,7 +416,7 @@
Stmt *atFinallyStmt) {
unsigned Size = sizeof(ObjCAtTryStmt) +
(1 + NumCatchStmts + (atFinallyStmt != 0)) * sizeof(Stmt *);
- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
+ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
return new (Mem) ObjCAtTryStmt(atTryLoc, atTryStmt, CatchStmts, NumCatchStmts,
atFinallyStmt);
}
@@ -426,7 +426,7 @@
bool HasFinally) {
unsigned Size = sizeof(ObjCAtTryStmt) +
(1 + NumCatchStmts + HasFinally) * sizeof(Stmt *);
- void *Mem = Context.Allocate(Size, llvm::alignof<ObjCAtTryStmt>());
+ void *Mem = Context.Allocate(Size, llvm::alignOf<ObjCAtTryStmt>());
return new (Mem) ObjCAtTryStmt(EmptyShell(), NumCatchStmts, HasFinally);
}
@@ -448,7 +448,7 @@
std::size_t Size = sizeof(CXXTryStmt);
Size += ((numHandlers + 1) * sizeof(Stmt));
- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
+ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
return new (Mem) CXXTryStmt(tryLoc, tryBlock, handlers, numHandlers);
}
@@ -457,7 +457,7 @@
std::size_t Size = sizeof(CXXTryStmt);
Size += ((numHandlers + 1) * sizeof(Stmt));
- void *Mem = C.Allocate(Size, llvm::alignof<CXXTryStmt>());
+ void *Mem = C.Allocate(Size, llvm::alignOf<CXXTryStmt>());
return new (Mem) CXXTryStmt(Empty, numHandlers);
}
Index: tools/clang/lib/AST/Expr.cpp
===================================================================
--- tools/clang/lib/AST/Expr.cpp (révision 117774)
+++ tools/clang/lib/AST/Expr.cpp (révision 117775)
@@ -257,7 +257,7 @@
if (TemplateArgs)
Size += ExplicitTemplateArgumentList::sizeFor(*TemplateArgs);
- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
+ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
return new (Mem) DeclRefExpr(Qualifier, QualifierRange, D, NameInfo,
TemplateArgs, T);
}
@@ -271,7 +271,7 @@
if (NumTemplateArgs)
Size += ExplicitTemplateArgumentList::sizeFor(NumTemplateArgs);
- void *Mem = Context.Allocate(Size, llvm::alignof<DeclRefExpr>());
+ void *Mem = Context.Allocate(Size, llvm::alignOf<DeclRefExpr>());
return new (Mem) DeclRefExpr(EmptyShell());
}
@@ -432,7 +432,7 @@
// any concatenated string tokens.
void *Mem = C.Allocate(sizeof(StringLiteral)+
sizeof(SourceLocation)*(NumStrs-1),
- llvm::alignof<StringLiteral>());
+ llvm::alignOf<StringLiteral>());
StringLiteral *SL = new (Mem) StringLiteral(Ty);
// OPTIMIZE: could allocate this appended to the StringLiteral.
@@ -452,7 +452,7 @@
StringLiteral *StringLiteral::CreateEmpty(ASTContext &C, unsigned NumStrs) {
void *Mem = C.Allocate(sizeof(StringLiteral)+
sizeof(SourceLocation)*(NumStrs-1),
- llvm::alignof<StringLiteral>());
+ llvm::alignOf<StringLiteral>());
StringLiteral *SL = new (Mem) StringLiteral(QualType());
SL->StrData = 0;
SL->ByteLength = 0;
@@ -714,7 +714,7 @@
if (targs)
Size += ExplicitTemplateArgumentList::sizeFor(*targs);
- void *Mem = C.Allocate(Size, llvm::alignof<MemberExpr>());
+ void *Mem = C.Allocate(Size, llvm::alignOf<MemberExpr>());
MemberExpr *E = new (Mem) MemberExpr(base, isarrow, memberdecl, nameinfo, ty);
if (hasQualOrFound) {
Index: tools/clang/lib/AST/DeclCXX.cpp
===================================================================
--- tools/clang/lib/AST/DeclCXX.cpp (révision 117774)
+++ tools/clang/lib/AST/DeclCXX.cpp (révision 117775)
@@ -1057,7 +1057,7 @@
unsigned NumIndices) {
void *Mem = Context.Allocate(sizeof(CXXBaseOrMemberInitializer) +
sizeof(VarDecl *) * NumIndices,
- llvm::alignof<CXXBaseOrMemberInitializer>());
+ llvm::alignOf<CXXBaseOrMemberInitializer>());
return new (Mem) CXXBaseOrMemberInitializer(Context, Member, MemberLoc,
L, Init, R, Indices, NumIndices);
}
Index: tools/clang/lib/Lex/TokenLexer.cpp
===================================================================
--- tools/clang/lib/Lex/TokenLexer.cpp (révision 117774)
+++ tools/clang/lib/Lex/TokenLexer.cpp (révision 117775)
@@ -287,7 +287,7 @@
llvm::BumpPtrAllocator &Alloc = PP.getPreprocessorAllocator();
Token *Res =
static_cast<Token *>(Alloc.Allocate(sizeof(Token)*ResultToks.size(),
- llvm::alignof<Token>()));
+ llvm::alignOf<Token>()));
if (NumTokens)
memcpy(Res, &ResultToks[0], NumTokens*sizeof(Token));
Tokens = Res;

View File

@ -1,127 +0,0 @@
This code looks as if it is written by Apple, lots of assumptions that
only hold for them and their scenario.
--- tools/clang/lib/Driver/ToolChains.cpp
+++ tools/clang/lib/Driver/ToolChains.cpp
@@ -131,7 +131,7 @@
GCCVersion[2] = 1;
// Set up the tool chain paths to match gcc.
- ToolChainDir = "i686-apple-darwin";
+ ToolChainDir = "@GENTOO_PORTAGE_CHOST@";
ToolChainDir += llvm::utostr(DarwinVersion[0]);
ToolChainDir += "/";
ToolChainDir += llvm::utostr(GCCVersion[0]);
@@ -141,9 +141,9 @@
ToolChainDir += llvm::utostr(GCCVersion[2]);
// Try the next major version if that tool chain dir is invalid.
- std::string Tmp = "/usr/lib/gcc/" + ToolChainDir;
+ std::string Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir;
if (!llvm::sys::Path(Tmp).exists()) {
- std::string Next = "i686-apple-darwin";
+ std::string Next = "@GENTOO_PORTAGE_CHOST_ARCH@";
Next += llvm::utostr(DarwinVersion[0] + 1);
Next += "/";
Next += llvm::utostr(GCCVersion[0]);
@@ -155,7 +155,7 @@
// Use that if it exists, otherwise hope the user isn't linking.
//
// FIXME: Drop dependency on gcc's tool chain.
- Tmp = "/usr/lib/gcc/" + Next;
+ Tmp = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + Next;
if (llvm::sys::Path(Tmp).exists())
ToolChainDir = Next;
}
@@ -168,7 +168,7 @@
Path += "/x86_64";
getFilePaths().push_back(Path);
- Path = "/usr/lib/gcc/";
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
Path += ToolChainDir;
Path += "/x86_64";
getFilePaths().push_back(Path);
@@ -179,7 +179,7 @@
Path += ToolChainDir;
getFilePaths().push_back(Path);
- Path = "/usr/lib/gcc/";
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/";
Path += ToolChainDir;
getFilePaths().push_back(Path);
@@ -188,7 +188,7 @@
Path += ToolChainDir;
getProgramPaths().push_back(Path);
- Path = "/usr/libexec/gcc/";
+ Path = "@GENTOO_PORTAGE_EPREFIX@/usr/libexec/gcc/";
Path += ToolChainDir;
getProgramPaths().push_back(Path);
@@ -291,14 +291,14 @@
// FIXME: Derive these correctly.
if (getArchName() == "x86_64") {
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
"/x86_64"));
// Intentionally duplicated for (temporary) gcc bug compatibility.
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
"/x86_64"));
}
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/" + ToolChainDir));
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/" + ToolChainDir));
Tmp = getDriver().Dir + "/../lib/gcc/" + ToolChainDir;
if (llvm::sys::Path(Tmp).exists())
@@ -306,18 +306,18 @@
Tmp = getDriver().Dir + "/../lib/gcc";
if (llvm::sys::Path(Tmp).exists())
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
// Intentionally duplicated for (temporary) gcc bug compatibility.
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir));
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir));
Tmp = getDriver().Dir + "/../lib/" + ToolChainDir;
if (llvm::sys::Path(Tmp).exists())
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
Tmp = getDriver().Dir + "/../lib";
if (llvm::sys::Path(Tmp).exists())
CmdArgs.push_back(Args.MakeArgString("-L" + Tmp));
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
"/../../../" + ToolChainDir));
- CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc/" + ToolChainDir +
+ CmdArgs.push_back(Args.MakeArgString("-L@GENTOO_PORTAGE_EPREFIX@/usr/lib/gcc/" + ToolChainDir +
"/../../.."));
}
@@ -386,22 +386,7 @@
P.eraseComponent(); // .../usr/bin -> ../usr
P.appendComponent("lib");
P.appendComponent("gcc");
- switch (getTriple().getArch()) {
- default:
- assert(0 && "Invalid Darwin arch!");
- case llvm::Triple::x86:
- case llvm::Triple::x86_64:
- P.appendComponent("i686-apple-darwin10");
- break;
- case llvm::Triple::arm:
- case llvm::Triple::thumb:
- P.appendComponent("arm-apple-darwin10");
- break;
- case llvm::Triple::ppc:
- case llvm::Triple::ppc64:
- P.appendComponent("powerpc-apple-darwin10");
- break;
- }
+ P.appendComponent("@GENTOO_PORTAGE_CHOST@");
P.appendComponent("4.2.1");
// Determine the arch specific GCC subdirectory.

View File

@ -1,16 +0,0 @@
Index: tools/clang/lib/Frontend/InitHeaderSearch.cpp
===================================================================
--- tools/clang/lib/Frontend/InitHeaderSearch.cpp (révision 119347)
+++ tools/clang/lib/Frontend/InitHeaderSearch.cpp (révision 119348)
@@ -745,6 +745,11 @@
"/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4",
"x86_64-pc-linux-gnu", "32", "", triple);
+ // Gentoo amd64 gcc 4.4.4
+ AddGnuCPlusPlusIncludePaths(
+ "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4",
+ "x86_64-pc-linux-gnu", "32", "", triple);
+
// Gentoo amd64 llvm-gcc trunk
AddGnuCPlusPlusIncludePaths(
"/usr/lib/llvm-gcc-4.2-9999/include/c++/4.2.1",