bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 28e542dc61d408f5807e8c94ed48c273146edbda
Author:     Stephan Bergmann <stephan.bergm...@allotropia.de>
AuthorDate: Wed Apr 23 13:17:21 2025 +0200
Commit:     Stephan Bergmann <stephan.bergm...@allotropia.de>
CommitDate: Wed Apr 23 15:22:09 2025 +0200

    Avoid loplugin:redundantcast on macOS with recent LLVM 21 trunk
    
    ...including
    
<https://github.com/llvm/llvm-project/commit/b6b025797245a5e5416b522df041252e3c4ff868>
    "Fix the signature for __builtin___clear_cache (#134376)", which now caused
    
    > bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx:601:9: error: 
redundant reinterpret_cast, result is implicitly cast to void pointer 
[loplugin:redundantcast]
    >   601 |         reinterpret_cast<char *>(const_cast<unsigned char 
*>(begin)),
    >       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx:602:9: error: 
redundant reinterpret_cast, result is implicitly cast to void pointer 
[loplugin:redundantcast]
    >   602 |         reinterpret_cast<char *>(const_cast<unsigned char 
*>(end)));
    >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Change-Id: I38e230af517a71016a7afaea4b72ffc91b00ef3d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184499
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de>

diff --git a/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx 
b/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
index 669c4443c5f0..ab58d93f5fd8 100644
--- a/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
@@ -588,7 +588,7 @@ void bridges::cpp_uno::shared::VtableFactory::flushCode(
        = (void (*)(unsigned char const *, unsigned char const *)) dlsym(
            RTLD_DEFAULT, "__clear_cache");
    (*clear_cache)(begin, end);
-#else
+#elif defined __clang_major__ && __clang_major__ < 21
     // GCC clarified with
     // 
<http://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a90b0cdd444f6dde1084a439862cf507f6d3b2ae>
     // "extend.texi (__clear_cache): Correct signature" that 
__builtin___clear_cache takes void*
@@ -600,6 +600,8 @@ void bridges::cpp_uno::shared::VtableFactory::flushCode(
     __builtin___clear_cache(
         reinterpret_cast<char *>(const_cast<unsigned char *>(begin)),
         reinterpret_cast<char *>(const_cast<unsigned char *>(end)));
+#else
+    __builtin___clear_cache(const_cast<unsigned char *>(begin), 
const_cast<unsigned char *>(end));
 #endif
 }
 

Reply via email to