Build failure with Intel compilers

Issue #9 resolved
Dan Bonachea created an issue

UPCXX (@ 17cff8a4a5fefd011a2ebc893624d7796560adf0) fails to build on the default PrgEnv-intel on edison. Errors are below.

Marking this as minor because I'm not sure we intend to support Intel C++ in this release.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/cray/pe/craype/2.5.12.3/bin/CC -O0 -UNDEBUG -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/gasnet/include -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/gasnet/include/aries-conduit -DGASNET_CONDUIT_ARIES -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp -o /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/d57d23144ed49c1ca1751f5817a91526f1bb23fc.hello_upcxx.cpp.o

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/future1.hpp(103): warning #1017: name following "template" must be a template
        -> decltype(upcxx::get_or_void<i>(impl_.template result_rvals())) {
                                                         ^
          detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/impl_result.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
        -> decltype(impl_.template result_rvals()) {
                                   ^
          detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/impl_result.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(37): error: namespace "std" has no member "is_trivially_copyable"
          upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
                                   ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
          upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
          ^
          detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
        make_future_<
        ^
          detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(18): error: no instance of function template "upcxx::make_future" matches the argument list
      typedef decltype(upcxx::make_future<>()) return_type;
                       ^
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
    auto make_future(T ...values)
         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                               ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: type name is not allowed
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                     ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: the global scope has no "value"
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(33): error: namespace "std" has no member "max_align_t"
                   std::size_t alignment = alignof(std::max_align_t));
                                                        ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(33): warning #3464: the standard "alignof" operator does not accept an expression argument (use a type instead)
                   std::size_t alignment = alignof(std::max_align_t));
                                                  ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(118),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp(45): error: no instance of function template "upcxx::make_future" matches the argument list
        -> decltype(make_future()) {
                    ^
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
    auto make_future(T ...values)
         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(118),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
        -> decltype(impl_.template result_rvals()) {
                                   ^
          detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<>]" at line 74 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/utility.hpp(46): error: too many initializer values
      constant_function(T value): value_{std::move(value)} {}
                                         ^
          detected during instantiation of "upcxx::constant_function<T>::constant_function(T) [with T=std::tuple<>]" at line 55 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/impl_result.hpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(77): error: no suitable user-defined conversion from "deferred" to "upcxx::promise<>" exists
        action_impl(Fn fn): fn{std::move(fn)} {}
                               ^
          detected during:
            instantiation of "upcxx::backend::gasnet1_seq::action_impl<Fn>::action_impl(Fn) [with Fn=deferred]" at line 93
            instantiation of "void upcxx::backend::during_user(Fn &&) [with Fn=deferred]" at line 106

compilation aborted for /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/test/hello_upcxx.cpp (code 2)
/opt/cray/pe/craype/2.5.12.3/bin/cc -O0 -UNDEBUG -std=c11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867 -MM -MT x /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/dl_malloc.c

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/cray/pe/craype/2.5.12.3/bin/CC -O0 -UNDEBUG -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp -o /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/207895932047f93b74450538ed180e28768c4d8c.packing.cpp.o

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                               ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: type name is not allowed
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                     ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: the global scope has no "value"
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp(1):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
           ^

compilation aborted for /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/packing.cpp (code 2)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/cray/pe/craype/2.5.12.3/bin/CC -O0 -UNDEBUG -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/gasnet/include -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/gasnet/include/aries-conduit -DGASNET_CONDUIT_ARIES -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp -o /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/3ff81f2ffe37465d40a10af4a368e8affc1415fb.backend.cpp.o

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/future1.hpp(103): warning #1017: name following "template" must be a template
        -> decltype(upcxx::get_or_void<i>(impl_.template result_rvals())) {
                                                         ^
          detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/impl_result.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
        -> decltype(impl_.template result_rvals()) {
                                   ^
          detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/impl_result.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(37): error: namespace "std" has no member "is_trivially_copyable"
          upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
                                   ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
          upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
          ^
          detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
        make_future_<
        ^
          detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp"

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future.hpp(7),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(8),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/apply.hpp(18): error: no instance of function template "upcxx::make_future" matches the argument list
      typedef decltype(upcxx::make_future<>()) return_type;
                       ^
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
    auto make_future(T ...values)
         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                               ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: type name is not allowed
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                     ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(352): error: the global scope has no "value"
             bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(9),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
    struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
           ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(33): error: namespace "std" has no member "max_align_t"
                   std::size_t alignment = alignof(std::max_align_t));
                                                        ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(4),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend.hpp(33): warning #3464: the standard "alignof" operator does not accept an expression argument (use a type instead)
                   std::size_t alignment = alignof(std::max_align_t));
                                                  ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp(45): error: no instance of function template "upcxx::make_future" matches the argument list
        -> decltype(make_future()) {
                    ^
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
    auto make_future(T ...values)
         ^

In file included from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(5),
                 from /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
        -> decltype(impl_.template result_rvals()) {
                                   ^
          detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<>]" at line 74 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/then.hpp(181): error: incomplete type is not allowed
        detail::future_then<
        ^
          detected during instantiation of "upcxx::operator>>" based on template arguments <upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, lambda []()->void> at line 300 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/then.hpp(181): error: incomplete type is not allowed
        detail::future_then<
        ^
          detected during instantiation of "upcxx::operator>>" based on template arguments <upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, lambda []()->void> at line 335 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/utility.hpp(46): error: too many initializer values
      constant_function(T value): value_{std::move(value)} {}
                                         ^
          detected during instantiation of "upcxx::constant_function<T>::constant_function(T) [with T=std::tuple<>]" at line 55 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/impl_result.hpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp(77): error: no suitable user-defined conversion from "deferred" to "upcxx::promise<>" exists
        action_impl(Fn fn): fn{std::move(fn)} {}
                               ^
          detected during:
            instantiation of "upcxx::backend::gasnet1_seq::action_impl<Fn>::action_impl(Fn) [with Fn=deferred]" at line 93
            instantiation of "void upcxx::backend::during_user(Fn &&) [with Fn=deferred]" at line 106

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp(47): error: no instance of function template "upcxx::make_future" matches the argument list
        return make_future();
               ^
/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
    auto make_future(T ...values)
         ^
          detected during:
            instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(434): error: identifier "packing_opaque" is undefined
        ::new(&mbr) T(packing_opaque<T>::unpack(r));
                      ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_unpack_reflector<false>, Subject1=lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 487
            instantiation of "T upcxx::packing_reflected<T, false>::unpack(upcxx::parcel_reader &) [with T=lambda []()->void]" at line 46 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "auto upcxx::commanding<Fn>::execute(upcxx::parcel_reader &)-><error-type> [with Fn=lambda []()->void]" at line 70 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(434): error: type name is not allowed
        ::new(&mbr) T(packing_opaque<T>::unpack(r));
                                     ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_unpack_reflector<false>, Subject1=lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 487
            instantiation of "T upcxx::packing_reflected<T, false>::unpack(upcxx::parcel_reader &) [with T=lambda []()->void]" at line 46 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "auto upcxx::commanding<Fn>::execute(upcxx::parcel_reader &)-><error-type> [with Fn=lambda []()->void]" at line 70 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(434): error: the global scope has no "unpack"
        ::new(&mbr) T(packing_opaque<T>::unpack(r));
                                         ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_unpack_reflector<false>, Subject1=lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 487
            instantiation of "T upcxx::packing_reflected<T, false>::unpack(upcxx::parcel_reader &) [with T=lambda []()->void]" at line 46 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "auto upcxx::commanding<Fn>::execute(upcxx::parcel_reader &)-><error-type> [with Fn=lambda []()->void]" at line 70 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(389): error: identifier "packing_opaque" is undefined
        packing_opaque<T>::size_ubound(ub, mbr);
        ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_ubound_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 466
            instantiation of "void upcxx::packing_reflected<T, false>::size_ubound(upcxx::parcel_layout &, const T &) [with T=lambda []()->void]" at line 37 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::commanding<Fn>::size_ubound(upcxx::parcel_layout &, const Fn &) [with Fn=lambda []()->void]" at line 86 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(389): error: type name is not allowed
        packing_opaque<T>::size_ubound(ub, mbr);
                       ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_ubound_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 466
            instantiation of "void upcxx::packing_reflected<T, false>::size_ubound(upcxx::parcel_layout &, const T &) [with T=lambda []()->void]" at line 37 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::commanding<Fn>::size_ubound(upcxx::parcel_layout &, const Fn &) [with Fn=lambda []()->void]" at line 86 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(389): error: the global scope has no "size_ubound"
        packing_opaque<T>::size_ubound(ub, mbr);
                           ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_ubound_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 466
            instantiation of "void upcxx::packing_reflected<T, false>::size_ubound(upcxx::parcel_layout &, const T &) [with T=lambda []()->void]" at line 37 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::commanding<Fn>::size_ubound(upcxx::parcel_layout &, const Fn &) [with Fn=lambda []()->void]" at line 86 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(403): error: identifier "packing_opaque" is undefined
        packing_opaque<T>::pack(w, mbr);
        ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_pack_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 471
            instantiation of "void upcxx::packing_reflected<T, false>::pack(upcxx::parcel_writer &, const T &) [with T=lambda []()->void]" at line 41 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::commanding<Fn>::pack(upcxx::parcel_writer &, const Fn &) [with Fn=lambda []()->void]" at line 99 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_pack(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn &&) [with Fn=lambda []()->void &]" at line 262 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(403): error: type name is not allowed
        packing_opaque<T>::pack(w, mbr);
                       ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_pack_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 471
            instantiation of "void upcxx::packing_reflected<T, false>::pack(upcxx::parcel_writer &, const T &) [with T=lambda []()->void]" at line 41 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::commanding<Fn>::pack(upcxx::parcel_writer &, const Fn &) [with Fn=lambda []()->void]" at line 99 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_pack(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn &&) [with Fn=lambda []()->void &]" at line 262 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/packing.hpp(403): error: the global scope has no "pack"
        packing_opaque<T>::pack(w, mbr);
                           ^
          detected during:
            instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_pack_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/reflection.hpp"
            instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 471
            instantiation of "void upcxx::packing_reflected<T, false>::pack(upcxx::parcel_writer &, const T &) [with T=lambda []()->void]" at line 41 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::commanding<Fn>::pack(upcxx::parcel_writer &, const Fn &) [with Fn=lambda []()->void]" at line 99 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/command.hpp"
            instantiation of "void upcxx::command_pack(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn &&) [with Fn=lambda []()->void &]" at line 262 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/.nobs/art/0b5d5b64f526aedf15c7fb97d769734368673867/upcxx/backend/gasnet1_seq/backend.hpp"
            instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp"

compilation aborted for /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/upcxx/src/backend/gasnet1_seq/backend.cpp (code 2)

{edison ~/UPC/bupcr-ex-edison/dbg/harness} module list
Currently Loaded Modulefiles:
  1) modules/3.2.10.6                               7) ugni/6.0.14-6.0.4.0_14.1__ge7db4a2.ari        13) dvs/2.7_2.2.30-6.0.4.1_5.4__gd731684          19) cray-shmem/7.6.0
  2) intel/17.0.2.174                               8) pmi/5.0.12                                    14) alps/6.4.1-6.0.4.0_7.2__g86d0f3d.ari          20) cray-mpich/7.6.0
  3) craype-network-aries                           9) dmapp/7.1.1-6.0.4.0_46.2__gb8abda2.ari        15) rca/2.2.11-6.0.4.0_13.2__g84de67a.ari         21) bupc/2.24.2
  4) craype/2.5.12.3                               10) gni-headers/5.0.11-6.0.4.0_7.2__g7136988.ari  16) atp/2.1.1
  5) cray-libsci/17.06.1                           11) xpmem/2.2.2-6.0.4.0_3.1__g43b0535.ari         17) PrgEnv-intel/6.0.4
  6) udreg/2.3.2-6.0.4.0_12.2__g2f9c3ee.ari        12) job/2.2.2-6.0.4.0_8.2__g3c644b5.ari           18) craype-ivybridge

{edison ~/UPC/bupcr-ex-edison/dbg/harness} which CC
/opt/cray/pe/craype/2.5.12.3/bin/CC
{edison ~/UPC/bupcr-ex-edison/dbg/harness} /opt/cray/pe/craype/2.5.12.3/bin/CC --version
icpc (ICC) 17.0.2 20170213
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

Comments (22)

  1. Amir Kamil

    This may not fix all the errors, but you will definitely need to do a module load gcc/4.9.3 in order to pull in C++11 standard libraries under the PrgEnv-intel environment.

  2. Dan Bonachea reporter
    @akamil : Tried your suggested module load, still no dice:
    
    ```
    bonachea@edison05:~/UPC/upcxx> rm -Rf .nobs ; source ./sourceme ; export CC='cc -O0' CXX='CC -O0' GASNET=/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet/ DBGSYM=1 OPTLEV=0 PAGER=cat ; nobs exe test/dist_object.cpp   
    Building GASNet (conduit=smp, threading=seq)...
    (in /global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet/smp-conduit)
    make seq
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make seq
    
    ../other/Makefile-conduit.mak:270: warning: overriding recipe for target 'Makefile'
    Makefile:589: warning: ignoring old recipe for target 'Makefile'
    make[1]: Entering directory '/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet/smp-conduit'
    ../other/Makefile-conduit.mak:270: warning: overriding recipe for target 'Makefile'
    Makefile:589: warning: ignoring old recipe for target 'Makefile'
    make[1]: 'smp-seq.mak' is up to date.
    make[1]: 'gasnet-smp-seq.pc' is up to date.
    make[1]: 'libgasnet-smp-seq.a' is up to date.
    make[1]: Leaving directory '/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet/smp-conduit'
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -MM -MT x /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/90d0f904ce7209679058e809b74e713f44f6728c.dist_object.cpp.o
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/future/core.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/diagnostic.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/digest.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/upcxx/src/digest.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/36a09f8a79f5b1149915daa46454c3701c7e1167.digest.cpp.o
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/upcxx/src/future/core.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/8305a82645e86aea177167c49d68d3a6158adfae.core.cpp.o
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/upcxx/src/diagnostic.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/f7eb32eeb29aeb99e0d1367d073c51b50488b3c0.diagnostic.cpp.o
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/9469d6f1bbcc37200c3937a79882034f5856b188.dist_object.cpp.o
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/6f83b4cd22b139d31d1ed7e6c503b63ba1644448.packing.cpp.o
    
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/0a6e1fbad1757ca8183d7c5ef1e8c740390ac6f9.backend.cpp.o
    
    cc -O0 -std=c11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -MM -MT x /global/u1/b/bonachea/UPC/upcxx/src/dl_malloc.c
    
    cc -O0 -std=c11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/upcxx/src/dl_malloc.c -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/d190cc2d096088c8d23ae9fc964727ac4bcdb0f0.dl_malloc.c.o
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    make seq
    
    ../other/Makefile-conduit.mak:270: warning: overriding recipe for target 'Makefile'
    Makefile:589: warning: ignoring old recipe for target 'Makefile'
    make[1]: Entering directory '/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet/smp-conduit'
    ../other/Makefile-conduit.mak:270: warning: overriding recipe for target 'Makefile'
    Makefile:589: warning: ignoring old recipe for target 'Makefile'
    make[1]: 'smp-seq.mak' is up to date.
    make[1]: 'gasnet-smp-seq.pc' is up to date.
    make[1]: 'libgasnet-smp-seq.a' is up to date.
    make[1]: Leaving directory '/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet/smp-conduit'
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/90d0f904ce7209679058e809b74e713f44f6728c.dist_object.cpp.o
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(103): warning #1017: name following "template" must be a template
            -> decltype(upcxx::get_or_void<i>(impl_.template result_rvals())) {
                                                             ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: namespace "std" has no member "is_trivially_copyable"
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
                                       ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
              ^
              detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
            make_future_<
            ^
              detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(18): error: no instance of function template "upcxx::make_future" matches the argument list
          typedef decltype(upcxx::make_future<>()) return_type;
                           ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                   ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: type name is not allowed
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: the global scope has no "value"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(118),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp(45): error: no instance of function template "upcxx::make_future" matches the argument list
            -> decltype(make_future()) {
                        ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(118),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<>]" at line 74 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<int>]" at line 22 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
              ^
              detected during:
                instantiation of class "upcxx::detail::make_future<T...> [with T=<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void>]" at line 40 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T> [with T=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void]" at line 62 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T &&> [with T=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void]" at line 87 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                processing of template argument list for "upcxx::detail::bound_function_base" based on template arguments <lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, std::tuple<upcxx::dist_object<int> &>> at line 180 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::bound_function<Fn, B...> [with Fn=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, B=<upcxx::dist_object<int> &>]" at line 29 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
            make_future_<
            ^
              detected during:
                instantiation of class "upcxx::detail::make_future<T...> [with T=<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void>]" at line 40 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T> [with T=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void]" at line 62 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T &&> [with T=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void]" at line 87 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                processing of template argument list for "upcxx::detail::bound_function_base" based on template arguments <lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, std::tuple<upcxx::dist_object<int> &>> at line 180 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::bound_function<Fn, B...> [with Fn=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, B=<upcxx::dist_object<int> &>]" at line 29 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(40): error: no instance of function template "upcxx::make_future" matches the argument list
                argument types are: (lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void)
            -> decltype(make_future(std::move(x))) {
                        ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
              detected during:
                instantiation of class "upcxx::binding<T> [with T=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void]" at line 62
                instantiation of class "upcxx::binding<T &&> [with T=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void]" at line 87
                processing of template argument list for "upcxx::detail::bound_function_base" based on template arguments <lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, std::tuple<upcxx::dist_object<int> &>> at line 180
                instantiation of class "upcxx::bound_function<Fn, B...> [with Fn=lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, B=<upcxx::dist_object<int> &>]" at line 29 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during:
                instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<upcxx::dist_object<int> &>]" at line 2206 of "/opt/gcc/4.9.3/snos/include/g++/type_traits"
                instantiation of class "std::__result_of_impl<false, false, _Functor, _ArgTypes...> [with _Functor=upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &>, _ArgTypes=<>]" at line 2219 of "/opt/gcc/4.9.3/snos/include/g++/type_traits"
                instantiation of class "std::result_of<_Functor (_ArgTypes...)> [with _Functor=upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &>, _ArgTypes=<>]" at line 61 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
                instantiation of class "upcxx::detail::apply_tupled_as_future_help<Fn, ArgTup, std::tuple<T...>> [with Fn=upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &>, ArgTup=std::tuple<>, T=<>]" at line 70 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
                instantiation of class "upcxx::detail::apply_tupled_as_future<Fn, ArgTup> [with Fn=upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &>, ArgTup=std::tuple<>]" at line 31 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(61): error: class "std::result_of<upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &> ()>" has no member "type"
            typename std::result_of<Fn(T...)>::type
                                               ^
              detected during:
                instantiation of class "upcxx::detail::apply_tupled_as_future_help<Fn, ArgTup, std::tuple<T...>> [with Fn=upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &>, ArgTup=std::tuple<>, T=<>]" at line 70
                instantiation of class "upcxx::detail::apply_tupled_as_future<Fn, ArgTup> [with Fn=upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &, upcxx::dist_object<int> &>, ArgTup=std::tuple<>]" at line 31 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(23): error: no instance of overloaded function "upcxx::rpc" matches the argument list
                argument types are: (upcxx::intrank_t, upcxx::bound_function<lambda [](upcxx::dist_object<int> &, upcxx::dist_object<int> &)->void &&, upcxx::dist_object<int> &>, upcxx::dist_object<int>)
            upcxx::rpc(nebr,
            ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(95): note: this candidate was rejected because at least one template argument could not be deduced
        void rpc(intrank_t recipient, promise<T...> &prom, Fn &&fn, Args &&...args) {
             ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(53): note: this candidate was rejected because at least one template argument could not be deduced
        auto rpc(intrank_t recipient, Fn &&fn, Args &&...args)
             ^
    
    /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(22): error: no instance of function template "upcxx::when_all" matches the argument list
                argument types are: (<error-type>, upcxx::future<int>)
          future<int> f = when_all(
                          ^
    /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp(22): note: this candidate was rejected because at least one template argument could not be deduced
          future<int> f = when_all(
                          ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/when_all.hpp(24): note: this candidate was rejected because at least one template argument could not be deduced
        detail::when_all_return_t<Arg...> when_all(Arg ...args) {
                                          ^
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/utility.hpp(46): error: too many initializer values
          constant_function(T value): value_{std::move(value)} {}
                                             ^
              detected during instantiation of "upcxx::constant_function<T>::constant_function(T) [with T=std::tuple<>]" at line 55 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(77): error: no suitable user-defined conversion from "deferred" to "upcxx::promise<>" exists
            action_impl(Fn fn): fn{std::move(fn)} {}
                                   ^
              detected during:
                instantiation of "upcxx::backend::gasnet1_seq::action_impl<Fn>::action_impl(Fn) [with Fn=deferred]" at line 93
                instantiation of "void upcxx::backend::during_user(Fn &&) [with Fn=deferred]" at line 106
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
              ^
              detected during:
                instantiation of class "upcxx::detail::make_future<T...> [with T=<lambda [](upcxx::dist_object<int> &)->int>]" at line 40 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T> [with T=lambda [](upcxx::dist_object<int> &)->int]" at line 62 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T &&> [with T=lambda [](upcxx::dist_object<int> &)->int]" at line 87 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                processing of template argument list for "upcxx::detail::bound_function_base" based on template arguments <lambda [](upcxx::dist_object<int> &)->int &&, std::tuple<upcxx::dist_object<int> &>> at line 180 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::bound_function<Fn, B...> [with Fn=lambda [](upcxx::dist_object<int> &)->int &&, B=<upcxx::dist_object<int> &>]" at line 140 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp"
                instantiation of "upcxx::future<T> upcxx::dist_object<T>::fetch(upcxx::intrank_t={int}) [with T=int]" at line 32 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
            make_future_<
            ^
              detected during:
                instantiation of class "upcxx::detail::make_future<T...> [with T=<lambda [](upcxx::dist_object<int> &)->int>]" at line 40 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T> [with T=lambda [](upcxx::dist_object<int> &)->int]" at line 62 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::binding<T &&> [with T=lambda [](upcxx::dist_object<int> &)->int]" at line 87 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                processing of template argument list for "upcxx::detail::bound_function_base" based on template arguments <lambda [](upcxx::dist_object<int> &)->int &&, std::tuple<upcxx::dist_object<int> &>> at line 180 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp"
                instantiation of class "upcxx::bound_function<Fn, B...> [with Fn=lambda [](upcxx::dist_object<int> &)->int &&, B=<upcxx::dist_object<int> &>]" at line 140 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp"
                instantiation of "upcxx::future<T> upcxx::dist_object<T>::fetch(upcxx::intrank_t={int}) [with T=int]" at line 32 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(40): error: no instance of function template "upcxx::make_future" matches the argument list
                argument types are: (lambda [](upcxx::dist_object<int> &)->int)
            -> decltype(make_future(std::move(x))) {
                        ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
              detected during:
                instantiation of class "upcxx::binding<T> [with T=lambda [](upcxx::dist_object<int> &)->int]" at line 62
                instantiation of class "upcxx::binding<T &&> [with T=lambda [](upcxx::dist_object<int> &)->int]" at line 87
                processing of template argument list for "upcxx::detail::bound_function_base" based on template arguments <lambda [](upcxx::dist_object<int> &)->int &&, std::tuple<upcxx::dist_object<int> &>> at line 180
                instantiation of class "upcxx::bound_function<Fn, B...> [with Fn=lambda [](upcxx::dist_object<int> &)->int &&, B=<upcxx::dist_object<int> &>]" at line 140 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp"
                instantiation of "upcxx::future<T> upcxx::dist_object<T>::fetch(upcxx::intrank_t={int}) [with T=int]" at line 32 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(61): error: class "std::result_of<upcxx::bound_function<lambda [](upcxx::dist_object<int> &)->int &&, upcxx::dist_object<int> &> ()>" has no member "type"
            typename std::result_of<Fn(T...)>::type
                                               ^
              detected during:
                instantiation of class "upcxx::detail::apply_tupled_as_future_help<Fn, ArgTup, std::tuple<T...>> [with Fn=upcxx::bound_function<lambda [](upcxx::dist_object<int> &)->int &&, upcxx::dist_object<int> &>, ArgTup=std::tuple<>, T=<>]" at line 70
                instantiation of class "upcxx::detail::apply_tupled_as_future<Fn, ArgTup> [with Fn=upcxx::bound_function<lambda [](upcxx::dist_object<int> &)->int &&, upcxx::dist_object<int> &>, ArgTup=std::tuple<>]" at line 140 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp"
                instantiation of "upcxx::future<T> upcxx::dist_object<T>::fetch(upcxx::intrank_t={int}) [with T=int]" at line 32 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(140): error: no instance of overloaded function "upcxx::rpc" matches the argument list
                argument types are: (upcxx::intrank_t, lambda [](upcxx::dist_object<int> &)->int, upcxx::dist_object<int>)
            return upcxx::rpc(rank, [](dist_object<T> &o) { return *o; }, *this);
                   ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(95): note: this candidate was rejected because at least one template argument could not be deduced
        void rpc(intrank_t recipient, promise<T...> &prom, Fn &&fn, Args &&...args) {
             ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(53): note: this candidate was rejected because at least one template argument could not be deduced
        auto rpc(intrank_t recipient, Fn &&fn, Args &&...args)
             ^
              detected during instantiation of "upcxx::future<T> upcxx::dist_object<T>::fetch(upcxx::intrank_t={int}) [with T=int]" at line 32 of "/global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp"
    
    compilation aborted for /global/u1/b/bonachea/UPC/upcxx/test/dist_object.cpp (code 2)
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -O0 -g -Wall -c /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/6f83b4cd22b139d31d1ed7e6c503b63ba1644448.packing.cpp.o
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                   ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: type name is not allowed
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: the global scope has no "value"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
               ^
    
    compilation aborted for /global/u1/b/bonachea/UPC/upcxx/src/packing.cpp (code 2)
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/9469d6f1bbcc37200c3937a79882034f5856b188.dist_object.cpp.o
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(103): warning #1017: name following "template" must be a template
            -> decltype(upcxx::get_or_void<i>(impl_.template result_rvals())) {
                                                             ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: namespace "std" has no member "is_trivially_copyable"
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
                                       ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
              ^
              detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
            make_future_<
            ^
              detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(18): error: no instance of function template "upcxx::make_future" matches the argument list
          typedef decltype(upcxx::make_future<>()) return_type;
                           ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                   ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: type name is not allowed
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: the global scope has no "value"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/bind.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(118),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp(45): error: no instance of function template "upcxx::make_future" matches the argument list
            -> decltype(make_future()) {
                        ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(118),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/rpc.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/dist_object.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp(1):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<>]" at line 74 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/utility.hpp(46): error: too many initializer values
          constant_function(T value): value_{std::move(value)} {}
                                             ^
              detected during instantiation of "upcxx::constant_function<T>::constant_function(T) [with T=std::tuple<>]" at line 55 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(77): error: no suitable user-defined conversion from "deferred" to "upcxx::promise<>" exists
            action_impl(Fn fn): fn{std::move(fn)} {}
                                   ^
              detected during:
                instantiation of "upcxx::backend::gasnet1_seq::action_impl<Fn>::action_impl(Fn) [with Fn=deferred]" at line 93
                instantiation of "void upcxx::backend::during_user(Fn &&) [with Fn=deferred]" at line 106
    
    compilation aborted for /global/u1/b/bonachea/UPC/upcxx/src/dist_object.cpp (code 2)
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CC -O0 -std=c++11 -D_GNU_SOURCE=1 -I/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124 -DUPCXX_BACKEND=gasnet1_seq -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/smp-conduit -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/other -I/global/u1/b/bonachea/UPC/upcr-ex/gasnet/extended-ref -I/global/u1/b/bonachea/UPC/bupcr-ex-edison/dbg/gasnet -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp -o /global/u1/b/bonachea/UPC/upcxx/.nobs/art/0a6e1fbad1757ca8183d7c5ef1e8c740390ac6f9.backend.cpp.o
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(8),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(103): warning #1017: name following "template" must be a template
            -> decltype(upcxx::get_or_void<i>(impl_.template result_rvals())) {
                                                             ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(8),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]" at line 109 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(8),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: namespace "std" has no member "is_trivially_copyable"
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
                                       ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(8),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(37): error: incomplete type is not allowed
              upcxx::trait_forall<std::is_trivially_copyable, T...>::value,
              ^
              detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(8),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(36): error: incomplete type is not allowed
            make_future_<
            ^
              detected during instantiation of class "upcxx::detail::make_future<T...> [with T=<>]" at line 18 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp"
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future.hpp(7),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(8),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/apply.hpp(18): error: no instance of function template "upcxx::make_future" matches the argument list
          typedef decltype(upcxx::make_future<>()) return_type;
                           ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(9),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: namespace "std" has no member "is_trivially_copyable"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                   ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(9),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: type name is not allowed
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                         ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(9),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(352): error: the global scope has no "value"
                 bool is_trivially_copyable = std::is_trivially_copyable<T>::value>
                                                                             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(9),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(356): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/true, is_trivially_copyable>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(9),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(360): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/true>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend.hpp(9),
                     from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(4),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(365): error: a template argument list is not allowed in a declaration of a primary template
        struct packing_opaque<T, /*is_empty=*/false, /*is_trivially_copyable=*/false>:
               ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp(45): error: no instance of function template "upcxx::make_future" matches the argument list
            -> decltype(make_future()) {
                        ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
    
    In file included from /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(5),
                     from /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp(2):
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/future1.hpp(108): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, T=<>]" at line 74 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/then.hpp(181): error: incomplete type is not allowed
            detail::future_then<
            ^
              detected during instantiation of "upcxx::operator>>" based on template arguments <upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, lambda []()->void> at line 300 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/then.hpp(181): error: incomplete type is not allowed
            detail::future_then<
            ^
              detected during instantiation of "upcxx::operator>>" based on template arguments <upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, lambda []()->void> at line 335 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/utility.hpp(46): error: too many initializer values
          constant_function(T value): value_{std::move(value)} {}
                                             ^
              detected during instantiation of "upcxx::constant_function<T>::constant_function(T) [with T=std::tuple<>]" at line 55 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/impl_result.hpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp(77): error: no suitable user-defined conversion from "deferred" to "upcxx::promise<>" exists
            action_impl(Fn fn): fn{std::move(fn)} {}
                                   ^
              detected during:
                instantiation of "upcxx::backend::gasnet1_seq::action_impl<Fn>::action_impl(Fn) [with Fn=deferred]" at line 93
                instantiation of "void upcxx::backend::during_user(Fn &&) [with Fn=deferred]" at line 106
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp(47): error: no instance of function template "upcxx::make_future" matches the argument list
            return make_future();
                   ^
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/future/make_future.hpp(44): note: this candidate was rejected because at least one template argument could not be deduced
        auto make_future(T ...values)
             ^
              detected during:
                instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(434): error: identifier "packing_opaque" is undefined
            ::new(&mbr) T(packing_opaque<T>::unpack(r));
                          ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_unpack_reflector<false>, Subject1=lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 487
                instantiation of "T upcxx::packing_reflected<T, false>::unpack(upcxx::parcel_reader &) [with T=lambda []()->void]" at line 46 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "auto upcxx::commanding<Fn>::execute(upcxx::parcel_reader &)-><error-type> [with Fn=lambda []()->void]" at line 70 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(434): error: type name is not allowed
            ::new(&mbr) T(packing_opaque<T>::unpack(r));
                                         ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_unpack_reflector<false>, Subject1=lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 487
                instantiation of "T upcxx::packing_reflected<T, false>::unpack(upcxx::parcel_reader &) [with T=lambda []()->void]" at line 46 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "auto upcxx::commanding<Fn>::execute(upcxx::parcel_reader &)-><error-type> [with Fn=lambda []()->void]" at line 70 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(434): error: the global scope has no "unpack"
            ::new(&mbr) T(packing_opaque<T>::unpack(r));
                                             ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_unpack_reflector<false>, Subject1=lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_unpack_reflector<false>, Subject=lambda []()->void &]" at line 487
                instantiation of "T upcxx::packing_reflected<T, false>::unpack(upcxx::parcel_reader &) [with T=lambda []()->void]" at line 46 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "auto upcxx::commanding<Fn>::execute(upcxx::parcel_reader &)-><error-type> [with Fn=lambda []()->void]" at line 70 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "upcxx::future<> upcxx::detail::command_executor<Fn>(upcxx::parcel_reader &) [with Fn=lambda []()->void]" at line 84 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(389): error: identifier "packing_opaque" is undefined
            packing_opaque<T>::size_ubound(ub, mbr);
            ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_ubound_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 466
                instantiation of "void upcxx::packing_reflected<T, false>::size_ubound(upcxx::parcel_layout &, const T &) [with T=lambda []()->void]" at line 37 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::commanding<Fn>::size_ubound(upcxx::parcel_layout &, const Fn &) [with Fn=lambda []()->void]" at line 86 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(389): error: type name is not allowed
            packing_opaque<T>::size_ubound(ub, mbr);
                           ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_ubound_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 466
                instantiation of "void upcxx::packing_reflected<T, false>::size_ubound(upcxx::parcel_layout &, const T &) [with T=lambda []()->void]" at line 37 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::commanding<Fn>::size_ubound(upcxx::parcel_layout &, const Fn &) [with Fn=lambda []()->void]" at line 86 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(389): error: the global scope has no "size_ubound"
            packing_opaque<T>::size_ubound(ub, mbr);
                               ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_ubound_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_ubound_reflector, Subject=const lambda []()->void &]" at line 466
                instantiation of "void upcxx::packing_reflected<T, false>::size_ubound(upcxx::parcel_layout &, const T &) [with T=lambda []()->void]" at line 37 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::commanding<Fn>::size_ubound(upcxx::parcel_layout &, const Fn &) [with Fn=lambda []()->void]" at line 86 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_size_ubound(upcxx::parcel_layout &, Fn &&) [with Fn=lambda []()->void &]" at line 249 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(403): error: identifier "packing_opaque" is undefined
            packing_opaque<T>::pack(w, mbr);
            ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_pack_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 471
                instantiation of "void upcxx::packing_reflected<T, false>::pack(upcxx::parcel_writer &, const T &) [with T=lambda []()->void]" at line 41 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::commanding<Fn>::pack(upcxx::parcel_writer &, const Fn &) [with Fn=lambda []()->void]" at line 99 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_pack(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn &&) [with Fn=lambda []()->void &]" at line 262 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(403): error: type name is not allowed
            packing_opaque<T>::pack(w, mbr);
                           ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_pack_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 471
                instantiation of "void upcxx::packing_reflected<T, false>::pack(upcxx::parcel_writer &, const T &) [with T=lambda []()->void]" at line 41 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::commanding<Fn>::pack(upcxx::parcel_writer &, const Fn &) [with Fn=lambda []()->void]" at line 99 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_pack(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn &&) [with Fn=lambda []()->void &]" at line 262 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    /global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/packing.hpp(403): error: the global scope has no "pack"
            packing_opaque<T>::pack(w, mbr);
                               ^
              detected during:
                instantiation of "void reflect(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 45 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflection<Subject>::operator()(Reflector &, Subject1 &&) [with Subject=lambda []()->void, Reflector=upcxx::packing_pack_reflector, Subject1=const lambda []()->void &]" at line 52 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/reflection.hpp"
                instantiation of "void upcxx::reflect_upon(Reflector &, Subject &&) [with Reflector=upcxx::packing_pack_reflector, Subject=const lambda []()->void &]" at line 471
                instantiation of "void upcxx::packing_reflected<T, false>::pack(upcxx::parcel_writer &, const T &) [with T=lambda []()->void]" at line 41 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::commanding<Fn>::pack(upcxx::parcel_writer &, const Fn &) [with Fn=lambda []()->void]" at line 99 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/command.hpp"
                instantiation of "void upcxx::command_pack(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn &&) [with Fn=lambda []()->void &]" at line 262 of "/global/u1/b/bonachea/UPC/upcxx/.nobs/art/901cf2deabfd0181d4af15553f55b9a60e99d124/upcxx/backend/gasnet1_seq/backend.hpp"
                instantiation of "void upcxx::backend::gasnet1_seq::send_am_restricted(upcxx::intrank_t={int}, Fn &&) [with Fn=lambda []()->void]" at line 291 of "/global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp"
    
    compilation aborted for /global/u1/b/bonachea/UPC/upcxx/src/backend/gasnet1_seq/backend.cpp (code 2)
    
    bonachea@edison05:~/UPC/upcxx> module list
    Currently Loaded Modulefiles:
      1) modules/3.2.10.6                               9) dmapp/7.1.1-6.0.4.0_46.2__gb8abda2.ari        17) PrgEnv-intel/6.0.4
      2) intel/17.0.2.174                              10) gni-headers/5.0.11-6.0.4.0_7.2__g7136988.ari  18) craype-ivybridge
      3) craype-network-aries                          11) xpmem/2.2.2-6.0.4.0_3.1__g43b0535.ari         19) cray-shmem/7.6.0
      4) craype/2.5.12.3                               12) job/2.2.2-6.0.4.0_8.2__g3c644b5.ari           20) cray-mpich/7.6.0
      5) cray-libsci/17.06.1                           13) dvs/2.7_2.2.30-6.0.4.1_5.4__gd731684          21) bupc/2.24.2
      6) udreg/2.3.2-6.0.4.0_12.2__g2f9c3ee.ari        14) alps/6.4.1-6.0.4.0_7.2__g86d0f3d.ari          22) gcc/4.9.3
      7) ugni/6.0.14-6.0.4.0_14.1__ge7db4a2.ari        15) rca/2.2.11-6.0.4.0_13.2__g84de67a.ari
      8) pmi/5.0.12                                    16) atp/2.1.1
    
    bonachea@edison05:~/UPC/upcxx> git describe
    fatal: No tags can describe 'd711692ab006969abb63b182ef6fd5e968150869'.
    Try --always, or create some tags.
    
    
    bonachea@edison05:~/UPC/upcxx> CC --version
    icpc (ICC) 17.0.2 20170213
    Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.
    
    ```
  3. Amir Kamil

    Loading gcc/5.2.0 fixes the standard library issues, including std::is_trivially_copyable.

    However, there are several language-level issues that the Intel compiler barfs on. The first is using uniform initialization syntax to initialize an aggregate in a member initializer list. By my reading of list-initialization semantics, this should be perfectly valid. (C++14 introduces specific rules for aggregates, but the generic rules for class types should still make this valid in C++11.) There are several other issues I've encountered with type deduction for function templates and computing the result type of an invocation. I have not been able to identify why the compiler rejects our code.

    Given these issues, I think we'll have to punt on Intel support in the near term.

  4. Paul Hargrove

    I want to note that despite the issue's title, this is probably not specific to the Cray PrgEnv.
    I have access to a pre-release of ICC 18.0.0 (2018.0.082) on a Linux cluster and also cannot compile upcxx.
    However, since I lack (for now) a newer gcc to get recent-enough STL I cannot say anything conclusive.
    In particular, I see the std::is_trivially_copyable problem.

  5. Paul Hargrove

    FYI:

    Use of gcc/5.2.0 and intel/2018.beta on Edison still fails (on at least test/dist_object) at upcxx hash 05f97dd359e554a78d7e34af9b791346d83cd201

    Similarly use of an icc-18 beta on a Linux cluster with CXX="icpc -cxxlib=$HOME/gcc-7.2.0"

    I will not bother with the detailed error messages for either failure.

    So even with libstdc++ from the latest gcc, Intel's latest c++ compiler is not usable with upc++/

  6. Scott Baden

    Question is: how much work will it be to get us to enable the Intel complier to build upc++? Is there time to get this in for the March release?

  7. Paul Hargrove

    I have just now retested on Cori with the latest icc (18.0.1) (and gcc for libstdc++).
    It still looks as if Intel's C++ support is falling short of our needs/expectations.

    The errors are different (no more std::is_trivially_copyable errors), but I cannot tell if the compilation is failing later or earlier than it was previously.

    A summary transcript appears below and I will attach the full log shortly.

    {hargrove@cori04 upcxx}$ module swap intel intel/18.0.1.163  # Latest
    {hargrove@cori04 upcxx}$ module load gcc/7.1.0 # Latest
    {hargrove@cori04 upcxx}$ export UPCXX_INSTALL_NOCHECK=1  # Otherwise PrgEnv-intel is rejected
    {hargrove@cori04 upcxx}$ export CC='cc -O0 -wd10120' CXX='CC -O0 -wd10120' # Fix opt/dbg conflict
    {hargrove@cori04 upcxx}$ rm -rf .nobs/ # Fresh start
    {hargrove@cori04 upcxx}$ . sourceme
    {hargrove@cori04 upcxx}$ nobs exe test/dist_object.cpp >log 2>&1
    {hargrove@cori04 upcxx}$ grep error log
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(152): error: parameter pack "i" was referenced but not expanded
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(152): error: parameter pack "Arg" was referenced but not expanded
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: expected a "{"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: expected a "}"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: no default constructor exists for class "upcxx::detail::future_dependency_when_all_arg<1, upcxx::future<upcxx::dist_object<int> &>>"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: expected a "}"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: no default constructor exists for class "upcxx::detail::future_dependency_when_all_arg<1, upcxx::future<upcxx::dist_object<int> &>>"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: no default constructor exists for class "upcxx::detail::future_dependency_when_all_arg<2, upcxx::future<upcxx::dist_object<int> &>>"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: expected a "}"
    /global/u1/h/hargrove/upcxx/.nobs/art/198ac689a2c6e54f04d661256309b1ae6d9319f7/upcxx/future/impl_when_all.hpp(155): error: no default constructor exists for class "upcxx::detail::future_dependency_when_all_arg<1, upcxx::future<int>>"
    
  8. Dan Bonachea reporter

    This issue was discussed in the 1/10/18 meeting.

    Amir thinks “{“ -> “(“ xforms can fix the current errors, but this might not handle all cases (in particular, initializing aggregates require {} curly braces). More importantly we don’t want to invest time making the xform just to find icc is missing the next feature

    We resolved to leave it off the milestone for now, and Amir said he'd file trouble ticket w/ NERSC to see if they can help with Intel C++ compliance.

  9. BrianS

    From what I can see, there is only one warning from the Intel compiler, and one error

    the warning is this one

    future1.hpp(145): warning #1017: name following "template" must be a template
            -> decltype(impl_.template result_rvals()) {
                                       ^
              detected during instantiation of class "upcxx::future1<Kind, T...> [with Kind=upcxx::detail::future_kind_result, T=<>]"
    

    It is complaining that in the case where the variadic template list resolves to empty the result_rvals() resolves to an empty type list and issues a warning about this situation. I think the compiler is still going to do the right thing and we can choose to suppress this warning if indeed the compiler still does the correct thing here.

    From StackOverflow the guidance about the template keyword is

    the .template notation (and similar notations such as ->template) should be used only inside templates and only if they follow something that depends on a template parameter.

    we are not violating this guidance, since the .template is following an object that depends on the Kind, but the result_rvals() is an empty template

    The error I'm getting is perhaps something we can figure out

    completion.hpp(453): error: type name is not allowed
            cx_state<Cx, typename EventValues::template tuple_t<typename Cx::event_t
    >> state_;
                                                                ^
    

    when I change this line to

         cx_state<Cx, typename EventValues::template tuple_t<typename Cx::event_t>> state_;
    

    then compilation runs to completion and I can run hello_upcxx.cpp on haswell node

    DBGSYM=1 OPTLEV=0 srun -C haswell -n 10 $(nobs exe test/hello_upcxx.cpp)
    srun: job 10700454 queued and waiting for resources
    srun: job 10700454 has been allocated resources
    Hello from 0 of 10
    Hello from 1 of 10
    Hello from 2 of 10
    Hello from 3 of 10
    Hello from 4 of 10
    Hello from 5 of 10
    Hello from 6 of 10
    Hello from 7 of 10
    Hello from 8 of 10
    Hello from 9 of 10
    

    the message is a bit funny ;-)

  10. BrianS

    So, to work on UPC++ and OpenMP, as well as work on the Subsurface ECP application adoption of UPC++ I need to get Intel ICC working on Cori. This is a bit of a blocking issue for me now.

  11. Amir Kamil

    I've gotten develop to compile on Cori. It still requires doing a module load gcc to get libstc++. Here are the source changes required:

    1. In future/future1.hpp, all instances of <something>.template result_rvals need to have the template keyword removed, since result_rvals is not a function template.
    2. In completion.hpp, typename needs to be removed from the following:

      upcxx/completion.hpp(459): error: type name is not allowed
              cx_state<Cx, typename EventValues::template tuple_t<typename Cx::event_t>> state_;
                                                                  ^
      

      I'm not sure why the typename shouldn't be there. But I've removed it and confirmed that the code still compiles with GCC and Clang.

  12. Amir Kamil

    I partially retract my previous comment. I neglected to run the regressions test. 1) is definitely a bug on our part that needs to be fixed, and a PR is forthcoming. 2), however, appears to be a bug in the Intel compiler. While upcxx itself builds with GCC/Clang without the typename, the tests do not build without the keyword there. My own personal judgment is that Cx::event_t is clearly a dependent type and thus should have the typename keyword.

    I've further run into errors with the compiler thinking types are incomplete. Some were solved by #including the appropriate header (e.g. #including then.cpp from future1.cpp). However, I cannot fix the following error even by #including future1.hpp:

    CC -std=c++11 -D_GNU_SOURCE=1 -I/global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d -DUPCXX_ASSERT_ENABLED=1 -DUPCXX_BACKEND=1 -DUPCXX_BACKEND_GASNET_SEQ=1 -DUPCXX_LPC_INBOX_lockfree=1 -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/udp-conduit -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/other -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/other/amudp -I/global/u2/k/kamil/upcxx/.nobs/art/31aa09c2f3e3d7094431a4af7ea5f209292d8980/other/amudp -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref/vis -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref/coll -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref/ratomic -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref -I/global/u2/k/kamil/upcxx/.nobs/art/31aa09c2f3e3d7094431a4af7ea5f209292d8980 -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u2/k/kamil/upcxx/src/team.cpp -o /global/u2/k/kamil/upcxx/.nobs/art/32529399bc2b688e896b8c91770e7d1d440ac8c7.team.cpp.o
    
    In file included from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/future/make_future.hpp(4),
                     from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/future/apply.hpp(5),
                     from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/future/then.hpp(5),
                     from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/future/future1.hpp(5),
                     from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/future.hpp(5),
                     from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/backend.hpp(9),
                     from /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/team.hpp(4),
                     from /global/u2/k/kamil/upcxx/src/team.cpp(1):
    /global/u2/k/kamil/upcxx/.nobs/art/41049d1a057a338936de6257b7bcb57cd1e3a90d/upcxx/future/impl_result.hpp(109): error: incomplete type is not allowed
                future1<future_kind_result> arg
                ^
    
    compilation aborted for /global/u2/k/kamil/upcxx/src/team.cpp (code 2)
    

    I got this to work by making the constructor for the specialization of future_dependency a template:

          template<typename ...T>
          future_dependency(
              future_header_dependent *suc_hdr,
              future1<future_kind_result, T...> arg
            ) {
          }
    

    I can't think of a good reason why this should work but the non-template version fail.

    Then a similar issue shows up in the test collectives.cpp:

    CC -std=c++11 -D_GNU_SOURCE=1 -I/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c -DUPCXX_ASSERT_ENABLED=1 -DUPCXX_BACKEND=1 -DUPCXX_BACKEND_GASNET_SEQ=1 -DUPCXX_LPC_INBOX_lockfree=1 -D_GNU_SOURCE=1 -DGASNET_SEQ -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/udp-conduit -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/other -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/other/amudp -I/global/u2/k/kamil/upcxx/.nobs/art/31aa09c2f3e3d7094431a4af7ea5f209292d8980/other/amudp -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref/vis -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref/coll -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref/ratomic -I/global/u2/k/kamil/upcxx/.nobs/art/915a6b8d8bf2f3f7f2dcd7cd675f0ad4029934ad/GASNet-EX-collaborator-snapshot/extended-ref -I/global/u2/k/kamil/upcxx/.nobs/art/31aa09c2f3e3d7094431a4af7ea5f209292d8980 -O0 -g -Wall -g -wd654 -wd1125 -wd279 -wd1572 -c /global/u2/k/kamil/upcxx/test/collectives.cpp -o /global/u2/k/kamil/upcxx/.nobs/art/11818d145a89841e96c9a08d4838d7101eb01c37.collectives.cpp.o
    
    /global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/command.hpp(90): error: no instance of function template "upcxx::apply_as_future" matches the argument list
                argument types are: (upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, int>>>)
            upcxx::apply_as_future(fn.value_and_destruct())
            ^
    /global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/future/apply.hpp(162): note: this candidate was rejected because at least one template argument could not be deduced
        auto apply_as_future(Fn &&fn, Arg &&...arg)
             ^
              detected during:
                instantiation of "void upcxx::command<Arg...>::the_executor<Fn,cleanup>(upcxx::parcel_reader &, Arg...) [with Arg=<bool, void *>, Fn=upcxx::bound_function<lambda [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, int>, cleanup=upcxx::backend::am_cleanup]" at line 120
                instantiation of "void upcxx::command<Arg...>::pack<cleanup,Fn1,Fn>(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn1 &&) [with Arg=<bool, void *>, cleanup=upcxx::backend::am_cleanup, Fn1=upcxx::bound_function_of<lambda [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void &&, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>> &&, const int &> &, Fn=upcxx::bound_function<lambda
                          [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, int>]" at line 179 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/backend/gasnet/runtime.hpp"
                instantiation of "void upcxx::backend::send_am_master<level,Fn>(upcxx::intrank_t={int}, Fn &&) [with level=upcxx::progress_level::user, Fn=upcxx::bound_function_of<lambda [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void &&, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>> &&, const int &>]" at line 74 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/rpc.hpp"
                instantiation of "auto upcxx::rpc_ff(upcxx::intrank_t={int}, Fn &&, Arg &&...)->upcxx::detail::rpc_ff_return<Fn (Arg...), upcxx::completions<>, upcxx::detail::rpc_remote_results<Fn (Arg...), void>::type>::type [with Fn=lambda [](upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &)->void, Arg=<upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>, const int &>]" at line 120 of
                          "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "void upcxx::detail::allreduce_state<T, Op>::broadcast(upcxx::dist_object<upcxx::detail::allreduce_state<T, Op>> &, const T &, upcxx::intrank_t={int}) [with T=int, Op=std::plus<int>]" at line 77 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "void upcxx::detail::allreduce_state<T, Op>::contributed(upcxx::dist_object<upcxx::detail::allreduce_state<T, Op>> &) [with T=int, Op=std::plus<int>]" at line 61 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "upcxx::future<T> upcxx::allreduce(T1 &&, BinaryOp) [with T1=int &, BinaryOp=std::plus<int>, T=int]" at line 26 of "/global/u2/k/kamil/upcxx/test/collectives.cpp"
    
    /global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/future/apply.hpp(119): error: class "std::result_of<upcxx::detail::bound_function_applicator<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, std::tuple<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, std::tuple<>, upcxx::index_sequence<>> (lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &,
              const int &)->void &, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>> &)>" has no member "type"
            /*Return=*/typename std::result_of<Fn(Arg...)>::type
                                                            ^
              detected during:
                instantiation of class "upcxx::detail::apply_tupled_as_future_help<Fn, Args, std::tuple<Arg...>> [with Fn=upcxx::detail::bound_function_applicator<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, std::tuple<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, std::tuple<>, upcxx::index_sequence<>>, Args=std::tuple<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &,
                          const int &)->void &, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>> &>, Arg=<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>> &>]" at line 139
                instantiation of class "upcxx::detail::apply_futured_as_future_help<Fn, Arg, upcxx::future1<Kind, T...>> [with Fn=upcxx::detail::bound_function_applicator<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, std::tuple<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, std::tuple<>, upcxx::index_sequence<>>,
                          Arg=upcxx::future1<upcxx::detail::future_kind_when_all<upcxx::future1<upcxx::detail::future_kind_result, lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void>, upcxx::future1<upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &>, upcxx::future1<upcxx::detail::future_kind_result, upcxx::dist_id<upcxx::detail::allreduce_state<int,
                          std::plus<int>>>>>, lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>, Kind=upcxx::detail::future_kind_when_all<upcxx::future1<upcxx::detail::future_kind_result, lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void>,
                          upcxx::future1<upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &>, upcxx::future1<upcxx::detail::future_kind_result, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>>, T=<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &,
                          upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>]" at line 157
                instantiation of class "upcxx::detail::apply_futured_as_future<Fn, Arg> [with Fn=upcxx::detail::bound_function_applicator<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, std::tuple<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, std::tuple<>, upcxx::index_sequence<>>, Arg=upcxx::future1<upcxx::detail::future_kind_when_all<upcxx::future1<upcxx::detail::future_kind_result, lambda
                          [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void>, upcxx::future1<upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &>, upcxx::future1<upcxx::detail::future_kind_result, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>>, lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const
                          int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>]" at line 2442 of "/opt/gcc/7.1.0/snos/include/g++/type_traits"
                instantiation of class "std::__result_of_impl<false, false, _Functor, _ArgTypes...> [with _Functor=upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void,
                          upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>>> &&, _ArgTypes=<>]" at line 2456 of "/opt/gcc/7.1.0/snos/include/g++/type_traits"
                instantiation of class "std::__invoke_result<_Functor, _ArgTypes...> [with _Functor=upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void,
                          upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>>> &&, _ArgTypes=<>]" at line 2461 of "/opt/gcc/7.1.0/snos/include/g++/type_traits"
                [ 2 instantiation contexts not shown ]
                instantiation of "void upcxx::command<Arg...>::pack<cleanup,Fn1,Fn>(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn1 &&) [with Arg=<bool, void *>, cleanup=upcxx::backend::am_cleanup, Fn1=upcxx::bound_function_of<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &&, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &> &, Fn=upcxx::bound_function<lambda
                          [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>]" at line 179 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/backend/gasnet/runtime.hpp"
                instantiation of "void upcxx::backend::send_am_master<level,Fn>(upcxx::intrank_t={int}, Fn &&) [with level=upcxx::progress_level::user, Fn=upcxx::bound_function_of<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &&, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &>]" at line 74 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/rpc.hpp"
                instantiation of "auto upcxx::rpc_ff(upcxx::intrank_t={int}, Fn &&, Arg &&...)->upcxx::detail::rpc_ff_return<Fn (Arg...), upcxx::completions<>, upcxx::detail::rpc_remote_results<Fn (Arg...), void>::type>::type [with Fn=lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, Arg=<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &>]" at line 89 of
                          "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "void upcxx::detail::allreduce_state<T, Op>::contributed(upcxx::dist_object<upcxx::detail::allreduce_state<T, Op>> &) [with T=int, Op=std::plus<int>]" at line 61 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "upcxx::future<T> upcxx::allreduce(T1 &&, BinaryOp) [with T1=int &, BinaryOp=std::plus<int>, T=int]" at line 26 of "/global/u2/k/kamil/upcxx/test/collectives.cpp"
    
    /global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/future/future1.hpp(151): error: incomplete type is not allowed
              detail::future_then<future1<Kind,T...>, typename std::decay<Fn>::type>()(
              ^
              detected during:
                instantiation of "upcxx::future1<Kind, T...>::then [with Kind=upcxx::detail::future_kind_when_all<upcxx::future1<upcxx::detail::future_kind_result, lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void>, upcxx::future1<upcxx::detail::future_kind_shref<upcxx::detail::future_header_ops_general>, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &>, upcxx::future1<upcxx::detail::future_kind_result,
                          upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>>, T=<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, upcxx::dist_id<upcxx::detail::allreduce_state<int, std::plus<int>>>>]" based on template argument <upcxx::detail::bound_function_applicator<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &,
                          const int &)->void, std::tuple<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, std::tuple<>, upcxx::index_sequence<>>> at line 2442 of "/opt/gcc/7.1.0/snos/include/g++/type_traits"
                instantiation of class "std::__result_of_impl<false, false, _Functor, _ArgTypes...> [with _Functor=upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void,
                          upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>>> &&, _ArgTypes=<>]" at line 2456 of "/opt/gcc/7.1.0/snos/include/g++/type_traits"
                instantiation of class "std::__invoke_result<_Functor, _ArgTypes...> [with _Functor=upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void,
                          upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>>> &&, _ArgTypes=<>]" at line 2461 of "/opt/gcc/7.1.0/snos/include/g++/type_traits"
                instantiation of class "std::result_of<_Functor (_ArgTypes...)> [with _Functor=upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void,
                          upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>>> &&, _ArgTypes=<>]" at line 91 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/command.hpp"
                instantiation of "void upcxx::command<Arg...>::the_executor<Fn,cleanup>(upcxx::parcel_reader &, Arg...) [with Arg=<bool, void *>, Fn=upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, cleanup=upcxx::backend::am_cleanup]" at line 120 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/command.hpp"
                instantiation of "void upcxx::command<Arg...>::pack<cleanup,Fn1,Fn>(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn1 &&) [with Arg=<bool, void *>, cleanup=upcxx::backend::am_cleanup, Fn1=upcxx::bound_function_of<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &&, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &> &, Fn=upcxx::bound_function<lambda
                          [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>]" at line 179 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/backend/gasnet/runtime.hpp"
                instantiation of "void upcxx::backend::send_am_master<level,Fn>(upcxx::intrank_t={int}, Fn &&) [with level=upcxx::progress_level::user, Fn=upcxx::bound_function_of<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &&, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &>]" at line 74 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/rpc.hpp"
                instantiation of "auto upcxx::rpc_ff(upcxx::intrank_t={int}, Fn &&, Arg &&...)->upcxx::detail::rpc_ff_return<Fn (Arg...), upcxx::completions<>, upcxx::detail::rpc_remote_results<Fn (Arg...), void>::type>::type [with Fn=lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, Arg=<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &>]" at line 89 of
                          "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "void upcxx::detail::allreduce_state<T, Op>::contributed(upcxx::dist_object<upcxx::detail::allreduce_state<T, Op>> &) [with T=int, Op=std::plus<int>]" at line 61 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "upcxx::future<T> upcxx::allreduce(T1 &&, BinaryOp) [with T1=int &, BinaryOp=std::plus<int>, T=int]" at line 26 of "/global/u2/k/kamil/upcxx/test/collectives.cpp"
    
    /global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/command.hpp(90): error: no instance of function template "upcxx::apply_as_future" matches the argument list
                argument types are: (upcxx::unpacked_of_t<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, upcxx::packing<upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>>>)
            upcxx::apply_as_future(fn.value_and_destruct())
            ^
    /global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/future/apply.hpp(162): note: this candidate was rejected because at least one template argument could not be deduced
        auto apply_as_future(Fn &&fn, Arg &&...arg)
             ^
              detected during:
                instantiation of "void upcxx::command<Arg...>::the_executor<Fn,cleanup>(upcxx::parcel_reader &, Arg...) [with Arg=<bool, void *>, Fn=upcxx::bound_function<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>, cleanup=upcxx::backend::am_cleanup]" at line 120
                instantiation of "void upcxx::command<Arg...>::pack<cleanup,Fn1,Fn>(upcxx::parcel_writer &, std::size_t={unsigned long}, Fn1 &&) [with Arg=<bool, void *>, cleanup=upcxx::backend::am_cleanup, Fn1=upcxx::bound_function_of<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &&, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &> &, Fn=upcxx::bound_function<lambda
                          [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int>]" at line 179 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/backend/gasnet/runtime.hpp"
                instantiation of "void upcxx::backend::send_am_master<level,Fn>(upcxx::intrank_t={int}, Fn &&) [with level=upcxx::progress_level::user, Fn=upcxx::bound_function_of<lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void &&, upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &>]" at line 74 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/rpc.hpp"
                instantiation of "auto upcxx::rpc_ff(upcxx::intrank_t={int}, Fn &&, Arg &&...)->upcxx::detail::rpc_ff_return<Fn (Arg...), upcxx::completions<>, upcxx::detail::rpc_remote_results<Fn (Arg...), void>::type>::type [with Fn=lambda [](upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, const int &)->void, Arg=<upcxx::dist_object<upcxx::detail::allreduce_state<int, std::plus<int>>> &, int &>]" at line 89 of
                          "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "void upcxx::detail::allreduce_state<T, Op>::contributed(upcxx::dist_object<upcxx::detail::allreduce_state<T, Op>> &) [with T=int, Op=std::plus<int>]" at line 61 of "/global/u2/k/kamil/upcxx/.nobs/art/e1a0cb3ad4d2b299fffcb72b4823bf322761e37c/upcxx/allreduce.hpp"
                instantiation of "upcxx::future<T> upcxx::allreduce(T1 &&, BinaryOp) [with T1=int &, BinaryOp=std::plus<int>, T=int]" at line 26 of "/global/u2/k/kamil/upcxx/test/collectives.cpp"
    
    compilation aborted for /global/u2/k/kamil/upcxx/test/collectives.cpp (code 2)
    

    It looks like the Intel compiler has problems handling variadic templates with an empty parameter pack. Assuming I'm not missing something here, I think this is a dealbreaker.

  13. BrianS

    This is happening in our own unpacking of a parameter pack? We can specialize the empty pack case perhaps?

  14. Dan Bonachea reporter

    If we believe we've identified a showstopper bug in Intel C++, we should verify it persists in the Intel 2019 Beta and open a NERSC ticket ASAP so they can submit to Intel on their support contract - if we are quick it's possible Intel may be able to fix the problem in this release cycle.

  15. BrianS

    yes, and we step in and provide an overload for the case where there is no parameter pack variables.

    namespace upcxx {
      template<typename Fn, typename ...Arg>
      auto apply_as_future(Fn &&fn, Arg &&...arg);
      template<typename Fn>
      auto apply_as_future(Fn &&fn);
    .
    .
    

    The problem is that we are trying to use and manipulate a parameter pack in lots of ways here and not every parameter pack manipulation works in icc. I'm amazed the other compilers succeed in all the ways parameter packs are meant to work. But an overload path here and there would let the compiler chose a simpler.

    We are building a the_executor<Fn,cleanup> with no arguments, so we are getting the void constructor. we could provide the null constructor for some of these objects and short circuit the parameter pack cascade.

  16. Log in to comment