aboutsummaryrefslogtreecommitdiff
path: root/gdb/eval.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1995-01-14 16:48:03 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1995-01-14 16:48:03 +0000
commit22b1c54a0c198310c9cb5796d779997353c883ac (patch)
treeaec16b788785ef8044d4b600eec259fd5d58770a /gdb/eval.c
parent770b7c5935e6c4faf26c63c085c3132303556dd5 (diff)
downloadgdb-22b1c54a0c198310c9cb5796d779997353c883ac.zip
gdb-22b1c54a0c198310c9cb5796d779997353c883ac.tar.gz
gdb-22b1c54a0c198310c9cb5796d779997353c883ac.tar.bz2
* eval.c (evaluate_subexp): Clear expect_type except for C++ and CHILL.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r--gdb/eval.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/eval.c b/gdb/eval.c
index a8fd2c2..116cf2b 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -172,6 +172,19 @@ evaluate_subexp (expect_type, exp, pos, noside)
int code;
struct internalvar *var;
+ /* This expect_type crap should not be used for C. C does not have
+ any notion of expected types, never has and (goddess willing)
+ never will. The C++ code uses it for some twisted purpose (I
+ haven't investigated but I suspect it just the usual combination
+ of Stroustrup figuring out some crazy language feature and
+ Tiemann figuring out some crazier way to try to implement it).
+ CHILL has the tuple stuff; I don't know enough about CHILL to
+ know whether expected types is the way to do it. FORTRAN I don't
+ know. */
+ if (current_language->la_language != language_cplus
+ && current_language->la_language != language_chill)
+ expect_type = NULL_TYPE;
+
pc = (*pos)++;
op = exp->elts[pc].opcode;