When reverting (even when reverting your own commit), please include in the commit description a reason for the revert.
On Thu, 25 Oct 2018 at 12:52, Eric Fiselier via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: ericwf > Date: Thu Oct 25 12:50:43 2018 > New Revision: 345306 > > URL: http://llvm.org/viewvc/llvm-project?rev=345306&view=rev > Log: > Revert "[SemaCXX] Unconfuse Clang when std::align_val_t is unscoped in > C++03" > > This reverts commit b5d8d0de744d2c212bdb17d5c5fd4447dd14dbd2. > > Removed: > cfe/trunk/test/SemaCXX/cxx03-aligned-allocation-unscoped-enum.cpp > Modified: > cfe/trunk/lib/Sema/SemaExprCXX.cpp > > Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprCXX.cpp?rev=345306&r1=345305&r2=345306&view=diff > > ============================================================================== > --- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original) > +++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Thu Oct 25 12:50:43 2018 > @@ -1515,11 +1515,8 @@ namespace { > if (FD->getNumParams() == NumBaseParams + 2) > HasAlignValT = HasSizeT = true; > else if (FD->getNumParams() == NumBaseParams + 1) { > - QualType ParamTy = FD->getParamDecl(NumBaseParams)->getType(); > - HasAlignValT = ParamTy->isAlignValT(); > - HasSizeT = !HasAlignValT; > - assert((HasAlignValT || ParamTy->isIntegerType()) && > - "Candidate is not regular dealloc function"); > + HasSizeT = > FD->getParamDecl(NumBaseParams)->getType()->isIntegerType(); > + HasAlignValT = !HasSizeT; > } > > // In CUDA, determine how much we'd like / dislike to call this. > > Removed: cfe/trunk/test/SemaCXX/cxx03-aligned-allocation-unscoped-enum.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cxx03-aligned-allocation-unscoped-enum.cpp?rev=345305&view=auto > > ============================================================================== > --- cfe/trunk/test/SemaCXX/cxx03-aligned-allocation-unscoped-enum.cpp > (original) > +++ cfe/trunk/test/SemaCXX/cxx03-aligned-allocation-unscoped-enum.cpp > (removed) > @@ -1,21 +0,0 @@ > -// RUN: %clang_cc1 -std=c++03 -triple x86_64-pc-linux-gnu %s \ > -// RUN: -faligned-allocation -emit-llvm -o - | FileCheck %s > - > -// Ensure Clang doesn't confuse std::align_val_t with the sized > deallocation > -// parameter when the enum type is unscoped. Libc++ does this in C++03 in > order > -// to support aligned allocation in that dialect. > - > -using size_t = __decltype(sizeof(0)); > - > -namespace std { > -enum align_val_t { zero = size_t(0), > - max = size_t(-1) }; > -} > - > -// CHECK-LABEL: define void @_Z1fPi( > -void f(int *p) { > - // CHECK-NOT: call void @_ZdlPvSt11align_val_t( > - // CHECK: call void @_ZdlPv( > - // CHECK: ret void > - delete p; > -} > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits