@@ -8167,6 +8167,10 @@ clang::CXXMethodDecl *ClangASTContext::AddMethodToCXXRecordType(
8167
8167
if (is_artificial)
8168
8168
return nullptr ; // skip everything artificial
8169
8169
8170
+ const clang::ExplicitSpecifier explicit_spec (
8171
+ nullptr /* expr*/ , is_explicit
8172
+ ? clang::ExplicitSpecKind::ResolvedTrue
8173
+ : clang::ExplicitSpecKind::ResolvedFalse);
8170
8174
if (name[0 ] == ' ~' ) {
8171
8175
cxx_dtor_decl = clang::CXXDestructorDecl::Create (
8172
8176
*getASTContext (), cxx_record_decl, clang::SourceLocation (),
@@ -8185,7 +8189,7 @@ clang::CXXMethodDecl *ClangASTContext::AddMethodToCXXRecordType(
8185
8189
clang::SourceLocation ()),
8186
8190
method_qual_type,
8187
8191
nullptr , // TypeSourceInfo *
8188
- is_explicit , is_inline, is_artificial, false /* is_constexpr*/ );
8192
+ explicit_spec , is_inline, is_artificial, false /* is_constexpr*/ );
8189
8193
cxx_method_decl = cxx_ctor_decl;
8190
8194
} else {
8191
8195
clang::StorageClass SC = is_static ? clang::SC_Static : clang::SC_None;
@@ -8220,7 +8224,7 @@ clang::CXXMethodDecl *ClangASTContext::AddMethodToCXXRecordType(
8220
8224
clang::SourceLocation ()),
8221
8225
method_qual_type,
8222
8226
nullptr , // TypeSourceInfo *
8223
- is_inline, is_explicit , false /* is_constexpr*/ ,
8227
+ is_inline, explicit_spec , false /* is_constexpr*/ ,
8224
8228
clang::SourceLocation ());
8225
8229
}
8226
8230
}
0 commit comments