VcDevel / std-simd

std::experimental::simd for GCC [ISO/IEC TS 19570:2018]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Install script error

ryujaehun opened this issue · comments

version / revision Operating System Compiler & Version Compiler Flags CPU
fade8f9 Ubuntu 18.04.4 LTS gcc version 7.4.0 None AMD Ryzen 7 3700X

Testcase

Actual Results

 jaehun@deepmi  ~/workspace/std-simd $ sudo ./install.sh       
Testing that g++ can include <experimental/simd> without errors:
In file included from experimental/simd:54:0,
                 from <stdin>:1:
experimental/bits/simd.h:450:27: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __bit_cast(const _From __x)
                           ^
experimental/bits/simd.h:450:27: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:474:56: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
   _GLIBCXX_SIMD_INTRINSIC constexpr _ExactBool(bool __b) : _M_data(__b) {}
                                                        ^
experimental/bits/simd.h:474:56: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:476:53: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
   _GLIBCXX_SIMD_INTRINSIC constexpr operator bool() const { return _M_data; }
                                                     ^~~~~
experimental/bits/simd.h:476:53: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:483:66: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __execute_on_index_sequence(_Fp&& __f, std::index_sequence<_I...>)
                                                                  ^
experimental/bits/simd.h:483:66: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:490:57: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __execute_on_index_sequence(_Fp&&, std::index_sequence<>)
                                                         ^
experimental/bits/simd.h:490:57: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:495:28: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __execute_n_times(_Fp&& __f)
                            ^
experimental/bits/simd.h:495:28: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:505:78: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __execute_on_index_sequence_with_return(_Fp&& __f, std::index_sequence<_I...>)
                                                                              ^
experimental/bits/simd.h:505:78: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:512:40: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __generate_from_n_evaluations(_Fp&& __f)
                                        ^
experimental/bits/simd.h:512:40: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:523:22: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
      _FArgs&& __fargs)
                      ^
experimental/bits/simd.h:523:22: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:530:55: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __call_with_n_evaluations(_F0&& __f0, _FArgs&& __fargs)
                                                       ^
experimental/bits/simd.h:530:55: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:541:70: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __call_with_subscripts(_Tp&& __x, index_sequence<_It...>, _Fp&& __fun)
                                                                      ^
experimental/bits/simd.h:541:70: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:548:46: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __call_with_subscripts(_Tp&& __x, _Fp&& __fun)
                                              ^
experimental/bits/simd.h:548:46: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:699:33: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __data(const simd<_Tp, _Ap>& __x);
                                 ^
experimental/bits/simd.h:699:33: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:702:27: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __data(simd<_Tp, _Ap>& __x);
                           ^
experimental/bits/simd.h:702:27: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:706:38: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __data(const simd_mask<_Tp, _Ap>& __x);
                                      ^
experimental/bits/simd.h:706:38: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:709:32: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __data(simd_mask<_Tp, _Ap>& __x);
                                ^
experimental/bits/simd.h:709:32: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:721:63: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
   _GLIBCXX_SIMD_INTRINSIC const _Up& operator()(const _Up& __x)
                                                               ^
experimental/bits/simd.h:721:63: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:731:50: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __to_value_type_or_member_type(const _V& __x) -> decltype(__data(__x))
                                                  ^~~~~~~~
experimental/bits/simd.h:731:50: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:738:66: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
 __to_value_type_or_member_type(const typename _V::value_type& __x)
                                                                  ^
experimental/bits/simd.h:738:66: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:860:80: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
   _GLIBCXX_SIMD_INTRINSIC _GLIBCXX_SIMD_CONST static auto __firstbit(_Tp __bits)
                                                                                ^
experimental/bits/simd.h:860:80: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:879:79: warning: ‘__gnu__::__always_inline__’ scoped attribute directive ignored [-Wattributes]
   _GLIBCXX_SIMD_INTRINSIC _GLIBCXX_SIMD_CONST static auto __lastbit(_Tp __bits)
                                                                               ^
experimental/bits/simd.h:879:79: warning: ‘__gnu__::__artificial__’ scoped attribute directive ignored [-Wattributes]
experimental/bits/simd.h:927:32: error: ‘__remove_cvref_t’ was not declared in this scope
      __is_narrowing_conversion<__remove_cvref_t<_From>, _To>>::value>>
                                ^~~~~~~~~~~~~~~~
experimental/bits/simd.h:927:32: note: suggested alternative: ‘remove_cv_t’
      __is_narrowing_conversion<__remove_cvref_t<_From>, _To>>::value>>
                                ^~~~~~~~~~~~~~~~
                                remove_cv_t
compilation terminated due to -fmax-errors=1.
Failed.

Thank you for taking the time to report your issue. GCC 9.1 is the minimum requirement (as documented in the README). The install script tests that your compiler is recent enough and fails. I think I could add a note at the end about the minimum GCC requirement. Would that resolve the issue in an acceptable way for you?

Thanks, I succeeded in building in gcc-10.