vcl/source/filter/png/PngImageReader.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit a74a8b460e848b77d0f6d0257421aa4f6c252b04
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Fri Apr 5 16:55:28 2024 +0200
Commit:     Michael Stahl <[email protected]>
CommitDate: Thu Oct 2 16:33:24 2025 +0200

    Silence strange -Wclobbered with recent GCC 14
    
    ...seen at least with some (--enable-dbgutil --enable-otpimized etc.)
    configuration and a recent GCC 14 trunk,
    
    > vcl/source/filter/png/PngImageReader.cxx: In function ‘bool 
{anonymous}::reader(SvStream&, Graphic&, GraphicFilterImportFlags, 
BitmapScopedWriteAccess*, BitmapScopedWriteAccess*)’:
    > vcl/source/filter/png/PngImageReader.cxx:361:16: error: variable 
‘bSupportsBitmap32’ might be clobbered by ‘longjmp’ or ‘vfork’ 
[-Werror=clobbered]
    >   361 |     const bool bSupportsBitmap32 = bFuzzing || 
ImplGetSVData()->mpDefInst->supportsBitmap32();
    >       |                ^~~~~~~~~~~~~~~~~
    
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165823
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <[email protected]>
    (cherry picked from commit 2bcd9fe0fa10339294e6ab820498fa18334e02f3)
    (cherry picked from commit 344adf0e44ea876e5e3222a05f57898cc0682eac)
    
    Extend silence strange -Wclobbered with GCC <= 14
    
    See 2bcd9fe0fa10339294e6ab820498fa18334e02f3
    Silence strange -Wclobbered with recent GCC 14
    
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166994
    Reviewed-by: Stephan Bergmann <[email protected]>
    Tested-by: Julien Nabet <[email protected]>
    (cherry picked from commit e783a1c09093f3dbaf778661b77a2d5872a2029d)
    (cherry picked from commit 8f6c1722284b38483cca3bbdeabc5e35edfc1c5e)
    
    The -Wclobbered still hits with GCC 15
    
    ...(same as documented at 2bcd9fe0fa10339294e6ab820498fa18334e02f3 "Silence
    strange -Wclobbered with recent GCC 14"), at least with
    gcc-c++-15.2.1-1.fc43.2.x86_64 (but is no longer relevant on master after
    6f92f2cb118cc97e57c57e02bef491ecf39b1f4a "ofz#435489660 Direct-leak from
    vcl::PngImageReader::read")
    
    Change-Id: I2dcc7a51042e7966e5fc7f4b02e49a7fee27fc92
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191688
    Reviewed-by: Stephan Bergmann <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    (cherry picked from commit 35fb38a7dc4762c3e238c74b3c91bdf3efa5a4bb)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191782
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/vcl/source/filter/png/PngImageReader.cxx 
b/vcl/source/filter/png/PngImageReader.cxx
index d6a5a219c5e2..b4f5dfce904e 100644
--- a/vcl/source/filter/png/PngImageReader.cxx
+++ b/vcl/source/filter/png/PngImageReader.cxx
@@ -322,6 +322,10 @@ bool fcTLbeforeIDAT(SvStream& rStream)
     return false;
 }
 
+#if defined __GNUC__ && __GNUC__ <= 15 && !defined __clang__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wclobbered"
+#endif
 bool reader(SvStream& rStream, Graphic& rGraphic,
             GraphicFilterImportFlags nImportFlags = 
GraphicFilterImportFlags::NONE,
             BitmapScopedWriteAccess* pAccess = nullptr,
@@ -817,6 +821,9 @@ BinaryDataContainer getMsGifChunk(SvStream& rStream)
             return {};
     }
 }
+#if defined __GNUC__ && __GNUC__ <= 15 && !defined __clang__
+#pragma GCC diagnostic pop
+#endif
 
 } // anonymous namespace
 

Reply via email to