aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/converts.cc
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2012-08-17 17:37:03 +0000
committerKeith Seitz <keiths@redhat.com>2012-08-17 17:37:03 +0000
commita451cb65e32f48d8b3cd71806da223c6c105cf94 (patch)
tree4edbaadee2cb321bf2975ff93b0af87e71adb798 /gdb/testsuite/gdb.cp/converts.cc
parent7b458c12dc33fc7af4c67c138feaa5f034351bac (diff)
downloadfsf-binutils-gdb-a451cb65e32f48d8b3cd71806da223c6c105cf94.zip
fsf-binutils-gdb-a451cb65e32f48d8b3cd71806da223c6c105cf94.tar.gz
fsf-binutils-gdb-a451cb65e32f48d8b3cd71806da223c6c105cf94.tar.bz2
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.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/converts.cc b/gdb/testsuite/gdb.cp/converts.cc
index 26a45f5..ecebbf8 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
}