Author: ericwf Date: Wed Oct 24 16:47:04 2018 New Revision: 345225 URL: http://llvm.org/viewvc/llvm-project?rev=345225&view=rev Log: Revert "[SemaCXX] Unconfuse Clang when std::align_val_t is unscoped in C++03"
This reverts commit 6f47cdd51341344c0e32630e19e72c94cd25f34e. 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=345225&r1=345224&r2=345225&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original) +++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Wed Oct 24 16:47:04 2018 @@ -1515,9 +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 && ParamTy->isIntegerType(); + 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=345224&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 %s -faligned-allocation \ -// RUN: -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