From 22b1c54a0c198310c9cb5796d779997353c883ac Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Sat, 14 Jan 1995 16:48:03 +0000 Subject: * eval.c (evaluate_subexp): Clear expect_type except for C++ and CHILL. --- gdb/ChangeLog | 4 ++++ gdb/eval.c | 13 +++++++++++++ 2 files changed, 17 insertions(+) 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 + + * eval.c (evaluate_subexp): Clear expect_type except for C++ and CHILL. + Fri Jan 13 17:52:57 1995 Jim Kingdon * 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; -- cgit v1.1