From a451cb65e32f48d8b3cd71806da223c6c105cf94 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Fri, 17 Aug 2012 17:37:03 +0000 Subject: PR c++/13356 * gdbtypes.c (strict_type_checking): New variable. (show_strict_type_checking): New function. (rank_one_type): Return NS_POINTER_INTEGER_CONVERSION_BADNESS if strict type checking is disabled. (_initialize_gdbtypes): Add "check type" subcommand. * gdbtypes.h (NS_INTEGER_POINTER_CONVERSION_BADNESS): New struct. PR c++/13356 * gdb.base/default.exp: Update all "check type" tests. * gdb.base/help.exp: Likewise. * gdb.base/setshow.exp: Likewise. * gdb.cp/converts.cc (foo1_type_check): New function. (foo2_type_check): New function. (foo3_type_check): New function. (main): Call new functions. * converts.exp: Add tests for integer-to-pointer conversions with/without strict type-checking. PR c++/13356 * gdb.texinfo (Type and Range Checking): Remove warning. Remove spurious commas. Update text and examples for re-implementation of set/show check type. (C and C++ Type and Range Checks): Likewise. * language.h (type_mode): Remove. (type_check): Remove. (struct language_defn): Remove la_type_check. (STRICT_TYPE): Remove unused macro. (type_error): Remove. * language.c (set_type_range_case): Renamed to ... (set_range_case): ... this. Update all callers. Remove type_mode/type_check. (type_mode): Remove. (type_check): Remove. (show_type_command): Remove. (set_type_command): Remove. (language_info): Remove type checking output. (type_error): Remove unused function. (range_error): Update comment. (unknown_language_defn): Remove la_type_check. (auto_language_defn): Likewise. (local_language_defn): Likewise. (_initialize_language): Remove "check type" subcommand. * ada-lang.c (ada_language_defn): Remove la_type_check. * c-lang.c (c_language_defn): Likewise. (cplus_language_defn): Likewise. (asm_language_defn): Likewise. (minimal_language_defn): Likewise. * d-lang.c (d_language_defn): Likewise. * f-lang.c (f_language_defn): Likewise. * go-lang.c (go_language_defn): Likewise. * jv-lang.c (java_language_defn): Likewise. * m2-lang.c (m2_language_defn): Likewise. * objc-lang.c (objc_language_defn): Likewise. * opencl-lang.c (opencl_language_defn): Likewise. * p-lang.c (pascal_language_defn): Likewise. --- gdb/language.h | 30 ------------------------------ 1 file changed, 30 deletions(-) (limited to 'gdb/language.h') 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? */ -- cgit v1.1