aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2022-10-15 00:10:29 +0200
committerThomas Schwinge <thomas@codesourcery.com>2022-10-17 14:17:18 +0200
commit612de72b0d2904b5a5a2b487ce4cb907c768a947 (patch)
tree89502e592f021f3f891d003f6eded89cef26c95d /gcc
parentaeb1e2bff95ae17717026905ef404699d91f5c61 (diff)
downloadgcc-612de72b0d2904b5a5a2b487ce4cb907c768a947.zip
gcc-612de72b0d2904b5a5a2b487ce4cb907c768a947.tar.gz
gcc-612de72b0d2904b5a5a2b487ce4cb907c768a947.tar.bz2
GCN: Restore build with GCC 4.8
For example, for "g++-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4", the recent commit r13-3220-g45381d6f9f4e7b5c7b062f5ad8cc9788091c2d07 "amdgcn: add multiple vector sizes" broke the build: In file included from [...]/source-gcc/gcc/coretypes.h:458:0, from [...]/source-gcc/gcc/config/gcn/gcn.cc:24: [...]/source-gcc/gcc/config/gcn/gcn.cc: In function ‘machine_mode VnMODE(int, machine_mode)’: ./insn-modes.h:42:71: error: temporary of non-literal type ‘scalar_int_mode’ in a constant expression #define QImode (scalar_int_mode ((scalar_int_mode::from_int) E_QImode)) ^ [...]/source-gcc/gcc/config/gcn/gcn.cc:405:10: note: in expansion of macro ‘QImode’ case QImode: ^ In file included from [...]/source-gcc/gcc/coretypes.h:478:0, from [...]/source-gcc/gcc/config/gcn/gcn.cc:24: [...]/source-gcc/gcc/machmode.h:410:7: note: ‘scalar_int_mode’ is not literal because: class scalar_int_mode ^ [...]/source-gcc/gcc/machmode.h:410:7: note: ‘scalar_int_mode’ is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor [...] Addressing this like simiar issues have been addressed in the past. gcc/ * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of 'case QImode:', etc.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/gcn/gcn.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index 3dc294c..8777255 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -402,7 +402,7 @@ VnMODE (int n, machine_mode mode)
{
switch (mode)
{
- case QImode:
+ case E_QImode:
switch (n)
{
case 2: return V2QImode;
@@ -413,7 +413,7 @@ VnMODE (int n, machine_mode mode)
case 64: return V64QImode;
}
break;
- case HImode:
+ case E_HImode:
switch (n)
{
case 2: return V2HImode;
@@ -424,7 +424,7 @@ VnMODE (int n, machine_mode mode)
case 64: return V64HImode;
}
break;
- case HFmode:
+ case E_HFmode:
switch (n)
{
case 2: return V2HFmode;
@@ -435,7 +435,7 @@ VnMODE (int n, machine_mode mode)
case 64: return V64HFmode;
}
break;
- case SImode:
+ case E_SImode:
switch (n)
{
case 2: return V2SImode;
@@ -446,7 +446,7 @@ VnMODE (int n, machine_mode mode)
case 64: return V64SImode;
}
break;
- case SFmode:
+ case E_SFmode:
switch (n)
{
case 2: return V2SFmode;
@@ -457,7 +457,7 @@ VnMODE (int n, machine_mode mode)
case 64: return V64SFmode;
}
break;
- case DImode:
+ case E_DImode:
switch (n)
{
case 2: return V2DImode;
@@ -468,7 +468,7 @@ VnMODE (int n, machine_mode mode)
case 64: return V64DImode;
}
break;
- case DFmode:
+ case E_DFmode:
switch (n)
{
case 2: return V2DFmode;