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


On 29/07/14 01:39, V wrote:
This week I refactored IDocumentFieldsAccess and 
IDocumentLineNumberAccess. To have something more in here for a change, 
a few weeks ago I started using Clang instead of gcc and I like it much 
better. I remember the time where I got an error message longer than my 
terminal's scroll buffer because I forgot a closing "}" with gcc ;) .

yep clang's diagnostics are nice... though i hear that gcc 4.9 has
similar colourful error messages as clang, and that feature is
backported to Fedora's gcc 4.8 package too.

https://gcc.gnu.org/wiki/Better_Diagnostics

The only thing bugging me is that the extern-and-not-defined plugin is 
not really werror compatible because it seems to warn in a lot of 
places. To disable it I moved into a "disabled" folder and told git to 
ignore it so I dont commit that changed, but it seems to reappear 
everytime I pull.

interesting ... i've had the same problem with 2 of the clang plugins;
at least with the clang packages on Fedora 20, they report warnings in
_header_ files despite the plugins having a check that the offending
statement "isInMainFile()" - perhaps it's some clang bug that does not
occur with the clang versions the authors of the plugins used?  well
there is macro expansion involved in the problems i saw, argh...

attached is the hack that i use to disable them :)

After some googling I found a 
good way to do this faster while still looking at every line I change: 
grep "FROM" -rl --include="*.cxx" sw/ | parallel -j1 --tty vim -c 
'"%s/FROM/TO/gc"' -c '"wq"' {}
This uses gnu parallel and  launches vim for every occurences which 
shows me the surrounding code and asks for confirmation for every replace.

yep that looks like a nice way to do that :)

diff --git a/compilerplugins/Makefile-clang.mk b/compilerplugins/Makefile-clang.mk
index bed75ce..b2d30a0 100644
--- a/compilerplugins/Makefile-clang.mk
+++ b/compilerplugins/Makefile-clang.mk
@@ -41,7 +41,7 @@ endif
 compilerplugins: compilerplugins-build
 
 # The list of source files, generated automatically (all files in clang/, but not subdirs).
-CLANGSRC=$(foreach src,$(wildcard $(CLANGINDIR)/*.cxx), $(notdir $(src)))
+CLANGSRC=$(filter-out unreffun.cxx externandnotdefined.cxx,$(foreach src,$(wildcard 
$(CLANGINDIR)/*.cxx), $(notdir $(src))))
 # Remember the sources and if they have changed, force plugin relinking.
 CLANGSRCCHANGED= \
     $(shell mkdir -p $(CLANGOUTDIR) ; \

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.