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.
This commit is contained in:
parent
7b458c12dc
commit
a451cb65e3
23 changed files with 243 additions and 301 deletions
|
@ -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? */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue