-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Revert "[clang] Enable sized deallocation by default in C++14 onwards (#83774)" #90299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert "[clang] Enable sized deallocation by default in C++14 onwards (#83774)" #90299
Conversation
Created using spr 1.3.4
@llvm/pr-subscribers-clang-tidy @llvm/pr-subscribers-libcxx Author: Vitaly Buka (vitalybuka) Changeshttps://lab.llvm.org/buildbot/#/builders/168/builds/20063 This reverts commit cf5a8b4. Patch is 59.07 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/90299.diff 42 Files Affected:
diff --git a/clang-tools-extra/clangd/unittests/FindTargetTests.cpp b/clang-tools-extra/clangd/unittests/FindTargetTests.cpp
index 88aae2729904f4..799a549ff0816e 100644
--- a/clang-tools-extra/clangd/unittests/FindTargetTests.cpp
+++ b/clang-tools-extra/clangd/unittests/FindTargetTests.cpp
@@ -839,9 +839,7 @@ TEST_F(TargetDeclTest, OverloadExpr) {
[[delete]] x;
}
)cpp";
- // Sized deallocation is enabled by default in C++14 onwards.
- EXPECT_DECLS("CXXDeleteExpr",
- "void operator delete(void *, unsigned long) noexcept");
+ EXPECT_DECLS("CXXDeleteExpr", "void operator delete(void *) noexcept");
}
TEST_F(TargetDeclTest, DependentExprs) {
diff --git a/clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp b/clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
index f86fe8a4c5b14f..78f021144b2e19 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
@@ -12,6 +12,16 @@ struct S {
// CHECK-MESSAGES: :[[@LINE+1]]:7: warning: declaration of 'operator new' has no matching declaration of 'operator delete' at the same scope
void *operator new(size_t size) noexcept(false);
+struct T {
+ // Sized deallocations are not enabled by default, and so this new/delete pair
+ // does not match. However, we expect only one warning, for the new, because
+ // the operator delete is a placement delete and we do not warn on mismatching
+ // placement operations.
+ // CHECK-MESSAGES: :[[@LINE+1]]:9: warning: declaration of 'operator new' has no matching declaration of 'operator delete' at the same scope
+ void *operator new(size_t size) noexcept;
+ void operator delete(void *ptr, size_t) noexcept; // ok only if sized deallocation is enabled
+};
+
struct U {
void *operator new(size_t size) noexcept;
void operator delete(void *ptr) noexcept;
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 5d4d152b2eb540..a1390d6536b28c 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -90,11 +90,6 @@ C++ Language Changes
--------------------
- Implemented ``_BitInt`` literal suffixes ``__wb`` or ``__WB`` as a Clang extension with ``unsigned`` modifiers also allowed. (#GH85223).
-C++14 Feature Support
-^^^^^^^^^^^^^^^^^^^^^
-- Sized deallocation is enabled by default in C++14 onwards. The user may specify
- ``-fno-sized-deallocation`` to disable it if there are some regressions.
-
C++17 Feature Support
^^^^^^^^^^^^^^^^^^^^^
- Clang now exposes ``__GCC_DESTRUCTIVE_SIZE`` and ``__GCC_CONSTRUCTIVE_SIZE``
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 41f713a47c2e6c..086aedefc11878 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -603,7 +603,6 @@ class MarshallingInfoVisibility<KeyPathAndMacro kpm, code default>
// Key paths that are constant during parsing of options with the same key path prefix.
defvar cplusplus = LangOpts<"CPlusPlus">;
defvar cpp11 = LangOpts<"CPlusPlus11">;
-defvar cpp14 = LangOpts<"CPlusPlus14">;
defvar cpp17 = LangOpts<"CPlusPlus17">;
defvar cpp20 = LangOpts<"CPlusPlus20">;
defvar c99 = LangOpts<"C99">;
@@ -3371,9 +3370,10 @@ defm relaxed_template_template_args : BoolFOption<"relaxed-template-template-arg
"Enable C++17 relaxed template template argument matching">,
NegFlag<SetFalse>>;
defm sized_deallocation : BoolFOption<"sized-deallocation",
- LangOpts<"SizedDeallocation">, Default<cpp14.KeyPath>,
- PosFlag<SetTrue, [], [], "Enable C++14 sized global deallocation functions">,
- NegFlag<SetFalse>, BothFlags<[], [ClangOption, CC1Option]>>;
+ LangOpts<"SizedDeallocation">, DefaultFalse,
+ PosFlag<SetTrue, [], [ClangOption, CC1Option],
+ "Enable C++14 sized global deallocation functions">,
+ NegFlag<SetFalse>>;
defm aligned_allocation : BoolFOption<"aligned-allocation",
LangOpts<"AlignedAllocation">, Default<cpp17.KeyPath>,
PosFlag<SetTrue, [], [ClangOption], "Enable C++17 aligned allocation functions">,
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index f4fe7422cba630..651a2b5aac368b 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -7262,15 +7262,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.addOptInFlag(CmdArgs, options::OPT_frelaxed_template_template_args,
options::OPT_fno_relaxed_template_template_args);
- // -fsized-deallocation is on by default in C++14 onwards and otherwise off
- // by default.
- if (Arg *A = Args.getLastArg(options::OPT_fsized_deallocation,
- options::OPT_fno_sized_deallocation)) {
- if (A->getOption().matches(options::OPT_fno_sized_deallocation))
- CmdArgs.push_back("-fno-sized-deallocation");
- else
- CmdArgs.push_back("-fsized-deallocation");
- }
+ // -fsized-deallocation is off by default, as it is an ABI-breaking change for
+ // most platforms.
+ Args.addOptInFlag(CmdArgs, options::OPT_fsized_deallocation,
+ options::OPT_fno_sized_deallocation);
// -faligned-allocation is on by default in C++17 onwards and otherwise off
// by default.
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index 593b403a1e3f05..caf6c4a444fdce 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -2912,54 +2912,9 @@ static bool sdkSupportsBuiltinModules(const Darwin::DarwinPlatformKind &TargetPl
}
}
-static inline llvm::VersionTuple
-sizedDeallocMinVersion(llvm::Triple::OSType OS) {
- switch (OS) {
- default:
- break;
- case llvm::Triple::Darwin:
- case llvm::Triple::MacOSX: // Earliest supporting version is 10.12.
- return llvm::VersionTuple(10U, 12U);
- case llvm::Triple::IOS:
- case llvm::Triple::TvOS: // Earliest supporting version is 10.0.0.
- return llvm::VersionTuple(10U);
- case llvm::Triple::WatchOS: // Earliest supporting version is 3.0.0.
- return llvm::VersionTuple(3U);
- }
-
- llvm_unreachable("Unexpected OS");
-}
-
-bool Darwin::isSizedDeallocationUnavailable() const {
- llvm::Triple::OSType OS;
-
- if (isTargetMacCatalyst())
- return TargetVersion < sizedDeallocMinVersion(llvm::Triple::MacOSX);
- switch (TargetPlatform) {
- case MacOS: // Earlier than 10.12.
- OS = llvm::Triple::MacOSX;
- break;
- case IPhoneOS:
- OS = llvm::Triple::IOS;
- break;
- case TvOS: // Earlier than 10.0.
- OS = llvm::Triple::TvOS;
- break;
- case WatchOS: // Earlier than 3.0.
- OS = llvm::Triple::WatchOS;
- break;
- case DriverKit:
- case XROS:
- // Always available.
- return false;
- }
-
- return TargetVersion < sizedDeallocMinVersion(OS);
-}
-
-void Darwin::addClangTargetOptions(
- const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
- Action::OffloadKind DeviceOffloadKind) const {
+void Darwin::addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
+ llvm::opt::ArgStringList &CC1Args,
+ Action::OffloadKind DeviceOffloadKind) const {
// Pass "-faligned-alloc-unavailable" only when the user hasn't manually
// enabled or disabled aligned allocations.
if (!DriverArgs.hasArgNoClaim(options::OPT_faligned_allocation,
@@ -2967,13 +2922,6 @@ void Darwin::addClangTargetOptions(
isAlignedAllocationUnavailable())
CC1Args.push_back("-faligned-alloc-unavailable");
- // Pass "-fno-sized-deallocation" only when the user hasn't manually enabled
- // or disabled sized deallocations.
- if (!DriverArgs.hasArgNoClaim(options::OPT_fsized_deallocation,
- options::OPT_fno_sized_deallocation) &&
- isSizedDeallocationUnavailable())
- CC1Args.push_back("-fno-sized-deallocation");
-
addClangCC1ASTargetOptions(DriverArgs, CC1Args);
// Enable compatibility mode for NSItemProviderCompletionHandler in
diff --git a/clang/lib/Driver/ToolChains/Darwin.h b/clang/lib/Driver/ToolChains/Darwin.h
index b45279ecedeb25..10d4b69e5d5f10 100644
--- a/clang/lib/Driver/ToolChains/Darwin.h
+++ b/clang/lib/Driver/ToolChains/Darwin.h
@@ -511,10 +511,6 @@ class LLVM_LIBRARY_VISIBILITY Darwin : public MachO {
/// targeting.
bool isAlignedAllocationUnavailable() const;
- /// Return true if c++14 sized deallocation functions are not implemented in
- /// the c++ standard library of the deployment target we are targeting.
- bool isSizedDeallocationUnavailable() const;
-
void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args,
Action::OffloadKind DeviceOffloadKind) const override;
diff --git a/clang/lib/Driver/ToolChains/ZOS.cpp b/clang/lib/Driver/ToolChains/ZOS.cpp
index 074e0556ecd2ad..d5fc7b8ef562a6 100644
--- a/clang/lib/Driver/ToolChains/ZOS.cpp
+++ b/clang/lib/Driver/ToolChains/ZOS.cpp
@@ -36,12 +36,6 @@ void ZOS::addClangTargetOptions(const ArgList &DriverArgs,
if (!DriverArgs.hasArgNoClaim(options::OPT_faligned_allocation,
options::OPT_fno_aligned_allocation))
CC1Args.push_back("-faligned-alloc-unavailable");
-
- // Pass "-fno-sized-deallocation" only when the user hasn't manually enabled
- // or disabled sized deallocations.
- if (!DriverArgs.hasArgNoClaim(options::OPT_fsized_deallocation,
- options::OPT_fno_sized_deallocation))
- CC1Args.push_back("-fno-sized-deallocation");
}
void zos::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
diff --git a/clang/test/AST/ast-dump-expr-json.cpp b/clang/test/AST/ast-dump-expr-json.cpp
index bdd5ea19e41835..0fb07b0b434cc3 100644
--- a/clang/test/AST/ast-dump-expr-json.cpp
+++ b/clang/test/AST/ast-dump-expr-json.cpp
@@ -2333,7 +2333,7 @@ void TestNonADLCall3() {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
+// CHECK-NEXT: "qualType": "void (void *) noexcept"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
diff --git a/clang/test/AST/ast-dump-expr.cpp b/clang/test/AST/ast-dump-expr.cpp
index de88f29bc4b0a9..69e65e22d61d0d 100644
--- a/clang/test/AST/ast-dump-expr.cpp
+++ b/clang/test/AST/ast-dump-expr.cpp
@@ -164,7 +164,7 @@ void UnaryExpressions(int *p) {
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:8> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'
::delete p;
- // CHECK: CXXDeleteExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'void' global Function 0x{{[^ ]*}} 'operator delete' 'void (void *, unsigned long) noexcept'
+ // CHECK: CXXDeleteExpr 0x{{[^ ]*}} <line:[[@LINE-1]]:3, col:12> 'void' global Function 0x{{[^ ]*}} 'operator delete' 'void (void *) noexcept'
// CHECK-NEXT: ImplicitCastExpr
// CHECK-NEXT: DeclRefExpr 0x{{[^ ]*}} <col:12> 'int *' lvalue ParmVar 0x{{[^ ]*}} 'p' 'int *'
diff --git a/clang/test/AST/ast-dump-stmt-json.cpp b/clang/test/AST/ast-dump-stmt-json.cpp
index a473d17da94244..667a12a0120244 100644
--- a/clang/test/AST/ast-dump-stmt-json.cpp
+++ b/clang/test/AST/ast-dump-stmt-json.cpp
@@ -994,7 +994,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
+// CHECK-NEXT: "qualType": "void (void *) noexcept"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
@@ -1369,7 +1369,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "kind": "FunctionDecl",
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
+// CHECK-NEXT: "qualType": "void (void *) noexcept"
// CHECK-NEXT: }
// CHECK-NEXT: },
// CHECK-NEXT: "inner": [
@@ -1722,6 +1722,7 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: "end": {}
// CHECK-NEXT: },
// CHECK-NEXT: "isImplicit": true,
+// CHECK-NEXT: "isUsed": true,
// CHECK-NEXT: "name": "operator delete",
// CHECK-NEXT: "mangledName": "_ZdlPv",
// CHECK-NEXT: "type": {
@@ -1809,126 +1810,6 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: }
-// CHECK-NOT: {{^}}Dumping
-// CHECK: "kind": "FunctionDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "isUsed": true,
-// CHECK-NEXT: "name": "operator delete",
-// CHECK-NEXT: "mangledName": "_ZdlPvm",
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
-// CHECK-NEXT: },
-// CHECK-NEXT: "inner": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void *"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "unsigned long"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "VisibilityAttr",
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "implicit": true,
-// CHECK-NEXT: "visibility": "default"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: }
-
-// CHECK-NOT: {{^}}Dumping
-// CHECK: "kind": "FunctionDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "operator delete",
-// CHECK-NEXT: "mangledName": "_ZdlPvmSt11align_val_t",
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long, std::align_val_t) noexcept"
-// CHECK-NEXT: },
-// CHECK-NEXT: "inner": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void *"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "unsigned long"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "std::align_val_t"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "VisibilityAttr",
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "implicit": true,
-// CHECK-NEXT: "visibility": "default"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: }
-
// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
@@ -2025,125 +1906,6 @@ void TestDependentGenericSelectionExpr(Ty T) {
// CHECK-NEXT: }
-// CHECK-NOT: {{^}}Dumping
-// CHECK: "kind": "FunctionDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "operator delete[]",
-// CHECK-NEXT: "mangledName": "_ZdaPvm",
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long) noexcept"
-// CHECK-NEXT: },
-// CHECK-NEXT: "inner": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void *"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "unsigned long"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "VisibilityAttr",
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "implicit": true,
-// CHECK-NEXT: "visibility": "default"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: }
-
-// CHECK-NOT: {{^}}Dumping
-// CHECK: "kind": "FunctionDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "name": "operator delete[]",
-// CHECK-NEXT: "mangledName": "_ZdaPvmSt11align_val_t",
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void (void *, unsigned long, std::align_val_t) noexcept"
-// CHECK-NEXT: },
-// CHECK-NEXT: "inner": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "void *"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "unsigned long"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "ParmVarDecl",
-// CHECK-NEXT: "loc": {},
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "isImplicit": true,
-// CHECK-NEXT: "type": {
-// CHECK-NEXT: "qualType": "std::align_val_t"
-// CHECK-NEXT: }
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "id": "0x{{.*}}",
-// CHECK-NEXT: "kind": "VisibilityAttr",
-// CHECK-NEXT: "range": {
-// CHECK-NEXT: "begin": {},
-// CHECK-NEXT: "end": {}
-// CHECK-NEXT: },
-// CHECK-NEXT: "implicit": true,
-// CHECK-NEXT: "visibility": "default"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: }
-
// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
diff --git a/clang/test/Analysis/cxxnewexpr-callback.cpp b/clang/test/Analysis/cxxnewexpr-callback.cpp
index 7df58cfa9c...
[truncated]
|
You can test this locally with the following command:git-clang-format --diff 3ec858bc5d45ee22ca99febd38e1ba188f71022c b4c0a3f4835a686a15a3ed90a4058f353f844f26 -- clang-tools-extra/clangd/unittests/FindTargetTests.cpp clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/Darwin.cpp clang/lib/Driver/ToolChains/Darwin.h clang/lib/Driver/ToolChains/ZOS.cpp clang/test/AST/ast-dump-expr-json.cpp clang/test/AST/ast-dump-expr.cpp clang/test/AST/ast-dump-stmt-json.cpp clang/test/Analysis/cxxnewexpr-callback.cpp clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp clang/test/CXX/drs/cwg292.cpp clang/test/CXX/expr/expr.unary/expr.new/p14.cpp clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp clang/test/CodeGenCXX/delete-two-arg.cpp clang/test/CodeGenCXX/delete.cpp clang/test/CodeGenCXX/dllimport.cpp clang/test/CodeGenCXX/new.cpp clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp clang/test/CodeGenCoroutines/coro-alloc.cpp clang/test/CodeGenCoroutines/coro-cleanup.cpp clang/test/CodeGenCoroutines/coro-dealloc.cpp clang/test/CodeGenCoroutines/coro-gro.cpp clang/test/CodeGenCoroutines/pr56919.cpp clang/test/Lexer/cxx-features.cpp clang/test/PCH/cxx1z-aligned-alloc.cpp clang/test/SemaCXX/MicrosoftExtensions.cpp clang/test/SemaCXX/builtin-operator-new-delete.cpp clang/test/SemaCXX/cxx1y-sized-deallocation.cpp clang/test/SemaCXX/unavailable_aligned_allocation.cpp clang/unittests/StaticAnalyzer/CallEventTest.cpp libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp View the diff from clang-format here.diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index caf6c4a444..b51fe5df53 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -2912,9 +2912,9 @@ static bool sdkSupportsBuiltinModules(const Darwin::DarwinPlatformKind &TargetPl
}
}
-void Darwin::addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
- llvm::opt::ArgStringList &CC1Args,
- Action::OffloadKind DeviceOffloadKind) const {
+void Darwin::addClangTargetOptions(
+ const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
+ Action::OffloadKind DeviceOffloadKind) const {
// Pass "-faligned-alloc-unavailable" only when the user hasn't manually
// enabled or disabled aligned allocations.
if (!DriverArgs.hasArgNoClaim(options::OPT_faligned_allocation,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, hopefully this revert should fix the Windows problems we are seeing.
https://lab.llvm.org/buildbot/#/builders/168/builds/20063 (should be fixed with #90292)
More details in #83774
This reverts commit cf5a8b4.