aboutsummaryrefslogtreecommitdiff
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
parent770b7c5935e6c4faf26c63c085c3132303556dd5 (diff)
downloadfsf-binutils-gdb-22b1c54a0c198310c9cb5796d779997353c883ac.zip
fsf-binutils-gdb-22b1c54a0c198310c9cb5796d779997353c883ac.tar.gz
fsf-binutils-gdb-22b1c54a0c198310c9cb5796d779997353c883ac.tar.bz2
* eval.c (evaluate_subexp): Clear expect_type except for C++ and CHILL.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/eval.c13
2 files changed, 17 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 290b1d1..4757d43 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+Sat Jan 14 11:18:11 1995 Jim Kingdon <kingdon@lioth.cygnus.com>
+
+ * eval.c (evaluate_subexp): Clear expect_type except for C++ and CHILL.
+
Fri Jan 13 17:52:57 1995 Jim Kingdon <kingdon@lioth.cygnus.com>
* infcmd.c (signal_command): Accept "signal 0"; the change to not
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;