upcxx headers not -Wextra clean on Intel C++ 19
Issue #291
resolved
UPC++ public headers currently trigger -Wextra
warnings from the default Intel compiler on cori.
I discovered this whilst developing exercises for the tutorial and looking for bugs in my own exercise code, so I can honestly say this runtime bug is inhibiting "end-user" work.
{cori-hsw ~/UPC/code} upcxx --version
UPC++ version 20190900L / gex-2019.9.0
Copyright (c) 2019, The Regents of the University of California,
through Lawrence Berkeley National Laboratory.
https://upcxx.lbl.gov
icpc (ICC) 19.0.3.199 20190206
Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
{cori-hsw ~/UPC/code} cat hello_upcxx.cpp
#include <upcxx/backend.hpp>
#include <iostream>
int main() {
upcxx::init();
std::cout<<"Hello from "<<upcxx::rank_me()<<" of "<<upcxx::rank_n()<<"\n";
upcxx::finalize();
return 0;
}
{cori-hsw ~/UPC/code} upcxx -g -Wall hello_upcxx.cpp
{cori-hsw ~/UPC/code} upcxx -g -Wall -pedantic hello_upcxx.cpp
{cori-hsw ~/UPC/code} upcxx -g -Wall -Wextra hello_upcxx.cpp
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(76): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t static_size = -1;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(77): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t static_align = -1;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(78): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t static_align_ub = -1;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(79): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t size = -1, align = -1;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(79): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t size = -1, align = -1;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(92): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t static_size = -2;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(93): warning #68: integer conversion resulted in a change of sign
static constexpr std::size_t static_align = -2;
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(241): warning #68: integer conversion resulted in a change of sign
constexpr invalid_storage_size_t invalid_storage_size(-1,-1);
^
In file included from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/bind.hpp(6),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team_fwd.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/team.hpp(4),
from /usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/backend.hpp(7),
from hello_upcxx.cpp(1):
/usr/common/ftg/upcxx/2019.9.0/hsw/intel/PrgEnv-intel-6.0.5-19.0.3.199/upcxx.debug.gasnet_seq.aries/include/upcxx/serialization.hpp(241): warning #68: integer conversion resulted in a change of sign
constexpr invalid_storage_size_t invalid_storage_size(-1,-1);
^
The problem persists in develop.
Comments (2)
-
-
reporter - changed status to resolved
- Log in to comment
Warnings shown above have been fixed on develop via PR136 (at 474d447).
There are still warnings if one reaches the right code:
However, those are the subject of issue
#286. So, I motion to mark this issue as resolved.