public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-3330] GCN: Restore build with GCC 4.8
@ 2022-10-17 12:20 Thomas Schwinge
  0 siblings, 0 replies; only message in thread
From: Thomas Schwinge @ 2022-10-17 12:20 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:612de72b0d2904b5a5a2b487ce4cb907c768a947

commit r13-3330-g612de72b0d2904b5a5a2b487ce4cb907c768a947
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Sat Oct 15 00:10:29 2022 +0200

    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.

Diff:
---
 gcc/config/gcn/gcn.cc | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index 3dc294c2d2f..8777255a5c6 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;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-17 12:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-17 12:20 [gcc r13-3330] GCN: Restore build with GCC 4.8 Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).