diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2022-10-15 00:10:29 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2022-10-17 14:17:18 +0200 |
commit | 612de72b0d2904b5a5a2b487ce4cb907c768a947 (patch) | |
tree | 89502e592f021f3f891d003f6eded89cef26c95d /gcc | |
parent | aeb1e2bff95ae17717026905ef404699d91f5c61 (diff) | |
download | gcc-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.cc | 14 |
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; |