https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm
Index: ChangeLog from Roland Levillain roland@lrde.epita.fr
Refine the selection of icpc remarks and warnings.
* buildfarm_worker/brasilia.fns (init_icc_vars): Move flags governing ignored remarks and warnings from icpc to CXXFLAGS. Ignore more icpc remarks and warnings.
brasilia.fns | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 184 insertions(+), 2 deletions(-)
Index: buildfarm_worker/brasilia.fns --- buildfarm_worker/brasilia.fns (revision 406) +++ buildfarm_worker/brasilia.fns (working copy) @@ -20,8 +20,190 @@ # ICC 9.0 directory. icc_dir="/lrde/beyrouth/admin/lrde/usr/intel/compiler90"
- # BTW, disable some fallacious warnings from icpc. - export CPPFLAGS="-D_LINUX -I$icc_dir/include/c++/ -wd854,858,1292" + # Help icpc. + export CPPFLAGS="-D_LINUX -I$icc_dir/include/c++/" + + # BTW, disable some (sometimes fallacious) remarks and warnings from icpc. + # + # FIXME: Some of these warnings could be disabled from configure when + # the selected C++ compiler is icpc. + # + # + # Remarks. + # -------- + # + # #279 - from icpc stdlib + mlc + # #304 - fixable + # #383 - located in icpc std lib + xtd + # #424 - probably fixable + # #444 - hard to fix IMHO + # #593 - fixable, but probably a lot of places must be changed + # #810 - fixable + # #869 - located in icpc std lib (=> not our responsibility) + # #981 - located in icpc std lib + xtd ; hard to fix without obfuscating. + # #1292 - located in icpc stdlib (=> not our responsibility) + # #1418 - to be looked at closer + # #1572 - fixable (comparisons on float values) + # #1682 - located in system lib (=> not our responsibility) + # #1683 - located in system lib (=> not our responsibility) + # + # + # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xstring(1577): + # remark #279: controlling expression is constant + # : sizeof (_Elem) <= 2 ? 7 + # ^ + # + # + # extended/xtd/cfun.hh(76): + # remark #304: access control not specified ("public" by default) + # struct fun_traits_< plain_cfun_<F> > : fun_traits_<F> + # ^ + # + # + # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xlocale(123): + # remark #383: value copied to temporary, reference to temporary used + # : _Refs(_Initrefs) + # ^ + # + # + # static/tests/any.cc(139): + # remark #424: extra ";" ignored + # }; + # ^ + # + # + # metalic/mlc/cmp.hh(114): + # remark #444: destructor for base class "mlc::bexpr_<false>" is not virtual + # public bexpr_<false> + # ^ + # + # + # olena/tests/morphers/count_rw_morpher.cc(46): + # remark #593: variable "i" was set but never used + # int i = ima2(p); + # ^ + # + # + # extended/xtd/abstract/plain_nary_fun.hh(160): + # remark #810: conversion from "double" to "const float &" may lose + # significant bits + # return this->exact().impl_op(arg); + # ^ + # + # + # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/typeinfo(190): + # remark #869: parameter "_object" was never referenced + # const void* _object, + # ^ + # + # + # /lrde/beyrouth/admin/lrde/usr/intel/compiler90/include/c++/xstring(1621): + # remark #981: operands are evaluated in unspecified order + # _Traits::assign(_Myptr()[_Mysize = _Newsize], _Elem()); + # ^ + # + # + # /usr/include/stdlib.h(177): warning #1292: attribute "__nonnull__" ignored + # throw () __attribute__ ((__nonnull__ (1))); + # ^ + # + # + # metalic/tests/gcase.cc(55): + # remark #1418: external definition with no prior declaration + # void print() + # ^ + # + # + # olena/tests/morphers/two_way_rw_morpher.cc(74): + # remark #1572: floating-point equality and inequality comparisons are + # unreliable + # (static_cast<void> ((xtd::L2_norm(ima(p)) == 1) ? 0 : + # ^ + # (__assert_fail ("xtd::L2_norm(ima(p)) == 1", + # "olena/tests/morphers/two_way_rw_morpher.cc", 74, __PRETTY_FUNCTION__), + # 0))); + # + # + # /usr/include/sys/sysmacros.h(44): + # remark #1682: implicit conversion of a 64-bit integral type to a smaller + # integral type (potential portability problem) + # return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); + # ^ + # + # + # /usr/include/sys/sysmacros.h(44): + # remark #1683: explicit conversion of a 64-bit integral type to a smaller + # integral type (potential portability problem) + # return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); + # ^ + # + # + # Warnings. + # --------- + # + # #61 - located in h++ std lib (=> not our responsibility) + # #68 - located in h++ std lib (=> not our responsibility) + # #161 - located in h++ std lib (=> not our responsibility) + # #239 - located in g++ std lib (=> not our responsibility) + # #592 - fixable (see remark #593) + # #854 - to be looked at closer + # #858 - to be looked at closer + # #1292 - located in gcc std lib + # + # + # /usr/include/c++/4.0.4/limits(529): + # warning #61: integer operation result is out of range + # { return (((wchar_t)(-1) < 0) ? ((wchar_t)1 << (sizeof(wchar_t) * 8 - + # ((wchar_t)(-1) < 0))) - 1 : ~(wchar_t)0); } + # ^ + # + # + # /usr/include/c++/4.0.4/limits(374): + # warning #68: integer conversion resulted in a change of sign + # { return (((char)(-1) < 0) ? (char)1 << (sizeof(char) * 8 - ((char)(-1) + # < 0)) : (char)0); } + # ^ + # + # + # /usr/include/c++/4.0.4/cstdlib(47): + # warning #161: unrecognized #pragma + # #pragma GCC system_header + # + # + # /usr/include/c++/4.0.4/limits(1010): + # warning #239: floating point underflow + # = bool(1.40129846e-45F) ? denorm_present : denorm_absent; + # ^ + # + # + # metalic/tests/gcase.cc(59): + # warning #592: variable "tmp" is used before its value is set + # tmp = tmp; + # ^ + # + # + # extended/xtd/math/arith.hh(37): + # warning #854: const variable "xtd::plus" requires an initializer -- class + # "xtd::m2fun_xtd::plain_plus_" has no explicitly declared default + # constructor + # [...] + # + # + # olena/oln/core/internal/tracked_ptr.hh(60): + # warning #858: type qualifier on return type is meaningless + # const T*const operator->() const; + # ^ + # + # + # /usr/include/stdlib.h(146): + # warning #1292: attribute "__nonnull__" ignored + # throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + # ^ + # + ignored_remarks="279,304,383,424,444,593,810,869,1292,1418,1572,1682,1683" + ignored_warnings="61,68,161,239,592,854,858,1292" + + export CXXFLAGS="-wd$ignored_remarks,$ignored_warnings" export LDFLAGS="-cxxlib-icc -i-static" export LD_LIBRARY_PATH="$icc_dir/lib:`printenv LD_LIBRARY_PATH`"