aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@baylibre.com>2024-12-05 14:28:26 +0100
committerThomas Schwinge <tschwinge@baylibre.com>2024-12-09 10:48:40 +0100
commit91c503431f675bf3c94bd23c2b1deecdd2df52b8 (patch)
treee10d27c7735fd4c2c09efc80e5e9bce4d7899361 /gcc
parentbe38c37fdc35e7f77dbab16736782cfe24769e77 (diff)
downloadgcc-91c503431f675bf3c94bd23c2b1deecdd2df52b8.zip
gcc-91c503431f675bf3c94bd23c2b1deecdd2df52b8.tar.gz
gcc-91c503431f675bf3c94bd23c2b1deecdd2df52b8.tar.bz2
GCN: Fix 'real_from_integer' usage
The recent commit b3f1b9e2aa079f8ec73e3cb48143a16645c49566 "build: Remove INCLUDE_MEMORY [PR117737]" exposed an issue in code added in 2020 GCN back end commit 95607c12363712c39345e1d97f2c1aee8025e188 "Zero-initialise masked load destinations"; compilation now fails: [...] In file included from ../../source-gcc/gcc/coretypes.h:507:0, from ../../source-gcc/gcc/config/gcn/gcn.cc:24: ../../source-gcc/gcc/real.h: In instantiation of ‘format_helper::format_helper(const T&) [with T = std::nullptr_t]’: ../../source-gcc/gcc/config/gcn/gcn.cc:1178:46: required from here ../../source-gcc/gcc/real.h:233:17: error: no match for ‘operator==’ (operand types are ‘std::nullptr_t’ and ‘machine_mode’) : m_format (m == VOIDmode ? 0 : REAL_MODE_FORMAT (m)) ^ [...] That's with 'g++ (GCC) 5.5.0', and seen similarly with 'g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0', for example. gcc/ * config/gcn/gcn.cc (gcn_vec_constant): Fix 'real_from_integer' usage.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/gcn/gcn.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index 8fce1c9..d017f22 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -1175,7 +1175,7 @@ gcn_vec_constant (machine_mode mode, int a)
if (FLOAT_MODE_P (innermode))
{
REAL_VALUE_TYPE rv;
- real_from_integer (&rv, NULL, a, SIGNED);
+ real_from_integer (&rv, VOIDmode, a, SIGNED);
tem = const_double_from_real_value (rv, innermode);
}
else