Date: Monday, May 9, 2016 @ 20:07:07 Author: foutrelis Revision: 267259
Fix failing test on i686 Modified: llvm/trunk/D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch llvm/trunk/PKGBUILD ---------------------------------------------------------------+ D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch | 20 +++++----- PKGBUILD | 5 +- 2 files changed, 13 insertions(+), 12 deletions(-) Modified: D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch =================================================================== --- D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch 2016-05-09 13:49:45 UTC (rev 267258) +++ D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch 2016-05-09 18:07:07 UTC (rev 267259) @@ -884,7 +884,7 @@ mangleTemplateArgs(DTST->getArgs(), DTST->getNumArgs()); break; } -@@ -2082,7 +2360,9 @@ +@@ -2088,7 +2366,9 @@ case BuiltinType::Id: #include "clang/AST/BuiltinTypes.def" case BuiltinType::Dependent: @@ -895,7 +895,7 @@ case BuiltinType::ObjCId: Out << "11objc_object"; break; -@@ -2614,7 +2894,11 @@ +@@ -2620,7 +2900,11 @@ void CXXNameMangler::mangleType(const TemplateSpecializationType *T) { if (TemplateDecl *TD = T->getTemplateName().getAsTemplateDecl()) { @@ -908,7 +908,7 @@ } else { if (mangleSubstitution(QualType(T, 0))) return; -@@ -2940,12 +3224,14 @@ +@@ -2946,12 +3230,14 @@ case Expr::PseudoObjectExprClass: case Expr::AtomicExprClass: { @@ -929,7 +929,7 @@ break; } -@@ -4088,6 +4374,97 @@ +@@ -4094,6 +4380,97 @@ Substitutions[Ptr] = SeqID++; } @@ -1027,7 +1027,7 @@ // /// Mangles the name of the declaration D and emits that name to the given -@@ -4189,6 +4566,8 @@ +@@ -4195,6 +4572,8 @@ // <special-name> ::= GV <object name> # Guard variable for one-time // # initialization CXXNameMangler Mangler(*this, Out); @@ -1040,7 +1040,7 @@ =================================================================== --- lib/Sema/SemaDeclAttr.cpp +++ lib/Sema/SemaDeclAttr.cpp -@@ -4694,10 +4694,6 @@ +@@ -4700,10 +4700,6 @@ D->addAttr(::new (S.Context) AbiTagAttr(Attr.getRange(), S.Context, Tags.data(), Tags.size(), Attr.getAttributeSpellingListIndex())); @@ -1055,8 +1055,10 @@ =================================================================== --- /dev/null +++ test/CodeGenCXX/mangle-abi-tag.cpp -@@ -0,0 +1,144 @@ +@@ -0,0 +1,146 @@ +// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -std=c++11 -o - | FileCheck %s ++// RUN: %clang_cc1 %s -emit-llvm -triple i686-linux-gnu -std=c++11 -o - | FileCheck %s ++// RUN: %clang_cc1 %s -emit-llvm -triple x86_64-linux-gnu -std=c++11 -o - | FileCheck %s + +struct __attribute__((abi_tag("A", "B"))) A { }; + @@ -1170,13 +1172,13 @@ + class C1 {}; +} +C1 f9() { return C1(); } -+// CHECK: @_Z2f9B6Names1v() ++// CHECK: @_Z2f9B6Names1v( + +inline namespace Names2 __attribute__((__abi_tag__("Tag1", "Tag2"))) { + class C2 {}; +} +C2 f10() { return C2(); } -+// CHECK: @_Z3f10B4Tag1B4Tag2v() ++// CHECK: @_Z3f10B4Tag1B4Tag2v( + +void __attribute__((abi_tag("A"))) f11(A) {} +// f11[abi:A](A[abi:A][abi:B]) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-05-09 13:49:45 UTC (rev 267258) +++ PKGBUILD 2016-05-09 18:07:07 UTC (rev 267259) @@ -40,7 +40,7 @@ 'e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35' 'SKIP' '406754764e83d58bc3b859ab4b7893abd48c760278c4619cf4341ef9b9b75c85' - 'd2ea6d06352d378961a6970cdefb23ef1ba8e4c046c0ace0c479e2dd674aabce' + 'd71f8677882c86accddb8a5b720f298a4d7a2ad3bce6091951a46396b8f14da1' '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') @@ -96,8 +96,7 @@ check() { cd "$srcdir/llvm-$pkgver.src/build" make check - make check-clang || { [[ $CARCH == i686 ]] && warning \ - 'Ignoring clang test failures caused by name mangling differences'; } + make check-clang } package_llvm() {