aboutsummaryrefslogtreecommitdiff
path: root/gdb/valops.c
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>1996-01-12 07:12:42 +0000
committerPer Bothner <per@bothner.com>1996-01-12 07:12:42 +0000
commit34cfa2dab5a0d1f6c53b24847d6fd590c7a618c0 (patch)
treee21eeb4302dbbd2fdead81f627a855a0d1589d38 /gdb/valops.c
parentc9746fb695adc5dc98cf3b2c14d36f2a7503ef6a (diff)
downloadgdb-34cfa2dab5a0d1f6c53b24847d6fd590c7a618c0.zip
gdb-34cfa2dab5a0d1f6c53b24847d6fd590c7a618c0.tar.gz
gdb-34cfa2dab5a0d1f6c53b24847d6fd590c7a618c0.tar.bz2
* stabsread.c (read_struct_type): Trivial simplification.
* valops.c (call_function_by_hand): Use invisible references for TYPE_CODE_SET and TYPE_CODE_BITSTRING too.
Diffstat (limited to 'gdb/valops.c')
-rw-r--r--gdb/valops.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gdb/valops.c b/gdb/valops.c
index 6e6eae0..046d213 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -187,11 +187,11 @@ value_cast (type, arg2)
COERCE_VARYING_ARRAY (arg2, type2);
code2 = TYPE_CODE (type2);
- if (code1 == TYPE_CODE_COMPLEX)
- return cast_into_complex (type, arg2);
- if (code1 == TYPE_CODE_BOOL)
+ if (code1 == TYPE_CODE_COMPLEX)
+ return cast_into_complex (type, arg2);
+ if (code1 == TYPE_CODE_BOOL || code1 == TYPE_CODE_CHAR)
code1 = TYPE_CODE_INT;
- if (code2 == TYPE_CODE_BOOL)
+ if (code2 == TYPE_CODE_BOOL || code2 == TYPE_CODE_CHAR)
code2 = TYPE_CODE_INT;
scalar = (code2 == TYPE_CODE_INT || code2 == TYPE_CODE_FLT
@@ -1137,7 +1137,9 @@ call_function_by_hand (function, nargs, args)
if ((TYPE_CODE (arg_type) == TYPE_CODE_STRUCT
|| TYPE_CODE (arg_type) == TYPE_CODE_UNION
|| TYPE_CODE (arg_type) == TYPE_CODE_ARRAY
- || TYPE_CODE (arg_type) == TYPE_CODE_STRING)
+ || TYPE_CODE (arg_type) == TYPE_CODE_STRING
+ || TYPE_CODE (arg_type) == TYPE_CODE_BITSTRING
+ || TYPE_CODE (arg_type) == TYPE_CODE_SET)
&& REG_STRUCT_HAS_ADDR (using_gcc, arg_type))
{
CORE_ADDR addr;