https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90109

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilson at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 8 seems to get 'long int' correct:

typedef int32 int;
typedef int8 char;
typedef int64 long int;
typedef uint32 unsigned int;
typedef uint32 long unsigned int;
typedef uint32 __int128;
typedef uint32 __int128 unsigned;
typedef int64 long long int;
typedef uint64 long long unsigned int;
typedef int16 short int;
typedef uint16 short unsigned int;
typedef int8 signed char;
typedef uint8 unsigned char;
typedef float float;
typedef double double;
typedef float128 long double;

long double is also wrong.  GCC does

          if (print_int_cst_bounds_in_octal_p (type, low, high))
            ...
          else
             /* Output other integer types as subranges of `int'.  */
             dbxout_range_type (type, low, high);

probably that's the issue.  It looks like you need to use -gstabs+ to allow
representing those types at all (stabs with GNU extensions).  With -gstabs+
I see

/tmp/t.c:
typedef int32 int;
typedef int8 char;
typedef int64 long int;
typedef uint32 unsigned int;
typedef uint64 long unsigned int;
typedef void __int128;
typedef void __int128 unsigned;
typedef int64 long long int;
typedef uint64 long long unsigned int;
typedef int16 short int;
typedef uint16 short unsigned int;
typedef int8 signed char;
typedef uint8 unsigned char;
typedef float float;
typedef double double;
typedef float128 long double;

(long double still wrong)

So - INVALID?  Jim, you are "remotely" listed as MAINTAINER for stabs.

Reply via email to