From: wilson Date: Fri, 12 Nov 1999 03:56:09 +0000 (+0000) Subject: Fix gdb testsuite failures caused by Kenner's bulk merge from gcc2. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65381c5560d5afb34f07d8d3a039cf4a1da128b4;p=platform%2Fupstream%2Flinaro-gcc.git Fix gdb testsuite failures caused by Kenner's bulk merge from gcc2. * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large unsigned types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30495 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68fbfbd..a27282e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 11 19:45:24 1999 Jim Wilson + + * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large + unsigned types. + Thu Nov 11 18:54:24 1999 Jeffrey A Law (law@cygnus.com) * function.c (diddle_return_value): Use hard_function_value to diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 7005194..cce7031 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -1180,9 +1180,17 @@ dbxout_type (type, full, show_arg_types) can write it out in case the host wide int is narrower than the target "long". */ + /* For unsigned types, we use octal if they are the same size or + larger. This is because we print the bounds as signed decimal, + and hence they can't span same size unsigned types. */ + if (use_gnu_debug_info_extensions && (TYPE_PRECISION (type) > TYPE_PRECISION (integer_type_node) - || TYPE_PRECISION (type) > HOST_BITS_PER_WIDE_INT)) + || (TYPE_PRECISION (type) == TYPE_PRECISION (integer_type_node) + && TREE_UNSIGNED (type)) + || TYPE_PRECISION (type) > HOST_BITS_PER_WIDE_INT + || (TYPE_PRECISION (type) == HOST_BITS_PER_WIDE_INT + && TREE_UNSIGNED (type)))) { fprintf (asmfile, "r"); dbxout_type_index (type);