<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/87448>87448</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Failt to build flang-new on Raspberry Pi 5: `-Werror=restrict`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zaikunzhang
</td>
</tr>
</table>
<pre>
Hi,
I tried building flang-new on Raspberry Pi 5 but failed.
Thank you for taking a look.
Best regards,
Zaikun
== Information about my Pi:
```
$ uname -a && lscpu
Linux zPi-6 6.1.0-rpi8-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 GNU/Linux
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: ARM
Model name: Cortex-A76
Model: 1
Thread(s) per core: 1
Core(s) per cluster: 4
Socket(s): -
Cluster(s): 1
Stepping: r4p1
CPU(s) scaling MHz: 62%
CPU max MHz: 2400.0000
CPU min MHz: 1500.0000
BogoMIPS: 108.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; __user pointer sanitization
Spectre v2: Mitigation; CSV2, BHB
Srbds: Not affected
Tsx async abort: Not affected
```
=== Buiding script: a [script](https://github.com/llvm/llvm-project/files/14831123/compile.txt)
composed according to the [official documentation](https://github.com/llvm/llvm-project/blob/main/flang/docs/GettingStarted.md)
=== Error messages (the following segment repeats many times):
```
431 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In static member function ‘static std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
inlined from ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:423:21,
inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.tcc:532:22,
inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:2171:19,
inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:1928:22,
inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&) [with _CharT = char; _Traits = char_traits<char>; _Alloc = allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:3541:36,
inlined from ‘std::string Fortran::semantics::ComponentIterator<componentKind>::const_iterator::BuildResultDesignatorName() const [with Fortran::semantics::ComponentKind componentKind = Fortran::semantics::ComponentKind::Direct]’ at /tmp/tmp.SdSZSxOXXI/flang-new/llvm-project/flang/lib/Semantics/tools.cpp:1355:16:
/usr/include/c++/12/bits/char_traits.h:431:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWFtv4zjS_TXMS8GGRF1sP_jBl7g7-DrdQZyebzAvBkWVbG4oUiCpJM7D_vYFJfnu6cnszA72Ihi2VTosnjrFS1HMWrFWiGOSTEkyv2G122gzfmfiuVbvG6bWN5nOt-PPgtAZkGBOgkn7fQfOCMwhq4XMhVpDIZla9xS-glbwyGyVoTFbeBCQQFY7KJiQmPdPnDxtmHqGra6h0AYce_aOGEitn_vHuClaBwbXzOSW0Flr_KUheQwj0ZxEc7hThTYlc0IrYJmuHZSeB4l2sDToPu0tjaFWrEToMSA0JTQFaXlVt4-_CFW_wfuD6KWQ9sN-0DOVGPqvHh2EFAiNQljeP8DD4-3t_cMTzDETTEFIoonHD6JeSOjUVC4EQoc0oHEvCHs0IXQEjBm-SWP49PU7oYumq7bXieEb4ZC72iCJJnB0dW1aHMDs4TvoqlfqHAkdWkJHR_iI9jLhfO7SuPnXNZpuHcI3k6M5c_5FOCcRblUuWKft7OH7pePDtSfyTfWkUAgHPEhhXdso6EUt7idUuTZwN790Nnm83_m61zlK8Ek5g820cfjWmwzSHbQDX7oLD4injUGW71hVaIDrTtcj1MzbjjGytq5VKD6glpo_o7uqSO_IV9f2Cuyox6XDqhJqfUbexNUxrYOeljPpp8j95_emSUoJTU6QULK3_ePuonEQ9IMgCM6QQp0jw-QCOdVrfX_3sDyjGAbD_jFsIdnaXuagqIBZUeaAL846UwJDC1VZSwl2w0L_RYEbHlFgTpeCWyiqTddoUwGvapG3dyYvQRpecch5pTtIXnWjqpYKDcuEFE7gCZEdx0_MbdBAzhwDy8pK7nT_qh2wokDuMN-B75zMoKylExvhjr1dA38JXXF1alwD3-dXZPpVMEqX61d10eIquBQarGMSmyAPba6BH9FlEjH_kOdlhRyMdYw_g35BU0j9-qvSNWDrtEHIthWz-3DvhRPrZlUm0bSB1ZI58YKwbNDTBg25sCyTmMOLYFAZ7uSxZ2cQXsIz1qeeV6vaooFKC-XQgGVKOPHePj73RH_oabb8ifq1c_p5um9psusJvCbFk30DZreK-23IuB9l5HxPOtrP_JY2rUWzyVpuRNU4YkCSaXebzAkdbpyrPDNCF4Qu1sJt6qzPdUnoQsqX3U-vMvpvyB2hi0JItIQuwngYhSGNCF1wXVZCYt-9Ob9qNSS8TVvMgXGuTcPCaXAb9AR0UQgumIRc87pE5Vrt_jlCmdQZoYuSCeXp-XqC0EWuuWf5CZ0Tar10zDjM-2W-J3iu1a0x2kCJ1rI1Wr_nerKFllK_Nhri2jMFgxUyZ6FkagtOlNit1FcTEkchkMFsn26DrjbKTzcn-Iozv8_N-IaZldtWSOiERLeEDlcrXx85oVYllrzaNiYb-kG1Wlna_irfr-96elhP4aS337j-fnaR5PbC1BZtO8ZQYpmhgaJWvKmTyC0lw4CMht1z6_zSQKJJG5NhwtkuQh_Z0aM23I810I0CJzLRGXCtrINz696hFe-4asZjx3G0LwF98EL5qiOHwujyIowXLfKDp9WKv72FYXuTMSv4yjrT7AOz1WzDzFOTkKeWvP87kVLzPf_VctWFsEMf8T8xtZybYEZ-nrwKt-kQ4MdoK8t011dj-y0Fpx2dUzDzJua0OYIm871UwBwQuqitIXQhFJe1LxMXnNBp81mE1M-8Jt7FsST9DYkmMY1INKHhhwT_YyK3Idz64vvPy9f9ymAlGW_KukNKTvLz35o_xzmJJknktzhK_4IM_tnZ-99N3aaZdAMvXfixxe7fK3NCWTTuPHEXufpPTk84osO_amJ1S-MhMl2haYye5_DKHPjDa3Dz-XB-PpKWf2k2oiT2wUbp78lG2x4W2jjDVGfDkiknuG1vZ772VajcnesUj2Z8Z_s_ofKj0kZZtxJ7mLdNayHzR7S1dHO0Yq38o6-s9EuaV7dN3E7jD_HwfcIJg0bcD7dtTXNhfMV9Kb8rq_a7v8yXvyzfvv38892uFO8pfL1yiOiqdCl86b7cd00XTmtp-7yq_GyJksT_pIfy-qO5PhpbbUkS-Uwn3hOgr_T9n31yfb3nq9ErdXf36LASHRmkVmuoVfMuNAehTqpNf_BBa_1YGVEaRQMaROkwiQeDZBgG4M8a7WHXofU66qKw6GdGMm0K_ItGwYAkc2AqhxBKtm2O1JJVUFf-ZHXZR3TuG3qR9977_06AuUE_mNuUnp5ebvJxlI-iEbvBcTgIaRimw3R0sxlnA2SjLA6DQZTGSTqgBaODNEhylhQ4GIU3YkwDGgdxEAVxEAaDfhIWaZjmEU-ieJBmAxIHWDIh-35I9LVZ3whraxwPB3E8vJEsQ2mb98qUKnyF5iGhlCTzGzNuhlFWry2JAymsswcvTjiJ4wUT0nk9mhfMP3q73AyANLiiRhrc1EaOf_dBtKHqB18Tyj8CAAD__8Fr3NI">