Skip to content
  • Sergei Trofimovich's avatar
    UNREG: fix "_bytes" string literal forward declaration · 34a02055
    Sergei Trofimovich authored
    
    
    Typical UNREG build failure looks like that:
    
      ghc-unreg/includes/Stg.h:226:46: error:
         note: in definition of macro 'EI_'
         #define EI_(X)          extern StgWordArray (X) GNU_ATTRIBUTE(aligned (8))
                                                      ^
          |
      226 | #define EI_(X)          extern StgWordArray (X) GNU_ATTRIBUTE(aligned (8))
          |                                              ^
    
      /tmp/ghc10489_0/ghc_3.hc:1754:6: error:
         note: previous definition of 'ghczmprim_GHCziTypes_zdtcTyCon2_bytes' was here
         char ghczmprim_GHCziTypes_zdtcTyCon2_bytes[] = "TyCon";
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           |
      1754 | char ghczmprim_GHCziTypes_zdtcTyCon2_bytes[] = "TyCon";
           |      ^
    
    As we see here "_bytes" string literals are defined as 'char []'
    array, not 'StgWord []'.
    
    The change special-cases "_bytes" string literals to have
    correct declaration type.
    
    Signed-off-by: default avatarSergei Trofimovich <siarheit@google.com>
    34a02055