diff options
author | Keith Seitz <keiths@redhat.com> | 2012-08-17 17:37:03 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2012-08-17 17:37:03 +0000 |
commit | a451cb65e32f48d8b3cd71806da223c6c105cf94 (patch) | |
tree | 4edbaadee2cb321bf2975ff93b0af87e71adb798 /gdb/testsuite/gdb.cp/converts.cc | |
parent | 7b458c12dc33fc7af4c67c138feaa5f034351bac (diff) | |
download | binutils-gdb-a451cb65e32f48d8b3cd71806da223c6c105cf94.tar.gz |
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.
Diffstat (limited to 'gdb/testsuite/gdb.cp/converts.cc')
-rw-r--r-- | gdb/testsuite/gdb.cp/converts.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/converts.cc b/gdb/testsuite/gdb.cp/converts.cc index 26a45f55208..ecebbf80a67 100644 --- a/gdb/testsuite/gdb.cp/converts.cc +++ b/gdb/testsuite/gdb.cp/converts.cc @@ -27,6 +27,10 @@ int foo3_1 (int a, const char **b) { return 31; } int foo3_2 (int a, int b) { return 32; } int foo3_2 (int a, const char **b) { return 320; } +int foo1_type_check (char *a) { return 1000; } +int foo2_type_check (char *a, char *b) { return 1001; } +int foo3_type_check (char *a, char *b, char *c) { return 1002; } + int main() { @@ -62,5 +66,9 @@ int main() foo3_2 (0, static_cast<char const**> (0)); foo3_2 (0, 0); + foo1_type_check (a); + foo2_type_check (a, a); + foo3_type_check (a, a, a); + return 0; // end of main } |