https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm
Index: ChangeLog
from Roland Levillain <roland(a)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`"