Re: Cross Compile Gcc 10.2.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 14 Aug 2020 at 22:23, Casey St.Fleur via Gcc-help
<gcc-help@xxxxxxxxxxx> wrote:
>
> Hi all,
>
> I am trying to build GCC 10.2 using Ubuntu's Arm cross compiler.
>
> But I am getting the following error,
>
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:92:5: error: ‘__constinit’ does not name a type
>    92 |     __constinit constant_init<newdel_res_t> newdel_res{};
>       |     ^~~~~~~~~~~
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:93:5: error: ‘__constinit’ does not name a type
>    93 |     __constinit constant_init<null_res_t> null_res{};
>       |     ^~~~~~~~~~~
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:146:5: error: ‘__constinit’ does not name a type
>   146 |     __constinit constant_init<atomic_mem_res> default_res{&newdel_res.obj};
>       |     ^~~~~~~~~~~
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc: In function ‘std::pmr::memory_resource* std::pmr::new_delete_resource()’:
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:154:13: error: ‘newdel_res’ was not declared in this scope
>   154 |   { return &newdel_res.obj; }
>       |             ^~~~~~~~~~
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc: In function ‘std::pmr::memory_resource* std::pmr::null_memory_resource()’:
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:158:13: error: ‘null_res’ was not declared in this scope
>   158 |   { return &null_res.obj; }
>       |             ^~~~~~~~
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc: In function ‘std::pmr::memory_resource* std::pmr::set_default_resource(std::pmr::memory_resource*)’:
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:165:12: error: ‘default_res’ was not declared in this scope; did you mean ‘default_delete’?
>   165 |     return default_res.obj.exchange(r);
>       |            ^~~~~~~~~~~
>       |            default_delete
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc: In function ‘std::pmr::memory_resource* std::pmr::get_default_resource()’:
> ../../../../../gcc-10.2.0/libstdc++-v3/src/c++17/memory_resource.cc:170:12: error: ‘default_res’ was not declared in this scope; did you mean ‘default_delete’?
>   170 |   { return default_res.obj.load(); }
>       |            ^~~~~~~~~~~
>       |            default_delete
>
> It looks like build is failing because it is trying to build a C++ 17 feature using a C++ 20 keyword. I am not sure what to do from here, any help is greatly appreciated .

__constinit is not a C++20 keyword, it's a GCC extension. The C++20
keyword is 'constinit'.

The GCC extension is supported since GCC 10.1, so the errors you are
getting mean that libstdc++ is not being built by the right compiler.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux