1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:27:35 +00:00

Meta: Update LibJSGCVerifier to build with llvm 16.0.6

Changes to fix LibJSGCVerifier build with llvm version used in
BuildClang.sh
This commit is contained in:
Aliaksandr Kalenik 2023-09-17 00:05:23 +02:00 committed by Andrew Kaster
parent 65eb0f32ad
commit da2c18d1f9

View file

@ -90,8 +90,8 @@ std::vector<clang::QualType> get_all_qualified_types(clang::QualType const& type
if (specialization_name == "JS::GCPtr" || specialization_name == "JS::NonnullGCPtr") {
qualified_types.push_back(type);
} else {
for (size_t i = 0; i < template_specialization->getNumArgs(); i++) {
auto const& template_arg = template_specialization->getArg(i);
for (size_t i = 0; i < template_specialization->template_arguments().size(); i++) {
auto const& template_arg = template_specialization->template_arguments()[i];
if (template_arg.getKind() == clang::TemplateArgument::Type) {
auto template_qualified_types = get_all_qualified_types(template_arg.getAsType());
std::move(template_qualified_types.begin(), template_qualified_types.end(), std::back_inserter(qualified_types));
@ -143,10 +143,10 @@ FieldValidationResult validate_field(clang::FieldDecl const* field_decl)
if (template_type_name != "GCPtr" && template_type_name != "NonnullGCPtr")
return result;
if (specialization->getNumArgs() != 1)
if (specialization->template_arguments().size() != 1)
return result; // Not really valid, but will produce a compilation error anyway
auto const& type_arg = specialization->getArg(0);
auto const& type_arg = specialization->template_arguments()[0];
auto const* record_type = type_arg.getAsType()->getAs<clang::RecordType>();
if (!record_type)
return result;