diff --git a/gdb/language.h b/gdb/language.h index 38c4830..fb63870 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -55,27 +55,6 @@ extern enum range_check } range_check; -/* type_mode == - type_mode_auto: type_check set automatically to default of language. - type_mode_manual: type_check set manually by user. */ - -extern enum type_mode - { - type_mode_auto, type_mode_manual - } -type_mode; - -/* type_check == - type_check_on: Types are checked in GDB expressions, producing errors. - type_check_warn: Types are checked, producing warnings. - type_check_off: Types are not checked in GDB expressions. */ - -extern enum type_check - { - type_check_off, type_check_warn, type_check_on - } -type_check; - /* case_mode == case_mode_auto: case_sensitivity set upon selection of scope. case_mode_manual: case_sensitivity set only by user. */ @@ -162,10 +141,6 @@ struct language_defn enum range_check la_range_check; - /* Default type checking. */ - - enum type_check la_type_check; - /* Default case sensitivity. */ enum case_sensitivity la_case_sensitivity; @@ -422,9 +397,6 @@ struct type *language_lookup_primitive_type_by_name (const struct language_defn /* These macros define the behaviour of the expression evaluator. */ -/* Should we strictly type check expressions? */ -#define STRICT_TYPE (type_check != type_check_off) - /* Should we range check values against the domain of their type? */ #define RANGE_CHECK (range_check != range_check_off) @@ -496,8 +468,6 @@ extern void binop_type_check (struct value *, struct value *, int); /* Error messages */ -extern void type_error (const char *, ...) ATTRIBUTE_PRINTF (1, 2); - extern void range_error (const char *, ...) ATTRIBUTE_PRINTF (1, 2); /* Data: Does this value represent "truth" to the current language? */ diff --git a/gdb/language.c b/gdb/language.c index f0a8697..841f2d6 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -55,7 +55,7 @@ static void show_check (char *, int); static void set_check (char *, int); -static void set_type_range_case (void); +static void set_range_case (void); static void unk_lang_emit_char (int c, struct type *type, struct ui_file *stream, int quoter); @@ -81,8 +81,6 @@ extern const struct language_defn unknown_language_defn; enum range_mode range_mode = range_mode_auto; enum range_check range_check = range_check_off; -enum type_mode type_mode = type_mode_auto; -enum type_check type_check = type_check_off; enum case_mode case_mode = case_mode_auto; enum case_sensitivity case_sensitivity = case_sensitive_on; @@ -174,7 +172,7 @@ set_language_command (char *ignore, int from_tty, struct cmd_list_element *c) /* Enter manual mode. Set the specified language. */ language_mode = language_mode_manual; current_language = languages[i]; - set_type_range_case (); + set_range_case (); expected_language = current_language; return; } @@ -186,79 +184,6 @@ set_language_command (char *ignore, int from_tty, struct cmd_list_element *c) language); } -/* Show command. Display a warning if the type setting does - not match the current language. */ -static void -show_type_command (struct ui_file *file, int from_tty, - struct cmd_list_element *c, const char *value) -{ - if (type_mode == type_mode_auto) - { - char *tmp = NULL; - - switch (type_check) - { - case type_check_on: - tmp = "on"; - break; - case type_check_off: - tmp = "off"; - break; - case type_check_warn: - tmp = "warn"; - break; - default: - internal_error (__FILE__, __LINE__, - "Unrecognized type check setting."); - } - - fprintf_filtered (gdb_stdout, - _("Type checking is \"auto; currently %s\".\n"), - tmp); - } - else - fprintf_filtered (gdb_stdout, _("Type checking is \"%s\".\n"), - value); - - if (type_check != current_language->la_type_check) - warning (_("the current type check setting" - " does not match the language.\n")); -} - -/* Set command. Change the setting for type checking. */ -static void -set_type_command (char *ignore, int from_tty, struct cmd_list_element *c) -{ - if (strcmp (type, "on") == 0) - { - type_check = type_check_on; - type_mode = type_mode_manual; - } - else if (strcmp (type, "warn") == 0) - { - type_check = type_check_warn; - type_mode = type_mode_manual; - } - else if (strcmp (type, "off") == 0) - { - type_check = type_check_off; - type_mode = type_mode_manual; - } - else if (strcmp (type, "auto") == 0) - { - type_mode = type_mode_auto; - set_type_range_case (); - return; - } - else - internal_error (__FILE__, __LINE__, - _("Unrecognized type check setting: \"%s\""), type); - - if (type_check != current_language->la_type_check) - warning (_("the current type check setting" - " does not match the language.\n")); -} - /* Show command. Display a warning if the range setting does not match the current language. */ static void @@ -320,7 +245,7 @@ set_range_command (char *ignore, int from_tty, struct cmd_list_element *c) else if (strcmp (range, "auto") == 0) { range_mode = range_mode_auto; - set_type_range_case (); + set_range_case (); return; } else @@ -389,7 +314,7 @@ set_case_command (char *ignore, int from_tty, struct cmd_list_element *c) else if (strcmp (case_sensitive, "auto") == 0) { case_mode = case_mode_auto; - set_type_range_case (); + set_range_case (); return; } else @@ -409,14 +334,11 @@ set_case_command (char *ignore, int from_tty, struct cmd_list_element *c) If SHOW is non-zero, then print out the current language, type and range checking status. */ static void -set_type_range_case (void) +set_range_case (void) { if (range_mode == range_mode_auto) range_check = current_language->la_range_check; - if (type_mode == type_mode_auto) - type_check = current_language->la_type_check; - if (case_mode == case_mode_auto) case_sensitivity = current_language->la_case_sensitivity; } @@ -437,7 +359,7 @@ set_language (enum language lang) if (languages[i]->la_language == lang) { current_language = languages[i]; - set_type_range_case (); + set_range_case (); break; } } @@ -461,8 +383,6 @@ language_info (int quietly) if (!quietly) { - printf_unfiltered (_("Type checking: %s\n"), type); - show_type_command (NULL, 1, NULL, NULL); printf_unfiltered (_("Range checking: %s\n"), range); show_range_command (NULL, 1, NULL, NULL); printf_unfiltered (_("Case sensitivity: %s\n"), case_sensitive); @@ -500,38 +420,11 @@ value_true (struct value *val) error messages that occur during type- and range- checking. */ -/* These are called when a language fails a type- or range-check. The +/* This is called when a language fails a range-check. The first argument should be a printf()-style format string, and the - rest of the arguments should be its arguments. If - [type|range]_check is [type|range]_check_on, an error is printed; - if [type|range]_check_warn, a warning; otherwise just the - message. */ - -void -type_error (const char *string,...) -{ - va_list args; - - va_start (args, string); - switch (type_check) - { - case type_check_warn: - vwarning (string, args); - break; - case type_check_on: - verror (string, args); - break; - case type_check_off: - /* FIXME: cagney/2002-01-30: Should this function print anything - when type error is off? */ - vfprintf_filtered (gdb_stderr, string, args); - fprintf_filtered (gdb_stderr, "\n"); - break; - default: - internal_error (__FILE__, __LINE__, _("bad switch")); - } - va_end (args); -} + rest of the arguments should be its arguments. If range_check is + range_check_on, an error is printed; if range_check_warn, a warning; + otherwise just the message. */ void range_error (const char *string,...) @@ -902,7 +795,6 @@ const struct language_defn unknown_language_defn = "unknown", language_unknown, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_no, @@ -946,7 +838,6 @@ const struct language_defn auto_language_defn = "auto", language_auto, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_no, @@ -988,7 +879,6 @@ const struct language_defn local_language_defn = "local", language_auto, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_no, @@ -1135,13 +1025,6 @@ _initialize_language (void) add_alias_cmd ("c", "check", no_class, 1, &showlist); add_alias_cmd ("ch", "check", no_class, 1, &showlist); - add_setshow_enum_cmd ("type", class_support, type_or_range_names, &type, - _("Set type checking. (on/warn/off/auto)"), - _("Show type checking. (on/warn/off/auto)"), - NULL, set_type_command, - show_type_command, - &setchecklist, &showchecklist); - add_setshow_enum_cmd ("range", class_support, type_or_range_names, &range, _("Set range checking. (on/warn/off/auto)"), diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index aa090af..38bc637 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -12499,7 +12499,6 @@ const struct language_defn ada_language_defn = { "ada", /* Language name */ language_ada, range_check_off, - type_check_off, case_sensitive_on, /* Yes, Ada is case-insensitive, but that's not quite what this means. */ array_row_major, diff --git a/gdb/c-lang.c b/gdb/c-lang.c index b5135d5..84830be 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -831,7 +831,6 @@ const struct language_defn c_language_defn = "c", /* Language name */ language_c, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, @@ -955,7 +954,6 @@ const struct language_defn cplus_language_defn = "c++", /* Language name */ language_cplus, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, @@ -997,7 +995,6 @@ const struct language_defn asm_language_defn = "asm", /* Language name */ language_asm, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, @@ -1044,7 +1041,6 @@ const struct language_defn minimal_language_defn = "minimal", /* Language name */ language_minimal, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, diff --git a/gdb/d-lang.c b/gdb/d-lang.c index 121040a..7b2c322 100644 --- a/gdb/d-lang.c +++ b/gdb/d-lang.c @@ -240,7 +240,6 @@ static const struct language_defn d_language_defn = "d", language_d, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, diff --git a/gdb/f-lang.c b/gdb/f-lang.c index 7492149..adab736 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -274,7 +274,6 @@ const struct language_defn f_language_defn = "fortran", language_fortran, range_check_on, - type_check_on, case_sensitive_off, array_column_major, macro_expansion_no, diff --git a/gdb/go-lang.c b/gdb/go-lang.c index 147a922..21f2427 100644 --- a/gdb/go-lang.c +++ b/gdb/go-lang.c @@ -562,7 +562,6 @@ static const struct language_defn go_language_defn = "go", language_go, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_no, diff --git a/gdb/jv-lang.c b/gdb/jv-lang.c index a7cfb76..6b865dc 100644 --- a/gdb/jv-lang.c +++ b/gdb/jv-lang.c @@ -1167,7 +1167,6 @@ const struct language_defn java_language_defn = "java", /* Language name */ language_java, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_no, diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c index 8faa6c1..a87039c 100644 --- a/gdb/m2-lang.c +++ b/gdb/m2-lang.c @@ -370,7 +370,6 @@ const struct language_defn m2_language_defn = "modula-2", language_m2, range_check_on, - type_check_on, case_sensitive_on, array_row_major, macro_expansion_no, diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c index 1a07c33..e42a03c 100644 --- a/gdb/objc-lang.c +++ b/gdb/objc-lang.c @@ -509,7 +509,6 @@ const struct language_defn objc_language_defn = { "objective-c", /* Language name */ language_objc, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c index 54075a4..b8fd9b7 100644 --- a/gdb/opencl-lang.c +++ b/gdb/opencl-lang.c @@ -993,7 +993,6 @@ const struct language_defn opencl_language_defn = "opencl", /* Language name */ language_opencl, range_check_off, - type_check_off, case_sensitive_on, array_row_major, macro_expansion_c, diff --git a/gdb/p-lang.c b/gdb/p-lang.c index c59ba0b..114efbc 100644 --- a/gdb/p-lang.c +++ b/gdb/p-lang.c @@ -429,7 +429,6 @@ const struct language_defn pascal_language_defn = "pascal", /* Language name */ language_pascal, range_check_on, - type_check_on, case_sensitive_on, array_row_major, macro_expansion_no,