Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index



On 21.04.2012 23:30, Caolán McNamara wrote:
On Sat, 2012-04-21 at 15:50 +0200, David Ostrovsky wrote:
Hi,

I'm getting build errors in crashrep and extensions modules (whith
enabled --enable-werror option).
With these patches the warnings/errors are fixed.
Looks good, pushed, thanks for these.

I wonder why *I* didn't see them before though seeing as I build with
-Werror. crashrep is disabled by default, so that's understandable, but
the scanner stuff in extensions is built by default and I've got...

export CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
--param=ssp-buffer-size=4"
export CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
--param=ssp-buffer-size=4"
export ARCH_FLAGS="-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector
--param=ssp-buffer-size=4"

in my (Fedora 16) environment to generally get those extra warnings (I
thought). I knew that e.g. Ubuntu configured gcc to add some extra
warnings etc by default, but I had thought the above covered those
additions. Wonder what I'm missing to get your warnings ?, i.e. what's
your compiler version and distro ?
make -p extensions | grep T_CXXFLAGS
[...]
T_CXXFLAGS := -Wall -Wendif-labels -Wextra -fmessage-length=0 -fno-common -pipe -fPIC -Wshadow -Wsign-promo -Woverloaded-virtual -Wnon-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++0x

make -p extensions | grep gb_CXXFLAGS_WERROR
[...]
gb_CXXFLAGS_WERROR := -Werror -DLIBO_WERROR
$(call gb_Helper_abbreviate_dirs, mkdir -p $(dir $(1)) $(dir $(4)) && $(gb_CXX) $(DEFS) $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) $(T_CXXFLAGS) $(if $(WARNINGS_NOT_ERRORS),,$(gb_CXXFLAGS_WERROR)) -c $(3) -o $(1) -MMD -MT $(1) -MP -MF $(4) -I$(dir $(3)) $(INCLUDE_STL) $(INCLUDE))


errors without the patch are:

/home/david/projects/libreoffice-core/git/libo/extensions/source/scanner/sane.cxx: In member function 'sal_Bool Sane::Start(BitmapTransporter&)': /home/david/projects/libreoffice-core/git/libo/extensions/source/scanner/sane.cxx:817:72: error: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result] /home/david/projects/libreoffice-core/git/libo/extensions/source/scanner/sane.cxx: In function 'sal_uInt8 _ReadValue(FILE*, int)': /home/david/projects/libreoffice-core/git/libo/extensions/source/scanner/sane.cxx:527:34: error: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result] /home/david/projects/libreoffice-core/git/libo/extensions/source/scanner/sane.cxx:531:30: error: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
cc1plus: all warnings being treated as errors

/home/david/projects/libreoffice-core/git/libo/extensions/source/nsplugin/source/npshell.cxx: In function 'void NPP_StreamAsFile(NPP, NPStream*, const char*)': /home/david/projects/libreoffice-core/git/libo/extensions/source/nsplugin/source/npshell.cxx:775:38: error: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result [-Werror=unused-result]
cc1plus: all warnings being treated as errors


the full command is:

[ build CXX ] extensions/source/scanner/sane.cxx
S=/home/david/projects/libreoffice-core/git/libo && O=$S/solver/unxlngx6.pro && W=$S/workdir/unxlngx6.pro && mkdir -p $W/CxxObject/extensions/source/scanner/ $W/Dep/CxxObject/extensions/source/scanner/ && /usr/bin/ccache g++ -DCPPU_ENV=gcc3 -DENABLE_GRAPHITE -DENABLE_GTK -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6 -DHAVE_GCC_VISIBILITY_FEATURE -DHAVE_THREADSAFE_STATICS -DLINUX -DNDEBUG -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DSOLAR_JAVA -DSUPD=360 -DUNIX -DUNX -DX86_64 -D_PTHREADS -D_REENTRANT -Wall -Wendif-labels -Wextra -fmessage-length=0 -fno-common -pipe -fPIC -Wshadow -Wsign-promo -Woverloaded-virtual -Wnon-virtual-dtor -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++0x -DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs -O2 -Werror -DLIBO_WERROR -c $S/extensions/source/scanner/sane.cxx -o $W/CxxObject/extensions/source/scanner/sane.o -MMD -MT $W/CxxObject/extensions/source/scanner/sane.o -MP -MF $W/Dep/CxxObject/extensions/source/scanner/sane.d -I$S/extensions/source/scanner/ -I$O/inc/external -I$O/inc -I$S/solenv/inc -I/usr/lib/jvm/java-6-sun-1.6.0.26/include -I/usr/lib/jvm/java-6-sun-1.6.0.26/include/linux -I/usr/lib/jvm/java-6-sun-1.6.0.26/include/native_threads/include -I$W/UnoApiHeadersTarget/udkapi/normal -I$W/UnoApiHeadersTarget/offapi/normal


OS: Ubuntu oneiric, 11.10,
Compiler: gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1

For the second patch I added a follow up commit of
e37ae322b07a02714b22cb663e1d7ab4f2072730 to fill in the "todos". e.g. I
reckon it's best to compare how many bytes/members were written/read
with write/read fread/fwrite vs what was requested to detect partial
failure short read/write as well as the added detection of out and out
utter failure.



Ciao
David

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.