Skip to content
Snippets Groups Projects
  • Maciej W. Rozycki's avatar
    53b6d6f5
    ARC: Fix build errors with large constants and C89 · 53b6d6f5
    Maciej W. Rozycki authored
    Fix build errors:
    
    cc1: warnings being treated as errors
    In file included from .../opcodes/arc-opc.c:2630:
    .../opcodes/arc-nps400-tbl.h:38: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:38: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:41: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:41: warning: integer constant is too large for 'long' type
    [...]
    .../opcodes/arc-nps400-tbl.h:712: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:712: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:715: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:715: warning: integer constant is too large for 'long' type
    make[4]: *** [arc-opc.lo] Error 1
    
    and:
    
    cc1: warnings being treated as errors
    .../gas/config/tc-arc.c: In function 'md_number_to_chars_midend':
    .../gas/config/tc-arc.c:802: warning: integer constant is too large for 'long' type
    .../gas/config/tc-arc.c:810: warning: integer constant is too large for 'long' type
    make[4]: *** [config/tc-arc.o] Error 1
    
    observed with GCC 4.1.2 and presumably other C89 compilers with the
    `arc-elf' and `arc-linux-gnu' targets, caused by the use of constants
    the values of which are outside the range of the `int' type (or the
    `long' type if it is of the same with).  In the C89 language standard
    such constants are not implicitly converted to a wider type and an
    explicit suffix is required for such constants.
    
    Add a `ull' suffix then as with such constants used in other ports.
    
    	gas/
    	* config/tc-arc.c (md_number_to_chars_midend): Append `ull' to
    	large constants.
    
    	opcodes/
    	* arc-nps400-tbl.h: Append `ull' to large constants throughout.
    53b6d6f5
    History
    ARC: Fix build errors with large constants and C89
    Maciej W. Rozycki authored
    Fix build errors:
    
    cc1: warnings being treated as errors
    In file included from .../opcodes/arc-opc.c:2630:
    .../opcodes/arc-nps400-tbl.h:38: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:38: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:41: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:41: warning: integer constant is too large for 'long' type
    [...]
    .../opcodes/arc-nps400-tbl.h:712: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:712: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:715: warning: integer constant is too large for 'long' type
    .../opcodes/arc-nps400-tbl.h:715: warning: integer constant is too large for 'long' type
    make[4]: *** [arc-opc.lo] Error 1
    
    and:
    
    cc1: warnings being treated as errors
    .../gas/config/tc-arc.c: In function 'md_number_to_chars_midend':
    .../gas/config/tc-arc.c:802: warning: integer constant is too large for 'long' type
    .../gas/config/tc-arc.c:810: warning: integer constant is too large for 'long' type
    make[4]: *** [config/tc-arc.o] Error 1
    
    observed with GCC 4.1.2 and presumably other C89 compilers with the
    `arc-elf' and `arc-linux-gnu' targets, caused by the use of constants
    the values of which are outside the range of the `int' type (or the
    `long' type if it is of the same with).  In the C89 language standard
    such constants are not implicitly converted to a wider type and an
    explicit suffix is required for such constants.
    
    Add a `ull' suffix then as with such constants used in other ports.
    
    	gas/
    	* config/tc-arc.c (md_number_to_chars_midend): Append `ull' to
    	large constants.
    
    	opcodes/
    	* arc-nps400-tbl.h: Append `ull' to large constants throughout.