I need a problem to work on. Would you like me to take a particular
compiler warning and try to sort it out?
On 9/1/2016 3:29 PM, Don Lewis wrote:
On 29 Aug, Don Lewis wrote:
When building OpenOffice trunk revsion r1758161 as a FreeBSD port on
FreeBSD 12.0-CURRENT with clang 3.8.0, I get the following warnings.
I'm mostly interested in the OpenOffice code and not the bundled
external code, so I specifically built the FreeBSD port it uses
--with-system-foo extensively which minimizes the compilation of third
party code. The total number of warnings is 5105.
1175 -Wtautological-undefined-compare
949 -Wunused-private-field
660 -Wshift-negative-value
391 -Wunused-parameter
362 -Wunused-const-variable
312 -Woverloaded-virtual
177 -Wunused-variable
116 -Winfinite-recursion
109 -Wlogical-op-parentheses
93 -Wsign-compare
76 -Wdelete-non-virtual-dtor
72 -Wint-to-void-pointer-cast
63 -Wshadow
55 -Wunused-function
41 -Wformat
36 -Wreturn-type-c-linkage
30 -Wchar-subscripts
27 -Wdeprecated-declarations
26 -Wundefined-bool-conversion
26 -Wsizeof-pointer-memaccess
26 -Wformat-security
24 -Wunused-local-typedef
22 -Wmacro-redefined
21 -Wswitch
20 -Wbitwise-op-parentheses
18 -Winvalid-source-encoding
13 -Wuninitialized
11 -Wtautological-compare
11 -Wlogical-not-parentheses
11 -Wdangling-else
9 -Wmismatched-new-delete
8 -Wimplicit-function-declaration
8 -Wheader-guard
8 -Wcomment
7 -Wtautological-constant-out-of-range-compare
7 -Wself-assign
6 -Wunused-value
6 -Wunneeded-internal-declaration
6 -Wtautological-pointer-compare
6 -Wpointer-bool-conversion
6 -Wparentheses-equality
6 -Wdynamic-class-memaccess
6 -Wconstant-conversion
5 -Wpointer-sign
4 -Wnull-conversion
3 -Wunsequenced
3 -Wreorder
3 -Wknr-promoted-parameter
3 -Wint-to-pointer-cast
2 -Wstrncat-size
2 -Wstring-compare
2 -Wsometimes-uninitialized
2 -Wconstant-logical-operand
2 -Warray-bounds
1 -Wunused-comparison
1 -Wunknown-pragmas
1 -Wstring-plus-int
1 -Wpotentially-evaluated-expression
1 -Wnon-literal-null-conversion
1 -Wmismatched-tags
1 -Wincompatible-pointer-types-discards-qualifiers
1 -Wimplicit-int
1 -Wignored-qualifiers
1 -Wformat-extra-args
1 -Wcompare-distinct-pointer-types
1 -Wc++11-compat-deprecated-writable-strings
Now down to 2708 warnings. It'll be slower going from this point
forward because each of the remaining issues will have a much smaller
impact on the warning count that many of the ones I have already fixed.
FWIW, bundled icc is getting to be a significant contributer to the
remaining warnings.
One of the -Wunused-parameter warnings led me to this questionable bit
of code in filter/source/xsltfilter/containerhelper.hxx:
template<typename FuncType, typename ParamType>
inline void forEachMem(FuncType pFunc, ParamType aParam) const
{
forEach( ::boost::bind(pFunc, _1, aParam));
}
template<typename FuncType, typename ParamType1, typename ParamType2>
inline void forEachMem(FuncType pFunc, ParamType1 aParam1, ParamType2
aParam2) const
{
forEach( ::boost::bind(pFunc, -1, aParam1, aParam2 ));
}
template<typename FuncType, typename ParamType1, typename ParamType2,
typename ParamType3>
inline void forEachMem( FuncType pFunc, ParamType1 aParam1, ParamType2
aParam2, ParamType3 aParam3 ) const
{
forEach( ::boost::bind(pFunc, _1, aParam2, aParam2, aParam3 ));
}
In the three parameter version of this code, it looks like aParam1
should be used instead of using aParam2 twice. Also, in the two
parameter version of the code, it looks like _1 should be used instead
of -1. I haven't had a chance to investigate the possible symptoms of
these errors or how to text the appropriate fix.
493 -Wunused-private-field
391 -Wunused-parameter
366 -Wunused-const-variable
314 -Woverloaded-virtual
181 -Wunused-variable
109 -Wlogical-op-parentheses
93 -Wsign-compare
77 -Wdelete-non-virtual-dtor
72 -Wint-to-void-pointer-cast
63 -Wshadow
56 -Wunused-function
41 -Wformat
36 -Wreturn-type-c-linkage
30 -Wchar-subscripts
27 -Wdeprecated-declarations
26 -Wundefined-bool-conversion
26 -Wsizeof-pointer-memaccess
25 -Wtautological-undefined-compare
24 -Wunused-local-typedef
22 -Wmacro-redefined
21 -Wswitch
20 -Wbitwise-op-parentheses
18 -Winvalid-source-encoding
13 -Wuninitialized
11 -Wtautological-compare
11 -Wlogical-not-parentheses
11 -Wdangling-else
9 -Wmismatched-new-delete
8 -Wimplicit-function-declaration
8 -Wcomment
7 -Wtautological-constant-out-of-range-compare
7 -Wself-assign
7 -Wheader-guard
6 -Wunused-value
6 -Wunneeded-internal-declaration
6 -Wtautological-pointer-compare
6 -Wpointer-bool-conversion
6 -Wparentheses-equality
6 -Wdynamic-class-memaccess
6 -Wconstant-conversion
5 -Wpointer-sign
4 -Wnull-conversion
3 -Wunsequenced
3 -Wreorder
3 -Wknr-promoted-parameter
3 -Wint-to-pointer-cast
2 -Wstrncat-size
2 -Wstring-compare
2 -Wsometimes-uninitialized
2 -Wconstant-logical-operand
2 -Warray-bounds
1 -Wunused-comparison
1 -Wunknown-pragmas
1 -Wstring-plus-int
1 -Wpotentially-evaluated-expression
1 -Wnon-literal-null-conversion
1 -Wmismatched-tags
1 -Wincompatible-pointer-types-discards-qualifiers
1 -Wimplicit-int
1 -Wignored-qualifiers
1 -Wformat-extra-args
1 -Wcompare-distinct-pointer-types
1 -Wc++11-compat-deprecated-writable-strings
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org