https://github.com/FantasqueX created https://github.com/llvm/llvm-project/pull/76719
Currently, if `CLANG_HAVE_LIBXML` is defined, and the version of libxml2 is above 2.12.0, there will be two warnings when building clang. warning: initializing 'xmlErrorPtr' (aka 'struct _xmlError *') with an expression of type 'const xmlError *' (aka 'const struct _xmlError *') discards qualifiers Since this commit https://gitlab.gnome.org/GNOME/libxml2/-/commit/45470611b047db78106dcb2fdbd4164163c15ab7, libxml2 makes cmlGetLastError return a const error. This patch follows libxml2. Making the result a const pointer should be compatible with versions before 2.12.0. Tested on ArchLinux with libxml2 2.12.3 installed. >From 603f9c000f4bdecb20449b22c55d6c2eda88f134 Mon Sep 17 00:00:00 2001 From: Letu Ren <fantasq...@gmail.com> Date: Tue, 2 Jan 2024 21:50:45 +0800 Subject: [PATCH] [Clang] Use const pointer to eliminate warning with libxml 2.12.0 Currently, if `CLANG_HAVE_LIBXML` is defined, and the version of libxml2 is above 2.12.0, there will be two warnings when building clang. warning: initializing 'xmlErrorPtr' (aka 'struct _xmlError *') with an expression of type 'const xmlError *' (aka 'const struct _xmlError *') discards qualifiers Since this commit https://gitlab.gnome.org/GNOME/libxml2/-/commit/45470611b047db78106dcb2fdbd4164163c15ab7, libxml2 makes cmlGetLastError return a const error. This patch follows libxml2. Making the result a const pointer should be compatible with versions before 2.12.0. Tested on ArchLinux with libxml2 2.12.3 installed. --- clang/tools/c-index-test/c-index-test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c index 6fa400a0675b7a..a79da8eac30972 100644 --- a/clang/tools/c-index-test/c-index-test.c +++ b/clang/tools/c-index-test/c-index-test.c @@ -695,7 +695,7 @@ static void ValidateCommentXML(const char *Str, const char *CommentSchemaFile) { Doc = xmlParseDoc((const xmlChar *) Str); if (!Doc) { - xmlErrorPtr Error = xmlGetLastError(); + const xmlError *Error = xmlGetLastError(); printf(" CommentXMLInvalid [not well-formed XML: %s]", Error->message); return; } @@ -705,7 +705,7 @@ static void ValidateCommentXML(const char *Str, const char *CommentSchemaFile) { if (!status) printf(" CommentXMLValid"); else if (status > 0) { - xmlErrorPtr Error = xmlGetLastError(); + const xmlError *Error = xmlGetLastError(); printf(" CommentXMLInvalid [not valid XML: %s]", Error->message); } else printf(" libXMLError"); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits