* c-exp.y, gdbtypes.h: Add builtin_type_signed_char.

* cplus-dem.c:  Support "Sc" meaning "signed char".
This commit is contained in:
Per Bothner
1992-03-26 08:33:43 +00:00
parent 88f36033ee
commit 04f27ddc6d
4 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Wed Mar 25 16:52:35 1992 Per Bothner (bothner@cygnus.com)
* c-exp.y, gdbtypes.h: Add builtin_type_signed_char.
* cplus-dem.c: Support "Sc" meaning "signed char".
Wed Mar 25 15:21:44 1992 Stu Grossman (grossman at cygnus.com) Wed Mar 25 15:21:44 1992 Stu Grossman (grossman at cygnus.com)
* configure.in: fix iris/iris3. * configure.in: fix iris/iris3.

View File

@ -1495,6 +1495,7 @@ struct type *builtin_type_short;
struct type *builtin_type_int; struct type *builtin_type_int;
struct type *builtin_type_long; struct type *builtin_type_long;
struct type *builtin_type_long_long; struct type *builtin_type_long_long;
struct type *builtin_type_signed_char;
struct type *builtin_type_unsigned_char; struct type *builtin_type_unsigned_char;
struct type *builtin_type_unsigned_short; struct type *builtin_type_unsigned_short;
struct type *builtin_type_unsigned_int; struct type *builtin_type_unsigned_int;
@ -1516,6 +1517,7 @@ struct type ** const (c_builtin_types[]) =
&builtin_type_double, &builtin_type_double,
&builtin_type_void, &builtin_type_void,
&builtin_type_long_long, &builtin_type_long_long,
&builtin_type_signed_char,
&builtin_type_unsigned_char, &builtin_type_unsigned_char,
&builtin_type_unsigned_short, &builtin_type_unsigned_short,
&builtin_type_unsigned_int, &builtin_type_unsigned_int,
@ -1572,6 +1574,10 @@ _initialize_c_exp ()
init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
0, 0,
"char", (struct objfile *) NULL); "char", (struct objfile *) NULL);
builtin_type_signed_char =
init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
TYPE_FLAG_SIGNED,
"signed char", (struct objfile *) NULL);
builtin_type_unsigned_char = builtin_type_unsigned_char =
init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED, TYPE_FLAG_UNSIGNED,

View File

@ -507,6 +507,7 @@ cplus_demangle (type, arg_mode)
done = is_pointer = 1; done = is_pointer = 1;
break; break;
case 'C': /* const */ case 'C': /* const */
case 'S': /* explicitly signed [char] */
case 'U': /* unsigned */ case 'U': /* unsigned */
case 'V': /* volatile */ case 'V': /* volatile */
case 'F': /* function */ case 'F': /* function */
@ -867,6 +868,14 @@ do_type (type, result, arg_mode)
non_empty = 1; non_empty = 1;
string_append (result, "unsigned"); string_append (result, "unsigned");
break; break;
case 'S': /* signed char only */
*type += 1;
if (non_empty)
string_append (result, " ");
else
non_empty = 1;
string_append (result, "signed");
break;
case 'V': case 'V':
*type += 1; *type += 1;
if (print_ansi_qualifiers) if (print_ansi_qualifiers)

View File

@ -422,6 +422,7 @@ extern struct type *builtin_type_char;
extern struct type *builtin_type_short; extern struct type *builtin_type_short;
extern struct type *builtin_type_int; extern struct type *builtin_type_int;
extern struct type *builtin_type_long; extern struct type *builtin_type_long;
extern struct type *builtin_type_signed_char;
extern struct type *builtin_type_unsigned_char; extern struct type *builtin_type_unsigned_char;
extern struct type *builtin_type_unsigned_short; extern struct type *builtin_type_unsigned_short;
extern struct type *builtin_type_unsigned_int; extern struct type *builtin_type_unsigned_int;