aboutsummaryrefslogtreecommitdiff
path: root/gdb/buildsym.c
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1992-06-25 22:35:09 +0000
committerStu Grossman <grossman@cygnus>1992-06-25 22:35:09 +0000
commit50a11e493374d5c39c8e3855e0f574bb46ac19a2 (patch)
tree39f01b14c412e00a60c4e4e47463a361f0abaf24 /gdb/buildsym.c
parent99fd9e3ee638d6a003da2a727786510ac9bf0b76 (diff)
downloadgdb-50a11e493374d5c39c8e3855e0f574bb46ac19a2.zip
gdb-50a11e493374d5c39c8e3855e0f574bb46ac19a2.tar.gz
gdb-50a11e493374d5c39c8e3855e0f574bb46ac19a2.tar.bz2
* buildsym.c (read_sun_builtin_type): Handle new FCS Sun CC
compiler feature of putting 'c' into basic type descriptors for all forms of char.
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r--gdb/buildsym.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 24552ed..4417177 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -2988,6 +2988,14 @@ read_sun_builtin_type (pp, typenums, objfile)
}
(*pp)++;
+ /* For some odd reason, all forms of char put a c here. This is strange
+ because no other type has this honor. We can safely ignore this because
+ we actually determine 'char'acterness by the number of bits specified in
+ the descriptor. */
+
+ if (**pp == 'c')
+ (*pp)++;
+
/* The first number appears to be the number of bytes occupied
by this type, except that unsigned short is 4 instead of 2.
Since this information is redundant with the third number,