From 55a8bd56e5a89f98aa9d4ed998cb8c686d447805 Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Thu, 24 Apr 2014 11:35:48 +0200 Subject: [PATCH] debuginfo: Split debuginfo autotests into debuginfo-gdb and debuginfo-lldb --- configure | 23 +- mk/tests.mk | 42 +- src/compiletest/common.rs | 6 +- src/compiletest/compiletest.rs | 32 +- src/compiletest/header.rs | 15 +- src/compiletest/runtest.rs | 236 +++++++++-- src/etc/lldb_batchmode.py | 184 +++++++++ .../basic-types-globals-metadata.rs | 73 ---- .../debug-info/basic-types-mut-globals.rs | 129 ------ .../lexical-scope-in-unconditional-loop.rs | 127 ------ src/test/debug-info/lexical-scope-in-while.rs | 123 ------ .../lexical-scopes-in-block-expression.rs | 377 ------------------ src/test/debug-info/simple-tuple.rs | 113 ------ src/test/debug-info/vec-slices.rs | 87 ---- .../debuginfo/basic-types-globals-metadata.rs | 73 ++++ .../basic-types-globals.rs | 64 +-- .../basic-types-metadata.rs | 72 ++-- src/test/debuginfo/basic-types-mut-globals.rs | 129 ++++++ .../{debug-info => debuginfo}/basic-types.rs | 62 +-- .../borrowed-basic.rs | 62 +-- .../borrowed-c-style-enum.rs | 18 +- .../borrowed-enum.rs | 18 +- .../borrowed-managed-basic.rs | 62 +-- .../borrowed-struct.rs | 46 +-- .../borrowed-tuple.rs | 22 +- .../borrowed-unique-basic.rs | 62 +-- src/test/{debug-info => debuginfo}/box.rs | 24 +- .../{debug-info => debuginfo}/boxed-struct.rs | 22 +- .../by-value-non-immediate-argument.rs | 62 +-- .../by-value-self-argument-in-trait-impl.rs | 36 +- .../c-style-enum-in-composite.rs | 34 +- .../{debug-info => debuginfo}/c-style-enum.rs | 78 ++-- .../closure-in-generic-function.rs | 32 +- .../destructured-fn-argument.rs | 338 ++++++++-------- .../destructured-local.rs | 226 +++++------ .../evec-in-struct.rs | 28 +- .../function-arg-initialization.rs | 180 ++++----- .../function-arguments.rs | 32 +- ...nction-prologue-stepping-no-split-stack.rs | 174 ++++---- .../generic-function.rs | 58 +-- .../generic-functions-nested.rs | 60 +-- .../generic-method-on-generic-struct.rs | 84 ++-- ...eneric-static-method-on-struct-and-enum.rs | 32 +- .../generic-struct-style-enum.rs | 24 +- .../generic-struct.rs | 24 +- ...ric-trait-generic-static-default-method.rs | 32 +- .../generic-tuple-style-enum.rs | 24 +- .../include_string.rs | 20 +- .../{debug-info => debuginfo}/issue11600.rs | 25 +- .../{debug-info => debuginfo}/issue12886.rs | 10 +- .../{debug-info => debuginfo}/issue13213.rs | 0 .../{debug-info => debuginfo}/issue7712.rs | 0 .../lexical-scope-in-for-loop.rs | 60 +-- .../lexical-scope-in-if.rs | 100 ++--- .../lexical-scope-in-match.rs | 124 +++--- .../lexical-scope-in-parameterless-closure.rs | 2 +- .../lexical-scope-in-stack-closure.rs | 64 +-- .../lexical-scope-in-unconditional-loop.rs | 127 ++++++ .../lexical-scope-in-unique-closure.rs | 64 +-- src/test/debuginfo/lexical-scope-in-while.rs | 123 ++++++ .../lexical-scope-with-macro.rs | 106 ++--- .../lexical-scopes-in-block-expression.rs | 377 ++++++++++++++++++ .../limited-debuginfo.rs | 22 +- .../{debug-info => debuginfo}/managed-enum.rs | 18 +- .../managed-pointer-within-unique-vec.rs | 22 +- .../managed-pointer-within-unique.rs | 20 +- .../method-on-enum.rs | 84 ++-- .../method-on-generic-struct.rs | 84 ++-- .../method-on-struct.rs | 84 ++-- .../method-on-trait.rs | 84 ++-- .../method-on-tuple-struct.rs | 84 ++-- .../multiple-functions-equal-var-names.rs | 32 +- .../multiple-functions.rs | 32 +- .../name-shadowing-and-scope-nesting.rs | 88 ++-- .../{debug-info => debuginfo}/nil-enum.rs | 14 +- .../option-like-enum.rs | 32 +- .../packed-struct-with-destructor.rs | 40 +- .../packed-struct.rs | 32 +- .../recursive-enum.rs | 2 +- .../recursive-struct.rs | 168 ++++---- .../self-in-default-method.rs | 84 ++-- .../self-in-generic-default-method.rs | 84 ++-- .../shadowed-argument.rs | 46 +-- .../shadowed-variable.rs | 46 +-- src/test/{debug-info => debuginfo}/simd.rs | 48 +-- .../simple-lexical-scope.rs | 74 ++-- .../simple-struct.rs | 84 ++-- src/test/debuginfo/simple-tuple.rs | 113 ++++++ .../static-method-on-struct-and-enum.rs | 32 +- .../struct-in-enum.rs | 20 +- .../struct-in-struct.rs | 20 +- .../struct-style-enum.rs | 24 +- .../struct-with-destructor.rs | 22 +- .../text-to-include-1.txt | 0 .../text-to-include-2.txt | 0 .../text-to-include-3.txt | 0 .../trait-generic-static-default-method.rs | 32 +- .../trait-pointers.rs | 2 +- .../tuple-in-struct.rs | 58 +-- .../tuple-in-tuple.rs | 42 +- .../{debug-info => debuginfo}/tuple-struct.rs | 32 +- .../tuple-style-enum.rs | 24 +- .../{debug-info => debuginfo}/unique-enum.rs | 18 +- .../var-captured-in-nested-closure.rs | 68 ++-- .../var-captured-in-sendable-closure.rs | 20 +- .../var-captured-in-stack-closure.rs | 32 +- src/test/debuginfo/vec-slices.rs | 87 ++++ src/test/{debug-info => debuginfo}/vec.rs | 16 +- 108 files changed, 3749 insertions(+), 3384 deletions(-) create mode 100644 src/etc/lldb_batchmode.py delete mode 100644 src/test/debug-info/basic-types-globals-metadata.rs delete mode 100644 src/test/debug-info/basic-types-mut-globals.rs delete mode 100644 src/test/debug-info/lexical-scope-in-unconditional-loop.rs delete mode 100644 src/test/debug-info/lexical-scope-in-while.rs delete mode 100644 src/test/debug-info/lexical-scopes-in-block-expression.rs delete mode 100644 src/test/debug-info/simple-tuple.rs delete mode 100644 src/test/debug-info/vec-slices.rs create mode 100644 src/test/debuginfo/basic-types-globals-metadata.rs rename src/test/{debug-info => debuginfo}/basic-types-globals.rs (55%) rename src/test/{debug-info => debuginfo}/basic-types-metadata.rs (52%) create mode 100644 src/test/debuginfo/basic-types-mut-globals.rs rename src/test/{debug-info => debuginfo}/basic-types.rs (62%) rename src/test/{debug-info => debuginfo}/borrowed-basic.rs (66%) rename src/test/{debug-info => debuginfo}/borrowed-c-style-enum.rs (77%) rename src/test/{debug-info => debuginfo}/borrowed-enum.rs (81%) rename src/test/{debug-info => debuginfo}/borrowed-managed-basic.rs (67%) rename src/test/{debug-info => debuginfo}/borrowed-struct.rs (64%) rename src/test/{debug-info => debuginfo}/borrowed-tuple.rs (75%) rename src/test/{debug-info => debuginfo}/borrowed-unique-basic.rs (68%) rename src/test/{debug-info => debuginfo}/box.rs (70%) rename src/test/{debug-info => debuginfo}/boxed-struct.rs (73%) rename src/test/{debug-info => debuginfo}/by-value-non-immediate-argument.rs (71%) rename src/test/{debug-info => debuginfo}/by-value-self-argument-in-trait-impl.rs (72%) rename src/test/{debug-info => debuginfo}/c-style-enum-in-composite.rs (72%) rename src/test/{debug-info => debuginfo}/c-style-enum.rs (56%) rename src/test/{debug-info => debuginfo}/closure-in-generic-function.rs (70%) rename src/test/{debug-info => debuginfo}/destructured-fn-argument.rs (51%) rename src/test/{debug-info => debuginfo}/destructured-local.rs (54%) rename src/test/{debug-info => debuginfo}/evec-in-struct.rs (71%) rename src/test/{debug-info => debuginfo}/function-arg-initialization.rs (53%) rename src/test/{debug-info => debuginfo}/function-arguments.rs (71%) rename src/test/{debug-info => debuginfo}/function-prologue-stepping-no-split-stack.rs (58%) rename src/test/{debug-info => debuginfo}/generic-function.rs (56%) rename src/test/{debug-info => debuginfo}/generic-functions-nested.rs (55%) rename src/test/{debug-info => debuginfo}/generic-method-on-generic-struct.rs (54%) rename src/test/{debug-info => debuginfo}/generic-static-method-on-struct-and-enum.rs (73%) rename src/test/{debug-info => debuginfo}/generic-struct-style-enum.rs (76%) rename src/test/{debug-info => debuginfo}/generic-struct.rs (70%) rename src/test/{debug-info => debuginfo}/generic-trait-generic-static-default-method.rs (73%) rename src/test/{debug-info => debuginfo}/generic-tuple-style-enum.rs (79%) rename src/test/{debug-info => debuginfo}/include_string.rs (77%) rename src/test/{debug-info => debuginfo}/issue11600.rs (54%) rename src/test/{debug-info => debuginfo}/issue12886.rs (90%) rename src/test/{debug-info => debuginfo}/issue13213.rs (100%) rename src/test/{debug-info => debuginfo}/issue7712.rs (100%) rename src/test/{debug-info => debuginfo}/lexical-scope-in-for-loop.rs (56%) rename src/test/{debug-info => debuginfo}/lexical-scope-in-if.rs (54%) rename src/test/{debug-info => debuginfo}/lexical-scope-in-match.rs (53%) rename src/test/{debug-info => debuginfo}/lexical-scope-in-parameterless-closure.rs (97%) rename src/test/{debug-info => debuginfo}/lexical-scope-in-stack-closure.rs (60%) create mode 100644 src/test/debuginfo/lexical-scope-in-unconditional-loop.rs rename src/test/{debug-info => debuginfo}/lexical-scope-in-unique-closure.rs (60%) create mode 100644 src/test/debuginfo/lexical-scope-in-while.rs rename src/test/{debug-info => debuginfo}/lexical-scope-with-macro.rs (56%) create mode 100644 src/test/debuginfo/lexical-scopes-in-block-expression.rs rename src/test/{debug-info => debuginfo}/limited-debuginfo.rs (73%) rename src/test/{debug-info => debuginfo}/managed-enum.rs (83%) rename src/test/{debug-info => debuginfo}/managed-pointer-within-unique-vec.rs (68%) rename src/test/{debug-info => debuginfo}/managed-pointer-within-unique.rs (72%) rename src/test/{debug-info => debuginfo}/method-on-enum.rs (52%) rename src/test/{debug-info => debuginfo}/method-on-generic-struct.rs (54%) rename src/test/{debug-info => debuginfo}/method-on-struct.rs (55%) rename src/test/{debug-info => debuginfo}/method-on-trait.rs (58%) rename src/test/{debug-info => debuginfo}/method-on-tuple-struct.rs (54%) rename src/test/{debug-info => debuginfo}/multiple-functions-equal-var-names.rs (72%) rename src/test/{debug-info => debuginfo}/multiple-functions.rs (73%) rename src/test/{debug-info => debuginfo}/name-shadowing-and-scope-nesting.rs (51%) rename src/test/{debug-info => debuginfo}/nil-enum.rs (84%) rename src/test/{debug-info => debuginfo}/option-like-enum.rs (79%) rename src/test/{debug-info => debuginfo}/packed-struct-with-destructor.rs (72%) rename src/test/{debug-info => debuginfo}/packed-struct.rs (71%) rename src/test/{debug-info => debuginfo}/recursive-enum.rs (98%) rename src/test/{debug-info => debuginfo}/recursive-struct.rs (70%) rename src/test/{debug-info => debuginfo}/self-in-default-method.rs (55%) rename src/test/{debug-info => debuginfo}/self-in-generic-default-method.rs (55%) rename src/test/{debug-info => debuginfo}/shadowed-argument.rs (63%) rename src/test/{debug-info => debuginfo}/shadowed-variable.rs (62%) rename src/test/{debug-info => debuginfo}/simd.rs (63%) rename src/test/{debug-info => debuginfo}/simple-lexical-scope.rs (57%) rename src/test/{debug-info => debuginfo}/simple-struct.rs (59%) create mode 100644 src/test/debuginfo/simple-tuple.rs rename src/test/{debug-info => debuginfo}/static-method-on-struct-and-enum.rs (73%) rename src/test/{debug-info => debuginfo}/struct-in-enum.rs (80%) rename src/test/{debug-info => debuginfo}/struct-in-struct.rs (85%) rename src/test/{debug-info => debuginfo}/struct-style-enum.rs (74%) rename src/test/{debug-info => debuginfo}/struct-with-destructor.rs (89%) rename src/test/{debug-info => debuginfo}/text-to-include-1.txt (100%) rename src/test/{debug-info => debuginfo}/text-to-include-2.txt (100%) rename src/test/{debug-info => debuginfo}/text-to-include-3.txt (100%) rename src/test/{debug-info => debuginfo}/trait-generic-static-default-method.rs (73%) rename src/test/{debug-info => debuginfo}/trait-pointers.rs (98%) rename src/test/{debug-info => debuginfo}/tuple-in-struct.rs (70%) rename src/test/{debug-info => debuginfo}/tuple-in-tuple.rs (63%) rename src/test/{debug-info => debuginfo}/tuple-struct.rs (70%) rename src/test/{debug-info => debuginfo}/tuple-style-enum.rs (77%) rename src/test/{debug-info => debuginfo}/unique-enum.rs (83%) rename src/test/{debug-info => debuginfo}/var-captured-in-nested-closure.rs (54%) rename src/test/{debug-info => debuginfo}/var-captured-in-sendable-closure.rs (79%) rename src/test/{debug-info => debuginfo}/var-captured-in-stack-closure.rs (70%) create mode 100644 src/test/debuginfo/vec-slices.rs rename src/test/{debug-info => debuginfo}/vec.rs (78%) diff --git a/configure b/configure index 0f3561dd7b5c9..d189c8cb6cd60 100755 --- a/configure +++ b/configure @@ -466,6 +466,26 @@ probe CFG_PDFLATEX pdflatex probe CFG_XELATEX xelatex probe CFG_LUALATEX lualatex probe CFG_GDB gdb +probe CFG_LLDB lldb + +if [ ! -z "$CFG_LLDB" ] +then + # If CFG_LLDB_PYTHON_DIR is not already set from the outside and valid, try to read it from + # LLDB via the -P commandline options. + if [ -z "$CFG_LLDB_PYTHON_DIR" ] || [ ! -d "$CFG_LLDB_PYTHON_DIR" ] + then + CFG_LLDB_PYTHON_DIR=$($CFG_LLDB -P) + + # If CFG_LLDB_PYTHON_DIR is not a valid directory, set it to something more readable + if [ ! -d "$CFG_LLDB_PYTHON_DIR" ] + then + CFG_LLDB_PYTHON_DIR="LLDB_PYTHON_DIRECTORY_NOT_FOUND" + fi + + putvar CFG_LLDB_PYTHON_DIR + fi +fi + if [ "$CFG_OSTYPE" = "unknown-linux-gnu" ] then probe CFG_PAXCTL paxctl /sbin/paxctl @@ -807,7 +827,8 @@ do make_dir $h/test/bench make_dir $h/test/perf make_dir $h/test/pretty - make_dir $h/test/debug-info + make_dir $h/test/debuginfo-gdb + make_dir $h/test/debuginfo-lldb make_dir $h/test/codegen make_dir $h/test/doc-tutorial make_dir $h/test/doc-guide-ffi diff --git a/mk/tests.mk b/mk/tests.mk index cb1bea39cee07..012ec0e862de5 100644 --- a/mk/tests.mk +++ b/mk/tests.mk @@ -293,7 +293,8 @@ check-stage$(1)-T-$(2)-H-$(3)-exec: \ check-stage$(1)-T-$(2)-H-$(3)-crates-exec \ check-stage$(1)-T-$(2)-H-$(3)-doc-crates-exec \ check-stage$(1)-T-$(2)-H-$(3)-bench-exec \ - check-stage$(1)-T-$(2)-H-$(3)-debuginfo-exec \ + check-stage$(1)-T-$(2)-H-$(3)-debuginfo-gdb-exec \ + check-stage$(1)-T-$(2)-H-$(3)-debuginfo-lldb-exec \ check-stage$(1)-T-$(2)-H-$(3)-codegen-exec \ check-stage$(1)-T-$(2)-H-$(3)-doc-exec \ check-stage$(1)-T-$(2)-H-$(3)-pretty-exec @@ -460,7 +461,8 @@ CFAIL_RC := $(wildcard $(S)src/test/compile-fail/*.rc) CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs) BENCH_RS := $(wildcard $(S)src/test/bench/*.rs) PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs) -DEBUGINFO_RS := $(wildcard $(S)src/test/debug-info/*.rs) +DEBUGINFO_GDB_RS := $(wildcard $(S)src/test/debuginfo/*.rs) +DEBUGINFO_LLDB_RS := $(wildcard $(S)src/test/debuginfo/*.rs) CODEGEN_RS := $(wildcard $(S)src/test/codegen/*.rs) CODEGEN_CC := $(wildcard $(S)src/test/codegen/*.cc) @@ -476,7 +478,8 @@ CFAIL_TESTS := $(CFAIL_RC) $(CFAIL_RS) BENCH_TESTS := $(BENCH_RS) PERF_TESTS := $(PERF_RS) PRETTY_TESTS := $(PRETTY_RS) -DEBUGINFO_TESTS := $(DEBUGINFO_RS) +DEBUGINFO_GDB_TESTS := $(DEBUGINFO_GDB_RS) +DEBUGINFO_LLDB_TESTS := $(DEBUGINFO_LLDB_RS) CODEGEN_TESTS := $(CODEGEN_RS) $(CODEGEN_CC) CTEST_SRC_BASE_rpass = run-pass @@ -514,10 +517,15 @@ CTEST_BUILD_BASE_perf = perf CTEST_MODE_perf = run-pass CTEST_RUNTOOL_perf = $(CTEST_PERF_RUNTOOL) -CTEST_SRC_BASE_debuginfo = debug-info -CTEST_BUILD_BASE_debuginfo = debug-info -CTEST_MODE_debuginfo = debug-info -CTEST_RUNTOOL_debuginfo = $(CTEST_RUNTOOL) +CTEST_SRC_BASE_debuginfo-gdb = debuginfo +CTEST_BUILD_BASE_debuginfo-gdb = debuginfo-gdb +CTEST_MODE_debuginfo-gdb = debuginfo-gdb +CTEST_RUNTOOL_debuginfo-gdb = $(CTEST_RUNTOOL) + +CTEST_SRC_BASE_debuginfo-lldb = debuginfo +CTEST_BUILD_BASE_debuginfo-lldb = debuginfo-lldb +CTEST_MODE_debuginfo-lldb = debuginfo-lldb +CTEST_RUNTOOL_debuginfo-lldb = $(CTEST_RUNTOOL) CTEST_SRC_BASE_codegen = codegen CTEST_BUILD_BASE_codegen = codegen @@ -529,15 +537,22 @@ CTEST_RUNTOOL_codegen = $(CTEST_RUNTOOL) # during attempts to run those tests. ifeq ($(CFG_GDB),) -CTEST_DISABLE_debuginfo = "no gdb found" +CTEST_DISABLE_debuginfo-gdb = "no gdb found" +endif + +ifeq ($(CFG_LLDB),) +CTEST_DISABLE_debuginfo-lldb = "no lldb found" endif +# Completely disable LLDB tests for now +CTEST_DISABLE_debuginfo-lldb = "LLDB tests are not enabled yet" + ifeq ($(CFG_CLANG),) CTEST_DISABLE_codegen = "no clang found" endif ifeq ($(CFG_OSTYPE),apple-darwin) -CTEST_DISABLE_debuginfo = "gdb on darwing needs root" +CTEST_DISABLE_debuginfo-gdb = "gdb on darwing needs root" endif # CTEST_DISABLE_NONSELFHOST_$(TEST_GROUP), if set, will cause that @@ -587,6 +602,7 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \ --adb-path=$(CFG_ADB) \ --adb-test-dir=$(CFG_ADB_TEST_DIR) \ --host-rustcflags "$(RUSTC_FLAGS_$(3)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(3))" \ + --lldb-python-dir=$(CFG_LLDB_PYTHON_DIR) \ --target-rustcflags "$(RUSTC_FLAGS_$(2)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(2))" \ $$(CTEST_TESTARGS) @@ -597,7 +613,8 @@ CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS) CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS) CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS) CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS) -CTEST_DEPS_debuginfo_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_TESTS) +CTEST_DEPS_debuginfo-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS) +CTEST_DEPS_debuginfo-lldb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_LLDB_TESTS) CTEST_DEPS_codegen_$(1)-T-$(2)-H-$(3) = $$(CODEGEN_TESTS) endef @@ -661,7 +678,7 @@ endif endef -CTEST_NAMES = rpass rpass-full cfail-full rfail cfail bench perf debuginfo codegen +CTEST_NAMES = rpass rpass-full cfail-full rfail cfail bench perf debuginfo-gdb debuginfo-lldb codegen $(foreach host,$(CFG_HOST), \ $(eval $(foreach target,$(CFG_TARGET), \ @@ -810,7 +827,8 @@ TEST_GROUPS = \ bench \ perf \ rmake \ - debuginfo \ + debuginfo-gdb \ + debuginfo-lldb \ codegen \ doc \ $(foreach docname,$(DOCS),doc-$(docname)) \ diff --git a/src/compiletest/common.rs b/src/compiletest/common.rs index ea6e98fafa7cd..ef8b48a053564 100644 --- a/src/compiletest/common.rs +++ b/src/compiletest/common.rs @@ -14,7 +14,8 @@ pub enum mode { mode_run_fail, mode_run_pass, mode_pretty, - mode_debug_info, + mode_debug_info_gdb, + mode_debug_info_lldb, mode_codegen } @@ -101,6 +102,9 @@ pub struct config { // status whether android device available or not pub adb_device_status: bool, + // the path containing LLDB's Python module + pub lldb_python_dir: Option<~str>, + // Explain what's going on pub verbose: bool diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs index 2e287135dc264..f484ea5a8f1fd 100644 --- a/src/compiletest/compiletest.rs +++ b/src/compiletest/compiletest.rs @@ -28,14 +28,8 @@ use std::os; use std::io; use std::io::fs; use getopts::{optopt, optflag, reqopt}; -use common::config; -use common::mode_run_pass; -use common::mode_run_fail; -use common::mode_compile_fail; -use common::mode_pretty; -use common::mode_debug_info; -use common::mode_codegen; -use common::mode; +use common::{config, mode_run_pass, mode_run_fail, mode_compile_fail, mode_pretty, + mode_debug_info_gdb, mode_debug_info_lldb, mode_codegen, mode}; use util::logv; pub mod procsrv; @@ -87,6 +81,7 @@ pub fn parse_config(args: Vec<~str> ) -> config { optopt("", "host", "the host to build for", "HOST"), optopt("", "adb-path", "path to the android debugger", "PATH"), optopt("", "adb-test-dir", "path to tests for the android debugger", "PATH"), + optopt("", "lldb-python-dir", "directory containing LLDB's python module", "PATH"), optopt("", "test-shard", "run shard A, of B shards, worth of the testsuite", "A.B"), optflag("h", "help", "show this message")); @@ -154,6 +149,7 @@ pub fn parse_config(args: Vec<~str> ) -> config { "arm-linux-androideabi" == opt_str2(matches.opt_str("target")) && "(none)" != opt_str2(matches.opt_str("adb-test-dir")) && !opt_str2(matches.opt_str("adb-test-dir")).is_empty(), + lldb_python_dir: matches.opt_str("lldb-python-dir"), test_shard: test::opt_shard(matches.opt_str("test-shard")), verbose: matches.opt_present("verbose") } @@ -204,13 +200,14 @@ pub fn opt_str2(maybestr: Option<~str>) -> ~str { pub fn str_mode(s: ~str) -> mode { match s.as_slice() { - "compile-fail" => mode_compile_fail, - "run-fail" => mode_run_fail, - "run-pass" => mode_run_pass, - "pretty" => mode_pretty, - "debug-info" => mode_debug_info, - "codegen" => mode_codegen, - _ => fail!("invalid mode") + "compile-fail" => mode_compile_fail, + "run-fail" => mode_run_fail, + "run-pass" => mode_run_pass, + "pretty" => mode_pretty, + "debuginfo-gdb" => mode_debug_info_gdb, + "debuginfo-lldb" => mode_debug_info_lldb, + "codegen" => mode_codegen, + s => fail!("invalid mode: " + s) } } @@ -220,7 +217,8 @@ pub fn mode_str(mode: mode) -> ~str { mode_run_fail => "run-fail".to_owned(), mode_run_pass => "run-pass".to_owned(), mode_pretty => "pretty".to_owned(), - mode_debug_info => "debug-info".to_owned(), + mode_debug_info_gdb => "debuginfo-gdb".to_owned(), + mode_debug_info_lldb => "debuginfo-lldb".to_owned(), mode_codegen => "codegen".to_owned(), } } @@ -228,7 +226,7 @@ pub fn mode_str(mode: mode) -> ~str { pub fn run_tests(config: &config) { if config.target == "arm-linux-androideabi".to_owned() { match config.mode{ - mode_debug_info => { + mode_debug_info_gdb => { println!("arm-linux-androideabi debug-info \ test uses tcp 5039 port. please reserve it"); } diff --git a/src/compiletest/header.rs b/src/compiletest/header.rs index 28c7cfb88c9d6..3d954a33a0029 100644 --- a/src/compiletest/header.rs +++ b/src/compiletest/header.rs @@ -26,8 +26,6 @@ pub struct TestProps { pub aux_builds: Vec<~str> , // Environment settings to use during execution pub exec_env: Vec<(~str,~str)> , - // Commands to be given to the debugger, when testing debug info - pub debugger_cmds: Vec<~str> , // Lines to check if they appear in the expected debugger output pub check_lines: Vec<~str> , // Flag to force a crate to be built with the host architecture @@ -46,7 +44,6 @@ pub fn load_props(testfile: &Path) -> TestProps { let mut compile_flags = None; let mut run_flags = None; let mut pp_exact = None; - let mut debugger_cmds = Vec::new(); let mut check_lines = Vec::new(); let mut force_host = false; let mut check_stdout = false; @@ -91,11 +88,6 @@ pub fn load_props(testfile: &Path) -> TestProps { None => {} } - match parse_debugger_cmd(ln) { - Some(dc) => debugger_cmds.push(dc), - None => () - }; - match parse_check_line(ln) { Some(cl) => check_lines.push(cl), None => () @@ -111,7 +103,6 @@ pub fn load_props(testfile: &Path) -> TestProps { pp_exact: pp_exact, aux_builds: aux_builds, exec_env: exec_env, - debugger_cmds: debugger_cmds, check_lines: check_lines, force_host: force_host, check_stdout: check_stdout, @@ -173,10 +164,6 @@ fn parse_run_flags(line: &str) -> Option<~str> { parse_name_value_directive(line, "run-flags".to_owned()) } -fn parse_debugger_cmd(line: &str) -> Option<~str> { - parse_name_value_directive(line, "debugger".to_owned()) -} - fn parse_check_line(line: &str) -> Option<~str> { parse_name_value_directive(line, "check".to_owned()) } @@ -226,7 +213,7 @@ fn parse_name_directive(line: &str, directive: &str) -> bool { line.contains(directive) } -fn parse_name_value_directive(line: &str, +pub fn parse_name_value_directive(line: &str, directive: ~str) -> Option<~str> { let keycolon = directive + ":"; match line.find_str(keycolon) { diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index c1ca27c805cdb..858e7334cff06 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -8,14 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use common::config; -use common::mode_compile_fail; -use common::mode_pretty; -use common::mode_run_fail; -use common::mode_run_pass; +use common::{config, mode_compile_fail, mode_pretty, mode_run_fail, mode_run_pass}; use errors; use header::TestProps; -use header::load_props; +use header; use procsrv; use util::logv; #[cfg(target_os = "win32")] @@ -59,14 +55,15 @@ pub fn run_metrics(config: config, testfile: ~str, mm: &mut MetricMap) { } let testfile = Path::new(testfile); debug!("running {}", testfile.display()); - let props = load_props(&testfile); + let props = header::load_props(&testfile); debug!("loaded props"); match config.mode { mode_compile_fail => run_cfail_test(&config, &props, &testfile), mode_run_fail => run_rfail_test(&config, &props, &testfile), mode_run_pass => run_rpass_test(&config, &props, &testfile), mode_pretty => run_pretty_test(&config, &props, &testfile), - mode_debug_info => run_debuginfo_test(&config, &props, &testfile), + mode_debug_info_gdb => run_debuginfo_gdb_test(&config, &props, &testfile), + mode_debug_info_lldb => run_debuginfo_lldb_test(&config, &props, &testfile), mode_codegen => run_codegen_test(&config, &props, &testfile, mm) } } @@ -259,7 +256,7 @@ actual:\n\ } } -fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) { +fn run_debuginfo_gdb_test(config: &config, props: &TestProps, testfile: &Path) { let mut config = config { target_rustcflags: cleanup_debug_info_options(&config.target_rustcflags), host_rustcflags: cleanup_debug_info_options(&config.host_rustcflags), @@ -267,18 +264,19 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) { }; let config = &mut config; - let check_lines = &props.check_lines; - let mut cmds = props.debugger_cmds.connect("\n"); + let DebuggerCommands { commands, check_lines, .. } = parse_debugger_commands(testfile, "gdb"); + let mut cmds = commands.connect("\n"); // compile test file (it shoud have 'compile-flags:-g' in the header) - let mut proc_res = compile_test(config, props, testfile); - if !proc_res.status.success() { - fatal_ProcRes("compilation failed!".to_owned(), &proc_res); + let compiler_run_result = compile_test(config, props, testfile); + if !compiler_run_result.status.success() { + fatal_ProcRes("compilation failed!".to_owned(), &compiler_run_result); } let exe_file = make_exe_name(config, testfile); let mut proc_args; + let debugger_run_result; match config.target.as_slice() { "arm-linux-androideabi" => { @@ -363,10 +361,12 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) { cmdline }; - proc_res = ProcRes {status: status, - stdout: out, - stderr: err, - cmdline: cmdline}; + debugger_run_result = ProcRes { + status: status, + stdout: out, + stderr: err, + cmdline: cmdline + }; process.signal_kill().unwrap(); } @@ -391,25 +391,199 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) { "-command=" + debugger_script.as_str().unwrap().to_owned(), exe_file.as_str().unwrap().to_owned()); proc_args = ProcArgs {prog: debugger(), args: debugger_opts}; - proc_res = compose_and_run(config, testfile, proc_args, Vec::new(), "", None); + debugger_run_result = compose_and_run(config, + testfile, + proc_args, + Vec::new(), + "", + None); } } - if !proc_res.status.success() { + if !debugger_run_result.status.success() { fatal("gdb failed to execute".to_owned()); } + + check_debugger_output(&debugger_run_result, check_lines.as_slice()); +} + +fn run_debuginfo_lldb_test(config: &config, props: &TestProps, testfile: &Path) { + use std::io::process::{Process, ProcessConfig, ProcessOutput}; + + if config.lldb_python_dir.is_none() { + fatal("Can't run LLDB test because LLDB's python path is not set.".to_owned()); + } + + let mut config = config { + target_rustcflags: cleanup_debug_info_options(&config.target_rustcflags), + host_rustcflags: cleanup_debug_info_options(&config.host_rustcflags), + .. config.clone() + }; + + let config = &mut config; + + // compile test file (it shoud have 'compile-flags:-g' in the header) + let compile_result = compile_test(config, props, testfile); + if !compile_result.status.success() { + fatal_ProcRes("compilation failed!".to_owned(), &compile_result); + } + + let exe_file = make_exe_name(config, testfile); + + // Parse debugger commands etc from test files + let DebuggerCommands { + commands, + check_lines, + breakpoint_lines + } = parse_debugger_commands(testfile, "lldb"); + + // Write debugger script: + // We don't want to hang when calling `quit` while the process is still running + let mut script_str = StrBuf::from_str("settings set auto-confirm true\n"); + + // Set breakpoints on every line that contains the string "#break" + for line in breakpoint_lines.iter() { + script_str.push_str(format!("breakpoint set --line {}\n", line)); + } + + // Append the other commands + for line in commands.iter() { + script_str.push_str(line.as_slice()); + script_str.push_str("\n"); + } + + // Finally, quit the debugger + script_str.push_str("quit\n"); + + // Write the script into a file + debug!("script_str = {}", script_str); + dump_output_file(config, testfile, script_str.into_owned(), "debugger.script"); + let debugger_script = make_out_name(config, testfile, "debugger.script"); + + // Let LLDB execute the script via lldb_batchmode.py + let debugger_run_result = run_lldb(config, &exe_file, &debugger_script); + + if !debugger_run_result.status.success() { + fatal_ProcRes("Error while running LLDB".to_owned(), &debugger_run_result); + } + + check_debugger_output(&debugger_run_result, check_lines.as_slice()); + + fn run_lldb(config: &config, test_executable: &Path, debugger_script: &Path) -> ProcRes { + // Prepare the lldb_batchmode which executes the debugger script + let lldb_batchmode_script = "./src/etc/lldb_batchmode.py".to_owned(); + let test_executable_str = test_executable.as_str().unwrap().to_owned(); + let debugger_script_str = debugger_script.as_str().unwrap().to_owned(); + let commandline = format!("python {} {} {}", + lldb_batchmode_script.as_slice(), + test_executable_str.as_slice(), + debugger_script_str.as_slice()); + + let args = &[lldb_batchmode_script, test_executable_str, debugger_script_str]; + let env = &[("PYTHONPATH".to_owned(), config.lldb_python_dir.clone().unwrap())]; + + let mut opt_process = Process::configure(ProcessConfig { + program: "python", + args: args, + env: Some(env), + .. ProcessConfig::new() + }); + + let (status, out, err) = match opt_process { + Ok(ref mut process) => { + let ProcessOutput { status, output, error } = process.wait_with_output(); + + (status, + str::from_utf8(output.as_slice()).unwrap().to_owned(), + str::from_utf8(error.as_slice()).unwrap().to_owned()) + }, + Err(e) => { + fatal(format!("Failed to setup Python process for LLDB script: {}", e)) + } + }; + + dump_output(config, test_executable, out, err); + return ProcRes { + status: status, + stdout: out, + stderr: err, + cmdline: commandline + }; + } +} + +struct DebuggerCommands +{ + commands: Vec<~str>, + check_lines: Vec<~str>, + breakpoint_lines: Vec +} + +fn parse_debugger_commands(file_path: &Path, debugger_prefix: &str) -> DebuggerCommands { + use std::io::{BufferedReader, File}; + + let command_directive = debugger_prefix + "-command"; + let check_directive = debugger_prefix + "-check"; + + let mut breakpoint_lines = vec!(); + let mut commands = vec!(); + let mut check_lines = vec!(); + let mut counter = 1; + let mut reader = BufferedReader::new(File::open(file_path).unwrap()); + for line in reader.lines() { + match line { + Ok(line) => { + if line.contains("#break") { + breakpoint_lines.push(counter); + } + + header::parse_name_value_directive(line, command_directive.clone()) + .map(|cmd| commands.push(cmd)); + + header::parse_name_value_directive(line, check_directive.clone()) + .map(|cmd| check_lines.push(cmd)); + } + Err(e) => { + fatal(format!("Error while parsing debugger commands: {}", e)) + } + } + counter += 1; + } + + DebuggerCommands { + commands: commands, + check_lines: check_lines, + breakpoint_lines: breakpoint_lines + } +} + +fn cleanup_debug_info_options(options: &Option<~str>) -> Option<~str> { + if options.is_none() { + return None; + } + + // Remove options that are either unwanted (-O) or may lead to duplicates due to RUSTFLAGS. + let options_to_remove = ["-O".to_owned(), "-g".to_owned(), "--debuginfo".to_owned()]; + let new_options = split_maybe_args(options).move_iter() + .filter(|x| !options_to_remove.contains(x)) + .collect::>() + .connect(" "); + Some(new_options) +} + +fn check_debugger_output(debugger_run_result: &ProcRes, check_lines: &[~str]) { let num_check_lines = check_lines.len(); if num_check_lines > 0 { // Allow check lines to leave parts unspecified (e.g., uninitialized // bits in the wrong case of an enum) with the notation "[...]". let check_fragments: Vec> = check_lines.iter().map(|s| { - s.split_str("[...]").map(|x| x.to_str()).collect() + s.trim().split_str("[...]").map(|x| x.to_str()).collect() }).collect(); // check if each line in props.check_lines appears in the // output (in order) let mut i = 0u; - for line in proc_res.stdout.lines() { + for line in debugger_run_result.stdout.lines() { let mut rest = line.trim(); let mut first = true; let mut failed = false; @@ -440,23 +614,9 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) { } if i != num_check_lines { fatal_ProcRes(format!("line not found in debugger output: {}", - *check_lines.get(i)), &proc_res); + check_lines.get(i).unwrap()), debugger_run_result); } } - - fn cleanup_debug_info_options(options: &Option<~str>) -> Option<~str> { - if options.is_none() { - return None; - } - - // Remove options that are either unwanted (-O) or may lead to duplicates due to RUSTFLAGS. - let options_to_remove = ["-O".to_owned(), "-g".to_owned(), "--debuginfo".to_owned()]; - let new_options = split_maybe_args(options).move_iter() - .filter(|x| !options_to_remove.contains(x)) - .collect::>() - .connect(" "); - Some(new_options) - } } fn check_error_patterns(props: &TestProps, @@ -736,7 +896,7 @@ fn compose_and_run_compiler( for rel_ab in props.aux_builds.iter() { let abs_ab = config.aux_base.join(rel_ab.as_slice()); - let aux_props = load_props(&abs_ab); + let aux_props = header::load_props(&abs_ab); let crate_type = if aux_props.no_prefer_dynamic { Vec::new() } else { diff --git a/src/etc/lldb_batchmode.py b/src/etc/lldb_batchmode.py new file mode 100644 index 0000000000000..85bfc425b587d --- /dev/null +++ b/src/etc/lldb_batchmode.py @@ -0,0 +1,184 @@ +# Copyright 2014 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 or the MIT license +# , at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +# This script allows to use LLDB in a way similar to GDB's batch mode. That is, given a text file +# containing LLDB commands (one command per line), this script will execute the commands one after +# the other. +# LLDB also has the -s and -S commandline options which also execute a list of commands from a text +# file. However, this command are execute `immediately`: a the command of a `run` or `continue` +# command will be executed immediately after the `run` or `continue`, without waiting for the next +# breakpoint to be hit. This a command sequence like the following will not yield reliable results: +# +# break 11 +# run +# print x +# +# Most of the time the `print` command will be executed while the program is still running will thus +# fail. Using this Python script, the above will work as expected. + +from __future__ import print_function +import lldb +import os +import sys +import threading +import re +import atexit + +# Terminate the debugger +atexit.register(lambda: lldb.SBDebugger.Terminate()) + +# Set this to True for additional output +DEBUG_OUTPUT = False + +def print_debug(s): + "Print something if DEBUG_OUTPUT is True" + global DEBUG_OUTPUT + if DEBUG_OUTPUT: + print("DEBUG: " + str(s)) + + +def normalize_whitespace(s): + "Replace newlines, tabs, multiple spaces, etc with exactly one space" + return re.sub("\s+", " ", s) + + +# This callback is registered with every breakpoint and makes sure that the frame containing the +# breakpoint location is selected +def breakpoint_callback(frame, bp_loc, dict): + "Called whenever a breakpoint is hit" + print("Hit breakpoint " + str(bp_loc)) + + # Select the frame and the thread containing it + frame.thread.process.SetSelectedThread(frame.thread) + frame.thread.SetSelectedFrame(frame.idx) + + # Returning True means that we actually want to stop at this breakpoint + return True + + +# This is a list of breakpoints that are not registered with the breakpoint callback. The list is +# populated by the breakpoint listener and checked/emptied whenever a command has been executed +new_breakpoints = [] + +# This set contains all breakpoint ids that have already been registered with a callback, and is +# used to avoid hooking callbacks into breakpoints more than once +registered_breakpoints = set() + +def execute_command(command_interpreter, command): + "Executes a single CLI command" + global new_breakpoints + global registered_breakpoints + + res = lldb.SBCommandReturnObject() + print(command) + command_interpreter.HandleCommand(command, res) + + if res.Succeeded(): + if res.HasResult(): + print(normalize_whitespace(res.GetOutput()), end = '\n') + + # If the command introduced any breakpoints, make sure to register them with the breakpoint + # callback + while len(new_breakpoints) > 0: + res.Clear() + breakpoint_id = new_breakpoints.pop() + + if breakpoint_id in registered_breakpoints: + print_debug("breakpoint with id %s is already registered. Ignoring." % str(breakpoint_id)) + else: + print_debug("registering breakpoint callback, id = " + str(breakpoint_id)) + callback_command = "breakpoint command add -F breakpoint_callback " + str(breakpoint_id) + command_interpreter.HandleCommand(callback_command, res) + if res.Succeeded(): + print_debug("successfully registered breakpoint callback, id = " + str(breakpoint_id)) + registered_breakpoints.add(breakpoint_id) + else: + print("Error while trying to register breakpoint callback, id = " + str(breakpoint_id)) + else: + print(res.GetError()) + + +def start_breakpoint_listener(target): + "Listens for breakpoints being added and adds new ones to the callback registration list" + listener = lldb.SBListener("breakpoint listener") + + def listen(): + event = lldb.SBEvent() + try: + while True: + if listener.WaitForEvent(120, event): + if lldb.SBBreakpoint.EventIsBreakpointEvent(event) and \ + lldb.SBBreakpoint.GetBreakpointEventTypeFromEvent(event) == \ + lldb.eBreakpointEventTypeAdded: + global new_breakpoints + breakpoint = lldb.SBBreakpoint.GetBreakpointFromEvent(event) + print_debug("breakpoint added, id = " + str(breakpoint.id)) + new_breakpoints.append(breakpoint.id) + except: + print_debug("breakpoint listener shutting down") + + # Start the listener and let it run as a daemon + listener_thread = threading.Thread(target = listen) + listener_thread.daemon = True + listener_thread.start() + + # Register the listener with the target + target.GetBroadcaster().AddListener(listener, lldb.SBTarget.eBroadcastBitBreakpointChanged) + + +#################################################################################################### +# ~main +#################################################################################################### + +if len(sys.argv) != 3: + print("usage: python lldb_batchmode.py target-path script-path") + sys.exit(1) + +target_path = sys.argv[1] +script_path = sys.argv[2] + + +# Create a new debugger instance +debugger = lldb.SBDebugger.Create() + +# When we step or continue, don't return from the function until the process +# stops. We do this by setting the async mode to false. +debugger.SetAsync(False) + +# Create a target from a file and arch +print("Creating a target for '%s'" % target_path) +target = debugger.CreateTargetWithFileAndArch(target_path, lldb.LLDB_ARCH_DEFAULT) + +if not target: + print("Could not create debugging target '" + target_path + "'. Aborting.", file=sys.stderr) + sys.exit(1) + + +# Register the breakpoint callback for every breakpoint +start_breakpoint_listener(target) + +command_interpreter = debugger.GetCommandInterpreter() + +try: + script_file = open(script_path, 'r') + + for line in script_file: + command = line.strip() + if command != '': + execute_command(command_interpreter, command) + +except IOError as e: + print("Could not read debugging script '%s'." % script_path, file = sys.stderr) + print(e, file = sys.stderr) + print("Aborting.", file = sys.stderr) + sys.exit(1) +finally: + script_file.close() + diff --git a/src/test/debug-info/basic-types-globals-metadata.rs b/src/test/debug-info/basic-types-globals-metadata.rs deleted file mode 100644 index bf6d63f2ca92f..0000000000000 --- a/src/test/debug-info/basic-types-globals-metadata.rs +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-win32: FIXME #13256 -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:whatis 'basic-types-globals-metadata::B' -// check:type = bool -// debugger:whatis 'basic-types-globals-metadata::I' -// check:type = int -// debugger:whatis 'basic-types-globals-metadata::C' -// check:type = char -// debugger:whatis 'basic-types-globals-metadata::I8' -// check:type = i8 -// debugger:whatis 'basic-types-globals-metadata::I16' -// check:type = i16 -// debugger:whatis 'basic-types-globals-metadata::I32' -// check:type = i32 -// debugger:whatis 'basic-types-globals-metadata::I64' -// check:type = i64 -// debugger:whatis 'basic-types-globals-metadata::U' -// check:type = uint -// debugger:whatis 'basic-types-globals-metadata::U8' -// check:type = u8 -// debugger:whatis 'basic-types-globals-metadata::U16' -// check:type = u16 -// debugger:whatis 'basic-types-globals-metadata::U32' -// check:type = u32 -// debugger:whatis 'basic-types-globals-metadata::U64' -// check:type = u64 -// debugger:whatis 'basic-types-globals-metadata::F32' -// check:type = f32 -// debugger:whatis 'basic-types-globals-metadata::F64' -// check:type = f64 -// debugger:continue - -#![allow(unused_variable)] -#![allow(dead_code)] - - -static B: bool = false; -static I: int = -1; -static C: char = 'a'; -static I8: i8 = 68; -static I16: i16 = -16; -static I32: i32 = -32; -static I64: i64 = -64; -static U: uint = 1; -static U8: u8 = 100; -static U16: u16 = 16; -static U32: u32 = 32; -static U64: u64 = 64; -static F32: f32 = 2.5; -static F64: f64 = 3.5; - -fn main() { - _zzz(); - - let a = (B, I, C, I8, I16, I32, I64, U, U8, U16, U32, U64, F32, F64); -} - -fn _zzz() {()} diff --git a/src/test/debug-info/basic-types-mut-globals.rs b/src/test/debug-info/basic-types-mut-globals.rs deleted file mode 100644 index 1580f73461734..0000000000000 --- a/src/test/debug-info/basic-types-mut-globals.rs +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// Caveats - gdb prints any 8-bit value (meaning rust I8 and u8 values) -// as its numerical value along with its associated ASCII char, there -// doesn't seem to be any way around this. Also, gdb doesn't know -// about UTF-32 character encoding and will print a rust char as only -// its numerical value. - -// ignore-win32: FIXME #13256 -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// Check initializers -// debugger:print 'basic-types-mut-globals::B' -// check:$1 = false -// debugger:print 'basic-types-mut-globals::I' -// check:$2 = -1 -// debugger:print 'basic-types-mut-globals::C' -// check:$3 = 97 -// debugger:print/d 'basic-types-mut-globals::I8' -// check:$4 = 68 -// debugger:print 'basic-types-mut-globals::I16' -// check:$5 = -16 -// debugger:print 'basic-types-mut-globals::I32' -// check:$6 = -32 -// debugger:print 'basic-types-mut-globals::I64' -// check:$7 = -64 -// debugger:print 'basic-types-mut-globals::U' -// check:$8 = 1 -// debugger:print/d 'basic-types-mut-globals::U8' -// check:$9 = 100 -// debugger:print 'basic-types-mut-globals::U16' -// check:$10 = 16 -// debugger:print 'basic-types-mut-globals::U32' -// check:$11 = 32 -// debugger:print 'basic-types-mut-globals::U64' -// check:$12 = 64 -// debugger:print 'basic-types-mut-globals::F32' -// check:$13 = 2.5 -// debugger:print 'basic-types-mut-globals::F64' -// check:$14 = 3.5 -// debugger:continue - -// Check new values -// debugger:print 'basic-types-mut-globals'::B -// check:$15 = true -// debugger:print 'basic-types-mut-globals'::I -// check:$16 = 2 -// debugger:print 'basic-types-mut-globals'::C -// check:$17 = 102 -// debugger:print/d 'basic-types-mut-globals'::I8 -// check:$18 = 78 -// debugger:print 'basic-types-mut-globals'::I16 -// check:$19 = -26 -// debugger:print 'basic-types-mut-globals'::I32 -// check:$20 = -12 -// debugger:print 'basic-types-mut-globals'::I64 -// check:$21 = -54 -// debugger:print 'basic-types-mut-globals'::U -// check:$22 = 5 -// debugger:print/d 'basic-types-mut-globals'::U8 -// check:$23 = 20 -// debugger:print 'basic-types-mut-globals'::U16 -// check:$24 = 32 -// debugger:print 'basic-types-mut-globals'::U32 -// check:$25 = 16 -// debugger:print 'basic-types-mut-globals'::U64 -// check:$26 = 128 -// debugger:print 'basic-types-mut-globals'::F32 -// check:$27 = 5.75 -// debugger:print 'basic-types-mut-globals'::F64 -// check:$28 = 9.25 - -// debugger:detach -// debugger:quit - -#![allow(unused_variable)] - -static mut B: bool = false; -static mut I: int = -1; -static mut C: char = 'a'; -static mut I8: i8 = 68; -static mut I16: i16 = -16; -static mut I32: i32 = -32; -static mut I64: i64 = -64; -static mut U: uint = 1; -static mut U8: u8 = 100; -static mut U16: u16 = 16; -static mut U32: u32 = 32; -static mut U64: u64 = 64; -static mut F32: f32 = 2.5; -static mut F64: f64 = 3.5; - -fn main() { - _zzz(); - - unsafe { - B = true; - I = 2; - C = 'f'; - I8 = 78; - I16 = -26; - I32 = -12; - I64 = -54; - U = 5; - U8 = 20; - U16 = 32; - U32 = 16; - U64 = 128; - F32 = 5.75; - F64 = 9.25; - } - - _zzz(); -} - -fn _zzz() {()} diff --git a/src/test/debug-info/lexical-scope-in-unconditional-loop.rs b/src/test/debug-info/lexical-scope-in-unconditional-loop.rs deleted file mode 100644 index fd217912b0a0e..0000000000000 --- a/src/test/debug-info/lexical-scope-in-unconditional-loop.rs +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// FIRST ITERATION -// debugger:finish -// debugger:print x -// check:$1 = 0 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$2 = 1 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 101 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$4 = 101 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = -987 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$6 = 101 -// debugger:continue - - -// SECOND ITERATION -// debugger:finish -// debugger:print x -// check:$7 = 1 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$8 = 2 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$9 = 102 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$10 = 102 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$11 = -987 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$12 = 102 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$13 = 2 -// debugger:continue - -fn main() { - - let mut x = 0; - - loop { - if x >= 2 { - break; - } - - zzz(); - sentinel(); - - x += 1; - zzz(); - sentinel(); - - // Shadow x - let x = x + 100; - zzz(); - sentinel(); - - // open scope within loop's top level scope - { - zzz(); - sentinel(); - - let x = -987; - - zzz(); - sentinel(); - } - - // Check that we get the x before the inner scope again - zzz(); - sentinel(); - } - - zzz(); - sentinel(); -} - -fn zzz() {()} -fn sentinel() {()} diff --git a/src/test/debug-info/lexical-scope-in-while.rs b/src/test/debug-info/lexical-scope-in-while.rs deleted file mode 100644 index a47343467a95b..0000000000000 --- a/src/test/debug-info/lexical-scope-in-while.rs +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// FIRST ITERATION -// debugger:finish -// debugger:print x -// check:$1 = 0 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$2 = 1 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 101 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$4 = 101 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = -987 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$6 = 101 -// debugger:continue - - -// SECOND ITERATION -// debugger:finish -// debugger:print x -// check:$7 = 1 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$8 = 2 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$9 = 102 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$10 = 102 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$11 = -987 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$12 = 102 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$13 = 2 -// debugger:continue - -fn main() { - - let mut x = 0; - - while x < 2 { - zzz(); - sentinel(); - - x += 1; - zzz(); - sentinel(); - - // Shadow x - let x = x + 100; - zzz(); - sentinel(); - - // open scope within loop's top level scope - { - zzz(); - sentinel(); - - let x = -987; - - zzz(); - sentinel(); - } - - // Check that we get the x before the inner scope again - zzz(); - sentinel(); - } - - zzz(); - sentinel(); -} - -fn zzz() {()} -fn sentinel() {()} diff --git a/src/test/debug-info/lexical-scopes-in-block-expression.rs b/src/test/debug-info/lexical-scopes-in-block-expression.rs deleted file mode 100644 index 6626d75dc0c98..0000000000000 --- a/src/test/debug-info/lexical-scopes-in-block-expression.rs +++ /dev/null @@ -1,377 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-win32: FIXME #13256 -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$1 = 0 - -// STRUCT EXPRESSION -// debugger:finish -// debugger:print val -// check:$2 = -1 -// debugger:print ten -// check:$3 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$4 = 11 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$5 = 1 -// debugger:print ten -// check:$6 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$7 = -1 -// debugger:print ten -// check:$8 = 10 -// debugger:continue - -// FUNCTION CALL -// debugger:finish -// debugger:print val -// check:$9 = -1 -// debugger:print ten -// check:$10 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$11 = 12 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$12 = 2 -// debugger:print ten -// check:$13 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$14 = -1 -// debugger:print ten -// check:$15 = 10 -// debugger:continue - -// TUPLE EXPRESSION -// debugger:finish -// debugger:print val -// check:$16 = -1 -// debugger:print ten -// check:$17 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$18 = 13 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$19 = 3 -// debugger:print ten -// check:$20 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$21 = -1 -// debugger:print ten -// check:$22 = 10 -// debugger:continue - -// VEC EXPRESSION -// debugger:finish -// debugger:print val -// check:$23 = -1 -// debugger:print ten -// check:$24 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$25 = 14 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$26 = 4 -// debugger:print ten -// check:$27 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$28 = -1 -// debugger:print ten -// check:$29 = 10 -// debugger:continue - -// REPEAT VEC EXPRESSION -// debugger:finish -// debugger:print val -// check:$30 = -1 -// debugger:print ten -// check:$31 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$32 = 15 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$33 = 5 -// debugger:print ten -// check:$34 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$35 = -1 -// debugger:print ten -// check:$36 = 10 -// debugger:continue - -// ASSIGNMENT EXPRESSION -// debugger:finish -// debugger:print val -// check:$37 = -1 -// debugger:print ten -// check:$38 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$39 = 16 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$40 = 6 -// debugger:print ten -// check:$41 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$42 = -1 -// debugger:print ten -// check:$43 = 10 -// debugger:continue - - -// ARITHMETIC EXPRESSION -// debugger:finish -// debugger:print val -// check:$44 = -1 -// debugger:print ten -// check:$45 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$46 = 17 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$47 = 7 -// debugger:print ten -// check:$48 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$49 = -1 -// debugger:print ten -// check:$50 = 10 -// debugger:continue - -// INDEX EXPRESSION -// debugger:finish -// debugger:print val -// check:$51 = -1 -// debugger:print ten -// check:$52 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$53 = 18 -// debugger:print 'lexical-scopes-in-block-expression::MUT_INT' -// check:$54 = 8 -// debugger:print ten -// check:$55 = 10 -// debugger:continue - -// debugger:finish -// debugger:print val -// check:$56 = -1 -// debugger:print ten -// check:$57 = 10 -// debugger:continue - -#![allow(unused_variable)] -#![allow(dead_assignment)] - -static mut MUT_INT: int = 0; - -struct Point { - x: int, - y: int -} - -fn a_function(x: int) -> int { - x + 1 -} - -fn main() { - - let val = -1; - let ten = 10; - - // surrounded by struct expression - let point = Point { - x: { - zzz(); - sentinel(); - - let val = ten + 1; - unsafe {MUT_INT = 1;}; - - zzz(); - sentinel(); - - val - }, - y: 10 - }; - - zzz(); - sentinel(); - - // surrounded by function call - let _ = a_function({ - zzz(); - sentinel(); - - let val = ten + 2; - unsafe {MUT_INT = 2;}; - - zzz(); - sentinel(); - - val - }); - - zzz(); - sentinel(); - - - // surrounded by tup - let _ = ({ - zzz(); - sentinel(); - - let val = ten + 3; - unsafe {MUT_INT = 3;}; - - zzz(); - sentinel(); - - val - }, 0); - - zzz(); - sentinel(); - - // surrounded by vec - let _ = [{ - zzz(); - sentinel(); - - let val = ten + 4; - unsafe {MUT_INT = 4;}; - - zzz(); - sentinel(); - - val - }, 0, 0]; - - zzz(); - sentinel(); - - // surrounded by repeat vec - let _ = [{ - zzz(); - sentinel(); - - let val = ten + 5; - unsafe {MUT_INT = 5;}; - - zzz(); - sentinel(); - - val - }, ..10]; - - zzz(); - sentinel(); - - // assignment expression - let mut var = 0; - var = { - zzz(); - sentinel(); - - let val = ten + 6; - unsafe {MUT_INT = 6;}; - - zzz(); - sentinel(); - - val - }; - - zzz(); - sentinel(); - - // arithmetic expression - var = 10 + -{ - zzz(); - sentinel(); - - let val = ten + 7; - unsafe {MUT_INT = 7;}; - - zzz(); - sentinel(); - - val - } * 5; - - zzz(); - sentinel(); - - // index expression - let a_vector = [10, ..20]; - let _ = a_vector[{ - zzz(); - sentinel(); - - let val = ten + 8; - unsafe {MUT_INT = 8;}; - - zzz(); - sentinel(); - - val as uint - }]; - - zzz(); - sentinel(); -} - -fn zzz() {()} -fn sentinel() {()} diff --git a/src/test/debug-info/simple-tuple.rs b/src/test/debug-info/simple-tuple.rs deleted file mode 100644 index 256a34ff0ab13..0000000000000 --- a/src/test/debug-info/simple-tuple.rs +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-win32: FIXME #13256 -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz - -// debugger:print/d 'simple-tuple::NO_PADDING_8' -// check:$1 = {-50, 50} -// debugger:print 'simple-tuple::NO_PADDING_16' -// check:$2 = {-1, 2, 3} -// debugger:print 'simple-tuple::NO_PADDING_32' -// check:$3 = {4, 5, 6} -// debugger:print 'simple-tuple::NO_PADDING_64' -// check:$4 = {7, 8, 9} - -// debugger:print 'simple-tuple::INTERNAL_PADDING_1' -// check:$5 = {10, 11} -// debugger:print 'simple-tuple::INTERNAL_PADDING_2' -// check:$6 = {12, 13, 14, 15} - -// debugger:print 'simple-tuple::PADDING_AT_END' -// check:$7 = {16, 17} - -// debugger:run -// debugger:finish - -// debugger:print/d noPadding8 -// check:$8 = {-100, 100} -// debugger:print noPadding16 -// check:$9 = {0, 1, 2} -// debugger:print noPadding32 -// check:$10 = {3, 4.5, 5} -// debugger:print noPadding64 -// check:$11 = {6, 7.5, 8} - -// debugger:print internalPadding1 -// check:$12 = {9, 10} -// debugger:print internalPadding2 -// check:$13 = {11, 12, 13, 14} - -// debugger:print paddingAtEnd -// check:$14 = {15, 16} - -// debugger:print/d 'simple-tuple::NO_PADDING_8' -// check:$15 = {-127, 127} -// debugger:print 'simple-tuple::NO_PADDING_16' -// check:$16 = {-10, 10, 9} -// debugger:print 'simple-tuple::NO_PADDING_32' -// check:$17 = {14, 15, 16} -// debugger:print 'simple-tuple::NO_PADDING_64' -// check:$18 = {17, 18, 19} - -// debugger:print 'simple-tuple::INTERNAL_PADDING_1' -// check:$19 = {110, 111} -// debugger:print 'simple-tuple::INTERNAL_PADDING_2' -// check:$20 = {112, 113, 114, 115} - -// debugger:print 'simple-tuple::PADDING_AT_END' -// check:$21 = {116, 117} - -#![allow(unused_variable)] -#![allow(dead_code)] - -static mut NO_PADDING_8: (i8, u8) = (-50, 50); -static mut NO_PADDING_16: (i16, i16, u16) = (-1, 2, 3); - -static mut NO_PADDING_32: (i32, f32, u32) = (4, 5.0, 6); -static mut NO_PADDING_64: (i64, f64, u64) = (7, 8.0, 9); - -static mut INTERNAL_PADDING_1: (i16, i32) = (10, 11); -static mut INTERNAL_PADDING_2: (i16, i32, u32, u64) = (12, 13, 14, 15); - -static mut PADDING_AT_END: (i32, i16) = (16, 17); - -fn main() { - let noPadding8: (i8, u8) = (-100, 100); - let noPadding16: (i16, i16, u16) = (0, 1, 2); - let noPadding32: (i32, f32, u32) = (3, 4.5, 5); - let noPadding64: (i64, f64, u64) = (6, 7.5, 8); - - let internalPadding1: (i16, i32) = (9, 10); - let internalPadding2: (i16, i32, u32, u64) = (11, 12, 13, 14); - - let paddingAtEnd: (i32, i16) = (15, 16); - - unsafe { - NO_PADDING_8 = (-127, 127); - NO_PADDING_16 = (-10, 10, 9); - - NO_PADDING_32 = (14, 15.0, 16); - NO_PADDING_64 = (17, 18.0, 19); - - INTERNAL_PADDING_1 = (110, 111); - INTERNAL_PADDING_2 = (112, 113, 114, 115); - - PADDING_AT_END = (116, 117); - } - - zzz(); -} - -fn zzz() {()} diff --git a/src/test/debug-info/vec-slices.rs b/src/test/debug-info/vec-slices.rs deleted file mode 100644 index 6171facc42bc5..0000000000000 --- a/src/test/debug-info/vec-slices.rs +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-win32: FIXME #13256 -// ignore-android: FIXME(#10381) - -// compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print empty.length -// check:$1 = 0 - -// debugger:print singleton.length -// check:$2 = 1 -// debugger:print *((int64_t[1]*)(singleton.data_ptr)) -// check:$3 = {1} - -// debugger:print multiple.length -// check:$4 = 4 -// debugger:print *((int64_t[4]*)(multiple.data_ptr)) -// check:$5 = {2, 3, 4, 5} - -// debugger:print slice_of_slice.length -// check:$6 = 2 -// debugger:print *((int64_t[2]*)(slice_of_slice.data_ptr)) -// check:$7 = {3, 4} - -// debugger:print padded_tuple.length -// check:$8 = 2 -// debugger:print padded_tuple.data_ptr[0] -// check:$9 = {6, 7} -// debugger:print padded_tuple.data_ptr[1] -// check:$10 = {8, 9} - -// debugger:print padded_struct.length -// check:$11 = 2 -// debugger:print padded_struct.data_ptr[0] -// check:$12 = {x = 10, y = 11, z = 12} -// debugger:print padded_struct.data_ptr[1] -// check:$13 = {x = 13, y = 14, z = 15} - -// debugger:print 'vec-slices::MUT_VECT_SLICE'.length -// check:$14 = 2 -// debugger:print *((int64_t[2]*)('vec-slices::MUT_VECT_SLICE'.data_ptr)) -// check:$15 = {64, 65} - -#![allow(unused_variable)] - -struct AStruct { - x: i16, - y: i32, - z: i16 -} - -static VECT_SLICE: &'static [i64] = &[64, 65]; -static mut MUT_VECT_SLICE: &'static [i64] = &[32]; - -fn main() { - let empty: &[i64] = &[]; - let singleton: &[i64] = &[1]; - let multiple: &[i64] = &[2, 3, 4, 5]; - let slice_of_slice = multiple.slice(1,3); - - let padded_tuple: &[(i32, i16)] = &[(6, 7), (8, 9)]; - - let padded_struct: &[AStruct] = &[ - AStruct { x: 10, y: 11, z: 12 }, - AStruct { x: 13, y: 14, z: 15 } - ]; - - unsafe { - MUT_VECT_SLICE = VECT_SLICE; - } - - zzz(); -} - -fn zzz() {()} diff --git a/src/test/debuginfo/basic-types-globals-metadata.rs b/src/test/debuginfo/basic-types-globals-metadata.rs new file mode 100644 index 0000000000000..1e157f10c12a5 --- /dev/null +++ b/src/test/debuginfo/basic-types-globals-metadata.rs @@ -0,0 +1,73 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-win32: FIXME #13256 +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:whatis 'basic-types-globals-metadata::B' +// gdb-check:type = bool +// gdb-command:whatis 'basic-types-globals-metadata::I' +// gdb-check:type = int +// gdb-command:whatis 'basic-types-globals-metadata::C' +// gdb-check:type = char +// gdb-command:whatis 'basic-types-globals-metadata::I8' +// gdb-check:type = i8 +// gdb-command:whatis 'basic-types-globals-metadata::I16' +// gdb-check:type = i16 +// gdb-command:whatis 'basic-types-globals-metadata::I32' +// gdb-check:type = i32 +// gdb-command:whatis 'basic-types-globals-metadata::I64' +// gdb-check:type = i64 +// gdb-command:whatis 'basic-types-globals-metadata::U' +// gdb-check:type = uint +// gdb-command:whatis 'basic-types-globals-metadata::U8' +// gdb-check:type = u8 +// gdb-command:whatis 'basic-types-globals-metadata::U16' +// gdb-check:type = u16 +// gdb-command:whatis 'basic-types-globals-metadata::U32' +// gdb-check:type = u32 +// gdb-command:whatis 'basic-types-globals-metadata::U64' +// gdb-check:type = u64 +// gdb-command:whatis 'basic-types-globals-metadata::F32' +// gdb-check:type = f32 +// gdb-command:whatis 'basic-types-globals-metadata::F64' +// gdb-check:type = f64 +// gdb-command:continue + +#![allow(unused_variable)] +#![allow(dead_code)] + + +static B: bool = false; +static I: int = -1; +static C: char = 'a'; +static I8: i8 = 68; +static I16: i16 = -16; +static I32: i32 = -32; +static I64: i64 = -64; +static U: uint = 1; +static U8: u8 = 100; +static U16: u16 = 16; +static U32: u32 = 32; +static U64: u64 = 64; +static F32: f32 = 2.5; +static F64: f64 = 3.5; + +fn main() { + _zzz(); + + let a = (B, I, C, I8, I16, I32, I64, U, U8, U16, U32, U64, F32, F64); +} + +fn _zzz() {()} diff --git a/src/test/debug-info/basic-types-globals.rs b/src/test/debuginfo/basic-types-globals.rs similarity index 55% rename from src/test/debug-info/basic-types-globals.rs rename to src/test/debuginfo/basic-types-globals.rs index cdc3132ca60b2..2fc20bedc0747 100644 --- a/src/test/debug-info/basic-types-globals.rs +++ b/src/test/debuginfo/basic-types-globals.rs @@ -18,38 +18,38 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print 'basic-types-globals::B' -// check:$1 = false -// debugger:print 'basic-types-globals::I' -// check:$2 = -1 -// debugger:print 'basic-types-globals::C' -// check:$3 = 97 -// debugger:print/d 'basic-types-globals::I8' -// check:$4 = 68 -// debugger:print 'basic-types-globals::I16' -// check:$5 = -16 -// debugger:print 'basic-types-globals::I32' -// check:$6 = -32 -// debugger:print 'basic-types-globals::I64' -// check:$7 = -64 -// debugger:print 'basic-types-globals::U' -// check:$8 = 1 -// debugger:print/d 'basic-types-globals::U8' -// check:$9 = 100 -// debugger:print 'basic-types-globals::U16' -// check:$10 = 16 -// debugger:print 'basic-types-globals::U32' -// check:$11 = 32 -// debugger:print 'basic-types-globals::U64' -// check:$12 = 64 -// debugger:print 'basic-types-globals::F32' -// check:$13 = 2.5 -// debugger:print 'basic-types-globals::F64' -// check:$14 = 3.5 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print 'basic-types-globals::B' +// gdb-check:$1 = false +// gdb-command:print 'basic-types-globals::I' +// gdb-check:$2 = -1 +// gdb-command:print 'basic-types-globals::C' +// gdb-check:$3 = 97 +// gdb-command:print/d 'basic-types-globals::I8' +// gdb-check:$4 = 68 +// gdb-command:print 'basic-types-globals::I16' +// gdb-check:$5 = -16 +// gdb-command:print 'basic-types-globals::I32' +// gdb-check:$6 = -32 +// gdb-command:print 'basic-types-globals::I64' +// gdb-check:$7 = -64 +// gdb-command:print 'basic-types-globals::U' +// gdb-check:$8 = 1 +// gdb-command:print/d 'basic-types-globals::U8' +// gdb-check:$9 = 100 +// gdb-command:print 'basic-types-globals::U16' +// gdb-check:$10 = 16 +// gdb-command:print 'basic-types-globals::U32' +// gdb-check:$11 = 32 +// gdb-command:print 'basic-types-globals::U64' +// gdb-check:$12 = 64 +// gdb-command:print 'basic-types-globals::F32' +// gdb-check:$13 = 2.5 +// gdb-command:print 'basic-types-globals::F64' +// gdb-check:$14 = 3.5 +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debug-info/basic-types-metadata.rs b/src/test/debuginfo/basic-types-metadata.rs similarity index 52% rename from src/test/debug-info/basic-types-metadata.rs rename to src/test/debuginfo/basic-types-metadata.rs index ae5d3a84b966a..da32518d9936d 100644 --- a/src/test/debug-info/basic-types-metadata.rs +++ b/src/test/debuginfo/basic-types-metadata.rs @@ -11,42 +11,42 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:whatis unit -// check:type = () -// debugger:whatis b -// check:type = bool -// debugger:whatis i -// check:type = int -// debugger:whatis c -// check:type = char -// debugger:whatis i8 -// check:type = i8 -// debugger:whatis i16 -// check:type = i16 -// debugger:whatis i32 -// check:type = i32 -// debugger:whatis i64 -// check:type = i64 -// debugger:whatis u -// check:type = uint -// debugger:whatis u8 -// check:type = u8 -// debugger:whatis u16 -// check:type = u16 -// debugger:whatis u32 -// check:type = u32 -// debugger:whatis u64 -// check:type = u64 -// debugger:whatis f32 -// check:type = f32 -// debugger:whatis f64 -// check:type = f64 -// debugger:info functions _yyy -// check:[...]![...]_yyy([...])([...]); -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:whatis unit +// gdb-check:type = () +// gdb-command:whatis b +// gdb-check:type = bool +// gdb-command:whatis i +// gdb-check:type = int +// gdb-command:whatis c +// gdb-check:type = char +// gdb-command:whatis i8 +// gdb-check:type = i8 +// gdb-command:whatis i16 +// gdb-check:type = i16 +// gdb-command:whatis i32 +// gdb-check:type = i32 +// gdb-command:whatis i64 +// gdb-check:type = i64 +// gdb-command:whatis u +// gdb-check:type = uint +// gdb-command:whatis u8 +// gdb-check:type = u8 +// gdb-command:whatis u16 +// gdb-check:type = u16 +// gdb-command:whatis u32 +// gdb-check:type = u32 +// gdb-command:whatis u64 +// gdb-check:type = u64 +// gdb-command:whatis f32 +// gdb-check:type = f32 +// gdb-command:whatis f64 +// gdb-check:type = f64 +// gdb-command:info functions _yyy +// gdb-check:[...]![...]_yyy([...])([...]); +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debuginfo/basic-types-mut-globals.rs b/src/test/debuginfo/basic-types-mut-globals.rs new file mode 100644 index 0000000000000..f1579192b17b2 --- /dev/null +++ b/src/test/debuginfo/basic-types-mut-globals.rs @@ -0,0 +1,129 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Caveats - gdb prints any 8-bit value (meaning rust I8 and u8 values) +// as its numerical value along with its associated ASCII char, there +// doesn't seem to be any way around this. Also, gdb doesn't know +// about UTF-32 character encoding and will print a rust char as only +// its numerical value. + +// ignore-win32: FIXME #13256 +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// Check initializers +// gdb-command:print 'basic-types-mut-globals::B' +// gdb-check:$1 = false +// gdb-command:print 'basic-types-mut-globals::I' +// gdb-check:$2 = -1 +// gdb-command:print 'basic-types-mut-globals::C' +// gdb-check:$3 = 97 +// gdb-command:print/d 'basic-types-mut-globals::I8' +// gdb-check:$4 = 68 +// gdb-command:print 'basic-types-mut-globals::I16' +// gdb-check:$5 = -16 +// gdb-command:print 'basic-types-mut-globals::I32' +// gdb-check:$6 = -32 +// gdb-command:print 'basic-types-mut-globals::I64' +// gdb-check:$7 = -64 +// gdb-command:print 'basic-types-mut-globals::U' +// gdb-check:$8 = 1 +// gdb-command:print/d 'basic-types-mut-globals::U8' +// gdb-check:$9 = 100 +// gdb-command:print 'basic-types-mut-globals::U16' +// gdb-check:$10 = 16 +// gdb-command:print 'basic-types-mut-globals::U32' +// gdb-check:$11 = 32 +// gdb-command:print 'basic-types-mut-globals::U64' +// gdb-check:$12 = 64 +// gdb-command:print 'basic-types-mut-globals::F32' +// gdb-check:$13 = 2.5 +// gdb-command:print 'basic-types-mut-globals::F64' +// gdb-check:$14 = 3.5 +// gdb-command:continue + +// Check new values +// gdb-command:print 'basic-types-mut-globals'::B +// gdb-check:$15 = true +// gdb-command:print 'basic-types-mut-globals'::I +// gdb-check:$16 = 2 +// gdb-command:print 'basic-types-mut-globals'::C +// gdb-check:$17 = 102 +// gdb-command:print/d 'basic-types-mut-globals'::I8 +// gdb-check:$18 = 78 +// gdb-command:print 'basic-types-mut-globals'::I16 +// gdb-check:$19 = -26 +// gdb-command:print 'basic-types-mut-globals'::I32 +// gdb-check:$20 = -12 +// gdb-command:print 'basic-types-mut-globals'::I64 +// gdb-check:$21 = -54 +// gdb-command:print 'basic-types-mut-globals'::U +// gdb-check:$22 = 5 +// gdb-command:print/d 'basic-types-mut-globals'::U8 +// gdb-check:$23 = 20 +// gdb-command:print 'basic-types-mut-globals'::U16 +// gdb-check:$24 = 32 +// gdb-command:print 'basic-types-mut-globals'::U32 +// gdb-check:$25 = 16 +// gdb-command:print 'basic-types-mut-globals'::U64 +// gdb-check:$26 = 128 +// gdb-command:print 'basic-types-mut-globals'::F32 +// gdb-check:$27 = 5.75 +// gdb-command:print 'basic-types-mut-globals'::F64 +// gdb-check:$28 = 9.25 + +// gdb-command:detach +// gdb-command:quit + +#![allow(unused_variable)] + +static mut B: bool = false; +static mut I: int = -1; +static mut C: char = 'a'; +static mut I8: i8 = 68; +static mut I16: i16 = -16; +static mut I32: i32 = -32; +static mut I64: i64 = -64; +static mut U: uint = 1; +static mut U8: u8 = 100; +static mut U16: u16 = 16; +static mut U32: u32 = 32; +static mut U64: u64 = 64; +static mut F32: f32 = 2.5; +static mut F64: f64 = 3.5; + +fn main() { + _zzz(); + + unsafe { + B = true; + I = 2; + C = 'f'; + I8 = 78; + I16 = -26; + I32 = -12; + I64 = -54; + U = 5; + U8 = 20; + U16 = 32; + U32 = 16; + U64 = 128; + F32 = 5.75; + F64 = 9.25; + } + + _zzz(); +} + +fn _zzz() {()} diff --git a/src/test/debug-info/basic-types.rs b/src/test/debuginfo/basic-types.rs similarity index 62% rename from src/test/debug-info/basic-types.rs rename to src/test/debuginfo/basic-types.rs index 9c32fcfb945a3..ae554cafb507c 100644 --- a/src/test/debug-info/basic-types.rs +++ b/src/test/debuginfo/basic-types.rs @@ -17,37 +17,37 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print b -// check:$1 = false -// debugger:print i -// check:$2 = -1 -// debugger:print c -// check:$3 = 97 -// debugger:print/d i8 -// check:$4 = 68 -// debugger:print i16 -// check:$5 = -16 -// debugger:print i32 -// check:$6 = -32 -// debugger:print i64 -// check:$7 = -64 -// debugger:print u -// check:$8 = 1 -// debugger:print/d u8 -// check:$9 = 100 -// debugger:print u16 -// check:$10 = 16 -// debugger:print u32 -// check:$11 = 32 -// debugger:print u64 -// check:$12 = 64 -// debugger:print f32 -// check:$13 = 2.5 -// debugger:print f64 -// check:$14 = 3.5 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print b +// gdb-check:$1 = false +// gdb-command:print i +// gdb-check:$2 = -1 +// gdb-command:print c +// gdb-check:$3 = 97 +// gdb-command:print/d i8 +// gdb-check:$4 = 68 +// gdb-command:print i16 +// gdb-check:$5 = -16 +// gdb-command:print i32 +// gdb-check:$6 = -32 +// gdb-command:print i64 +// gdb-check:$7 = -64 +// gdb-command:print u +// gdb-check:$8 = 1 +// gdb-command:print/d u8 +// gdb-check:$9 = 100 +// gdb-command:print u16 +// gdb-check:$10 = 16 +// gdb-command:print u32 +// gdb-check:$11 = 32 +// gdb-command:print u64 +// gdb-check:$12 = 64 +// gdb-command:print f32 +// gdb-check:$13 = 2.5 +// gdb-command:print f64 +// gdb-check:$14 = 3.5 #![allow(unused_variable)] diff --git a/src/test/debug-info/borrowed-basic.rs b/src/test/debuginfo/borrowed-basic.rs similarity index 66% rename from src/test/debug-info/borrowed-basic.rs rename to src/test/debuginfo/borrowed-basic.rs index 3d0f6632e5044..d511e5ed20f8e 100644 --- a/src/test/debug-info/borrowed-basic.rs +++ b/src/test/debuginfo/borrowed-basic.rs @@ -14,50 +14,50 @@ // its numerical value. // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print *bool_ref -// check:$1 = true +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print *bool_ref +// gdb-check:$1 = true -// debugger:print *int_ref -// check:$2 = -1 +// gdb-command:print *int_ref +// gdb-check:$2 = -1 -// debugger:print *char_ref -// check:$3 = 97 +// gdb-command:print *char_ref +// gdb-check:$3 = 97 -// debugger:print *i8_ref -// check:$4 = 68 'D' +// gdb-command:print *i8_ref +// gdb-check:$4 = 68 'D' -// debugger:print *i16_ref -// check:$5 = -16 +// gdb-command:print *i16_ref +// gdb-check:$5 = -16 -// debugger:print *i32_ref -// check:$6 = -32 +// gdb-command:print *i32_ref +// gdb-check:$6 = -32 -// debugger:print *i64_ref -// check:$7 = -64 +// gdb-command:print *i64_ref +// gdb-check:$7 = -64 -// debugger:print *uint_ref -// check:$8 = 1 +// gdb-command:print *uint_ref +// gdb-check:$8 = 1 -// debugger:print *u8_ref -// check:$9 = 100 'd' +// gdb-command:print *u8_ref +// gdb-check:$9 = 100 'd' -// debugger:print *u16_ref -// check:$10 = 16 +// gdb-command:print *u16_ref +// gdb-check:$10 = 16 -// debugger:print *u32_ref -// check:$11 = 32 +// gdb-command:print *u32_ref +// gdb-check:$11 = 32 -// debugger:print *u64_ref -// check:$12 = 64 +// gdb-command:print *u64_ref +// gdb-check:$12 = 64 -// debugger:print *f32_ref -// check:$13 = 2.5 +// gdb-command:print *f32_ref +// gdb-check:$13 = 2.5 -// debugger:print *f64_ref -// check:$14 = 3.5 +// gdb-command:print *f64_ref +// gdb-check:$14 = 3.5 #![allow(unused_variable)] diff --git a/src/test/debug-info/borrowed-c-style-enum.rs b/src/test/debuginfo/borrowed-c-style-enum.rs similarity index 77% rename from src/test/debug-info/borrowed-c-style-enum.rs rename to src/test/debuginfo/borrowed-c-style-enum.rs index 4007e35dec3f9..9ab7e0701cc99 100644 --- a/src/test/debug-info/borrowed-c-style-enum.rs +++ b/src/test/debuginfo/borrowed-c-style-enum.rs @@ -11,18 +11,18 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *the_a_ref -// check:$1 = TheA +// gdb-command:print *the_a_ref +// gdb-check:$1 = TheA -// debugger:print *the_b_ref -// check:$2 = TheB +// gdb-command:print *the_b_ref +// gdb-check:$2 = TheB -// debugger:print *the_c_ref -// check:$3 = TheC +// gdb-command:print *the_c_ref +// gdb-check:$3 = TheC #![allow(unused_variable)] diff --git a/src/test/debug-info/borrowed-enum.rs b/src/test/debuginfo/borrowed-enum.rs similarity index 81% rename from src/test/debug-info/borrowed-enum.rs rename to src/test/debuginfo/borrowed-enum.rs index 3512bc6339590..7126aec239177 100644 --- a/src/test/debug-info/borrowed-enum.rs +++ b/src/test/debuginfo/borrowed-enum.rs @@ -11,18 +11,18 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *the_a_ref -// check:$1 = {{TheA, x = 0, y = 8970181431921507452}, {TheA, 0, 2088533116, 2088533116}} +// gdb-command:print *the_a_ref +// gdb-check:$1 = {{TheA, x = 0, y = 8970181431921507452}, {TheA, 0, 2088533116, 2088533116}} -// debugger:print *the_b_ref -// check:$2 = {{TheB, x = 0, y = 1229782938247303441}, {TheB, 0, 286331153, 286331153}} +// gdb-command:print *the_b_ref +// gdb-check:$2 = {{TheB, x = 0, y = 1229782938247303441}, {TheB, 0, 286331153, 286331153}} -// debugger:print *univariant_ref -// check:$3 = {4820353753753434} +// gdb-command:print *univariant_ref +// gdb-check:$3 = {4820353753753434} #![allow(unused_variable)] #![feature(struct_variant)] diff --git a/src/test/debug-info/borrowed-managed-basic.rs b/src/test/debuginfo/borrowed-managed-basic.rs similarity index 67% rename from src/test/debug-info/borrowed-managed-basic.rs rename to src/test/debuginfo/borrowed-managed-basic.rs index e12ebe643a4f3..85f325859053c 100644 --- a/src/test/debug-info/borrowed-managed-basic.rs +++ b/src/test/debuginfo/borrowed-managed-basic.rs @@ -16,50 +16,50 @@ // its numerical value. // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print *bool_ref -// check:$1 = true +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print *bool_ref +// gdb-check:$1 = true -// debugger:print *int_ref -// check:$2 = -1 +// gdb-command:print *int_ref +// gdb-check:$2 = -1 -// debugger:print *char_ref -// check:$3 = 97 +// gdb-command:print *char_ref +// gdb-check:$3 = 97 -// debugger:print/d *i8_ref -// check:$4 = 68 +// gdb-command:print/d *i8_ref +// gdb-check:$4 = 68 -// debugger:print *i16_ref -// check:$5 = -16 +// gdb-command:print *i16_ref +// gdb-check:$5 = -16 -// debugger:print *i32_ref -// check:$6 = -32 +// gdb-command:print *i32_ref +// gdb-check:$6 = -32 -// debugger:print *i64_ref -// check:$7 = -64 +// gdb-command:print *i64_ref +// gdb-check:$7 = -64 -// debugger:print *uint_ref -// check:$8 = 1 +// gdb-command:print *uint_ref +// gdb-check:$8 = 1 -// debugger:print/d *u8_ref -// check:$9 = 100 +// gdb-command:print/d *u8_ref +// gdb-check:$9 = 100 -// debugger:print *u16_ref -// check:$10 = 16 +// gdb-command:print *u16_ref +// gdb-check:$10 = 16 -// debugger:print *u32_ref -// check:$11 = 32 +// gdb-command:print *u32_ref +// gdb-check:$11 = 32 -// debugger:print *u64_ref -// check:$12 = 64 +// gdb-command:print *u64_ref +// gdb-check:$12 = 64 -// debugger:print *f32_ref -// check:$13 = 2.5 +// gdb-command:print *f32_ref +// gdb-check:$13 = 2.5 -// debugger:print *f64_ref -// check:$14 = 3.5 +// gdb-command:print *f64_ref +// gdb-check:$14 = 3.5 #![allow(unused_variable)] diff --git a/src/test/debug-info/borrowed-struct.rs b/src/test/debuginfo/borrowed-struct.rs similarity index 64% rename from src/test/debug-info/borrowed-struct.rs rename to src/test/debuginfo/borrowed-struct.rs index e271a221611ae..8ac0745513dac 100644 --- a/src/test/debug-info/borrowed-struct.rs +++ b/src/test/debuginfo/borrowed-struct.rs @@ -11,39 +11,39 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *stack_val_ref -// check:$1 = {x = 10, y = 23.5} +// gdb-command:print *stack_val_ref +// gdb-check:$1 = {x = 10, y = 23.5} -// debugger:print *stack_val_interior_ref_1 -// check:$2 = 10 +// gdb-command:print *stack_val_interior_ref_1 +// gdb-check:$2 = 10 -// debugger:print *stack_val_interior_ref_2 -// check:$3 = 23.5 +// gdb-command:print *stack_val_interior_ref_2 +// gdb-check:$3 = 23.5 -// debugger:print *ref_to_unnamed -// check:$4 = {x = 11, y = 24.5} +// gdb-command:print *ref_to_unnamed +// gdb-check:$4 = {x = 11, y = 24.5} -// debugger:print *managed_val_ref -// check:$5 = {x = 12, y = 25.5} +// gdb-command:print *managed_val_ref +// gdb-check:$5 = {x = 12, y = 25.5} -// debugger:print *managed_val_interior_ref_1 -// check:$6 = 12 +// gdb-command:print *managed_val_interior_ref_1 +// gdb-check:$6 = 12 -// debugger:print *managed_val_interior_ref_2 -// check:$7 = 25.5 +// gdb-command:print *managed_val_interior_ref_2 +// gdb-check:$7 = 25.5 -// debugger:print *unique_val_ref -// check:$8 = {x = 13, y = 26.5} +// gdb-command:print *unique_val_ref +// gdb-check:$8 = {x = 13, y = 26.5} -// debugger:print *unique_val_interior_ref_1 -// check:$9 = 13 +// gdb-command:print *unique_val_interior_ref_1 +// gdb-check:$9 = 13 -// debugger:print *unique_val_interior_ref_2 -// check:$10 = 26.5 +// gdb-command:print *unique_val_interior_ref_2 +// gdb-check:$10 = 26.5 #![feature(managed_boxes)] #![allow(unused_variable)] diff --git a/src/test/debug-info/borrowed-tuple.rs b/src/test/debuginfo/borrowed-tuple.rs similarity index 75% rename from src/test/debug-info/borrowed-tuple.rs rename to src/test/debuginfo/borrowed-tuple.rs index b619f8e8ba12f..427981445c1d5 100644 --- a/src/test/debug-info/borrowed-tuple.rs +++ b/src/test/debuginfo/borrowed-tuple.rs @@ -13,21 +13,21 @@ #![feature(managed_boxes)] // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *stack_val_ref -// check:$1 = {-14, -19} +// gdb-command:print *stack_val_ref +// gdb-check:$1 = {-14, -19} -// debugger:print *ref_to_unnamed -// check:$2 = {-15, -20} +// gdb-command:print *ref_to_unnamed +// gdb-check:$2 = {-15, -20} -// debugger:print *managed_val_ref -// check:$3 = {-16, -21} +// gdb-command:print *managed_val_ref +// gdb-check:$3 = {-16, -21} -// debugger:print *unique_val_ref -// check:$4 = {-17, -22} +// gdb-command:print *unique_val_ref +// gdb-check:$4 = {-17, -22} #![allow(unused_variable)] diff --git a/src/test/debug-info/borrowed-unique-basic.rs b/src/test/debuginfo/borrowed-unique-basic.rs similarity index 68% rename from src/test/debug-info/borrowed-unique-basic.rs rename to src/test/debuginfo/borrowed-unique-basic.rs index eaa2679e698c4..6e8fa62ed26c8 100644 --- a/src/test/debug-info/borrowed-unique-basic.rs +++ b/src/test/debuginfo/borrowed-unique-basic.rs @@ -14,50 +14,50 @@ // its numerical value. // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print *bool_ref -// check:$1 = true +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print *bool_ref +// gdb-check:$1 = true -// debugger:print *int_ref -// check:$2 = -1 +// gdb-command:print *int_ref +// gdb-check:$2 = -1 -// debugger:print *char_ref -// check:$3 = 97 +// gdb-command:print *char_ref +// gdb-check:$3 = 97 -// debugger:print/d *i8_ref -// check:$4 = 68 +// gdb-command:print/d *i8_ref +// gdb-check:$4 = 68 -// debugger:print *i16_ref -// check:$5 = -16 +// gdb-command:print *i16_ref +// gdb-check:$5 = -16 -// debugger:print *i32_ref -// check:$6 = -32 +// gdb-command:print *i32_ref +// gdb-check:$6 = -32 -// debugger:print *i64_ref -// check:$7 = -64 +// gdb-command:print *i64_ref +// gdb-check:$7 = -64 -// debugger:print *uint_ref -// check:$8 = 1 +// gdb-command:print *uint_ref +// gdb-check:$8 = 1 -// debugger:print/d *u8_ref -// check:$9 = 100 +// gdb-command:print/d *u8_ref +// gdb-check:$9 = 100 -// debugger:print *u16_ref -// check:$10 = 16 +// gdb-command:print *u16_ref +// gdb-check:$10 = 16 -// debugger:print *u32_ref -// check:$11 = 32 +// gdb-command:print *u32_ref +// gdb-check:$11 = 32 -// debugger:print *u64_ref -// check:$12 = 64 +// gdb-command:print *u64_ref +// gdb-check:$12 = 64 -// debugger:print *f32_ref -// check:$13 = 2.5 +// gdb-command:print *f32_ref +// gdb-check:$13 = 2.5 -// debugger:print *f64_ref -// check:$14 = 3.5 +// gdb-command:print *f64_ref +// gdb-check:$14 = 3.5 #![allow(unused_variable)] diff --git a/src/test/debug-info/box.rs b/src/test/debuginfo/box.rs similarity index 70% rename from src/test/debug-info/box.rs rename to src/test/debuginfo/box.rs index a849a058332c3..c29d3d88378ed 100644 --- a/src/test/debug-info/box.rs +++ b/src/test/debuginfo/box.rs @@ -11,18 +11,18 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print *a -// check:$1 = 1 -// debugger:print *b -// check:$2 = {2, 3.5} -// debugger:print c->val -// check:$3 = 4 -// debugger:print d->val -// check:$4 = false +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print *a +// gdb-check:$1 = 1 +// gdb-command:print *b +// gdb-check:$2 = {2, 3.5} +// gdb-command:print c->val +// gdb-check:$3 = 4 +// gdb-command:print d->val +// gdb-check:$4 = false #![feature(managed_boxes)] #![allow(unused_variable)] diff --git a/src/test/debug-info/boxed-struct.rs b/src/test/debuginfo/boxed-struct.rs similarity index 73% rename from src/test/debug-info/boxed-struct.rs rename to src/test/debuginfo/boxed-struct.rs index a286fca22c1c2..1c94885adaf3a 100644 --- a/src/test/debug-info/boxed-struct.rs +++ b/src/test/debuginfo/boxed-struct.rs @@ -11,21 +11,21 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *unique -// check:$1 = {x = 99, y = 999, z = 9999, w = 99999} +// gdb-command:print *unique +// gdb-check:$1 = {x = 99, y = 999, z = 9999, w = 99999} -// debugger:print managed->val -// check:$2 = {x = 88, y = 888, z = 8888, w = 88888} +// gdb-command:print managed->val +// gdb-check:$2 = {x = 88, y = 888, z = 8888, w = 88888} -// debugger:print *unique_dtor -// check:$3 = {x = 77, y = 777, z = 7777, w = 77777} +// gdb-command:print *unique_dtor +// gdb-check:$3 = {x = 77, y = 777, z = 7777, w = 77777} -// debugger:print managed_dtor->val -// check:$4 = {x = 33, y = 333, z = 3333, w = 33333} +// gdb-command:print managed_dtor->val +// gdb-check:$4 = {x = 33, y = 333, z = 3333, w = 33333} #![feature(managed_boxes)] #![allow(unused_variable)] diff --git a/src/test/debug-info/by-value-non-immediate-argument.rs b/src/test/debuginfo/by-value-non-immediate-argument.rs similarity index 71% rename from src/test/debug-info/by-value-non-immediate-argument.rs rename to src/test/debuginfo/by-value-non-immediate-argument.rs index ce876e9907f0f..873e062352107 100644 --- a/src/test/debug-info/by-value-non-immediate-argument.rs +++ b/src/test/debuginfo/by-value-non-immediate-argument.rs @@ -11,37 +11,37 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print s -// check:$1 = {a = 1, b = 2.5} -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$2 = {a = 3, b = 4.5} -// debugger:print y -// check:$3 = 5 -// debugger:print z -// check:$4 = 6.5 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$5 = {7, 8, 9.5, 10.5} -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$6 = {11.5, 12.5, 13, 14} -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$7 = {{Case1, x = 0, y = 8970181431921507452}, {Case1, 0, 2088533116, 2088533116}} -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print s +// gdb-check:$1 = {a = 1, b = 2.5} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = {a = 3, b = 4.5} +// gdb-command:print y +// gdb-check:$3 = 5 +// gdb-command:print z +// gdb-check:$4 = 6.5 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$5 = {7, 8, 9.5, 10.5} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$6 = {11.5, 12.5, 13, 14} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = {{Case1, x = 0, y = 8970181431921507452}, {Case1, 0, 2088533116, 2088533116}} +// gdb-command:continue #![feature(struct_variant)] diff --git a/src/test/debug-info/by-value-self-argument-in-trait-impl.rs b/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs similarity index 72% rename from src/test/debug-info/by-value-self-argument-in-trait-impl.rs rename to src/test/debuginfo/by-value-self-argument-in-trait-impl.rs index f8973f79c5fd8..b626fbad27862 100644 --- a/src/test/debug-info/by-value-self-argument-in-trait-impl.rs +++ b/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs @@ -13,28 +13,28 @@ #![feature(managed_boxes)] // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run -// debugger:finish -// debugger:print self -// check:$1 = 1111 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$1 = 1111 +// gdb-command:continue -// debugger:finish -// debugger:print self -// check:$2 = {x = 2222, y = 3333} -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$2 = {x = 2222, y = 3333} +// gdb-command:continue -// debugger:finish -// debugger:print self -// check:$3 = {4444.5, 5555, 6666, 7777.5} -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$3 = {4444.5, 5555, 6666, 7777.5} +// gdb-command:continue -// debugger:finish -// debugger:print self->val -// check:$4 = 8888 -// debugger:continue +// gdb-command:finish +// gdb-command:print self->val +// gdb-check:$4 = 8888 +// gdb-command:continue trait Trait { fn method(self) -> Self; diff --git a/src/test/debug-info/c-style-enum-in-composite.rs b/src/test/debuginfo/c-style-enum-in-composite.rs similarity index 72% rename from src/test/debug-info/c-style-enum-in-composite.rs rename to src/test/debuginfo/c-style-enum-in-composite.rs index 08104c2341ecf..3e76bf1987b98 100644 --- a/src/test/debug-info/c-style-enum-in-composite.rs +++ b/src/test/debuginfo/c-style-enum-in-composite.rs @@ -11,30 +11,30 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print tuple_interior_padding -// check:$1 = {0, OneHundred} +// gdb-command:print tuple_interior_padding +// gdb-check:$1 = {0, OneHundred} -// debugger:print tuple_padding_at_end -// check:$2 = {{1, OneThousand}, 2} +// gdb-command:print tuple_padding_at_end +// gdb-check:$2 = {{1, OneThousand}, 2} -// debugger:print tuple_different_enums -// check:$3 = {OneThousand, MountainView, OneMillion, Vienna} +// gdb-command:print tuple_different_enums +// gdb-check:$3 = {OneThousand, MountainView, OneMillion, Vienna} -// debugger:print padded_struct -// check:$4 = {a = 3, b = OneMillion, c = 4, d = Toronto, e = 5} +// gdb-command:print padded_struct +// gdb-check:$4 = {a = 3, b = OneMillion, c = 4, d = Toronto, e = 5} -// debugger:print packed_struct -// check:$5 = {a = 6, b = OneHundred, c = 7, d = Vienna, e = 8} +// gdb-command:print packed_struct +// gdb-check:$5 = {a = 6, b = OneHundred, c = 7, d = Vienna, e = 8} -// debugger:print non_padded_struct -// check:$6 = {a = OneMillion, b = MountainView, c = OneThousand, d = Toronto} +// gdb-command:print non_padded_struct +// gdb-check:$6 = {a = OneMillion, b = MountainView, c = OneThousand, d = Toronto} -// debugger:print struct_with_drop -// check:$7 = {{a = OneHundred, b = Vienna}, 9} +// gdb-command:print struct_with_drop +// gdb-check:$7 = {{a = OneHundred, b = Vienna}, 9} #![allow(unused_variable)] diff --git a/src/test/debug-info/c-style-enum.rs b/src/test/debuginfo/c-style-enum.rs similarity index 56% rename from src/test/debug-info/c-style-enum.rs rename to src/test/debuginfo/c-style-enum.rs index 0a207881bd3b3..19f8398f1a94b 100644 --- a/src/test/debug-info/c-style-enum.rs +++ b/src/test/debuginfo/c-style-enum.rs @@ -12,64 +12,64 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz +// gdb-command:rbreak zzz -// debugger:print 'c-style-enum::SINGLE_VARIANT' -// check:$1 = TheOnlyVariant +// gdb-command:print 'c-style-enum::SINGLE_VARIANT' +// gdb-check:$1 = TheOnlyVariant -// debugger:print 'c-style-enum::AUTO_ONE' -// check:$2 = One +// gdb-command:print 'c-style-enum::AUTO_ONE' +// gdb-check:$2 = One -// debugger:print 'c-style-enum::AUTO_TWO' -// check:$3 = One +// gdb-command:print 'c-style-enum::AUTO_TWO' +// gdb-check:$3 = One -// debugger:print 'c-style-enum::AUTO_THREE' -// check:$4 = One +// gdb-command:print 'c-style-enum::AUTO_THREE' +// gdb-check:$4 = One -// debugger:print 'c-style-enum::MANUAL_ONE' -// check:$5 = OneHundred +// gdb-command:print 'c-style-enum::MANUAL_ONE' +// gdb-check:$5 = OneHundred -// debugger:print 'c-style-enum::MANUAL_TWO' -// check:$6 = OneHundred +// gdb-command:print 'c-style-enum::MANUAL_TWO' +// gdb-check:$6 = OneHundred -// debugger:print 'c-style-enum::MANUAL_THREE' -// check:$7 = OneHundred +// gdb-command:print 'c-style-enum::MANUAL_THREE' +// gdb-check:$7 = OneHundred -// debugger:run -// debugger:finish +// gdb-command:run +// gdb-command:finish -// debugger:print auto_one -// check:$8 = One +// gdb-command:print auto_one +// gdb-check:$8 = One -// debugger:print auto_two -// check:$9 = Two +// gdb-command:print auto_two +// gdb-check:$9 = Two -// debugger:print auto_three -// check:$10 = Three +// gdb-command:print auto_three +// gdb-check:$10 = Three -// debugger:print manual_one_hundred -// check:$11 = OneHundred +// gdb-command:print manual_one_hundred +// gdb-check:$11 = OneHundred -// debugger:print manual_one_thousand -// check:$12 = OneThousand +// gdb-command:print manual_one_thousand +// gdb-check:$12 = OneThousand -// debugger:print manual_one_million -// check:$13 = OneMillion +// gdb-command:print manual_one_million +// gdb-check:$13 = OneMillion -// debugger:print single_variant -// check:$14 = TheOnlyVariant +// gdb-command:print single_variant +// gdb-check:$14 = TheOnlyVariant -// debugger:print 'c-style-enum::AUTO_TWO' -// check:$15 = Two +// gdb-command:print 'c-style-enum::AUTO_TWO' +// gdb-check:$15 = Two -// debugger:print 'c-style-enum::AUTO_THREE' -// check:$16 = Three +// gdb-command:print 'c-style-enum::AUTO_THREE' +// gdb-check:$16 = Three -// debugger:print 'c-style-enum::MANUAL_TWO' -// check:$17 = OneThousand +// gdb-command:print 'c-style-enum::MANUAL_TWO' +// gdb-check:$17 = OneThousand -// debugger:print 'c-style-enum::MANUAL_THREE' -// check:$18 = OneMillion +// gdb-command:print 'c-style-enum::MANUAL_THREE' +// gdb-check:$18 = OneMillion #![allow(unused_variable)] #![allow(dead_code)] diff --git a/src/test/debug-info/closure-in-generic-function.rs b/src/test/debuginfo/closure-in-generic-function.rs similarity index 70% rename from src/test/debug-info/closure-in-generic-function.rs rename to src/test/debuginfo/closure-in-generic-function.rs index f3692e7bf961a..7a89b682d1533 100644 --- a/src/test/debug-info/closure-in-generic-function.rs +++ b/src/test/debuginfo/closure-in-generic-function.rs @@ -11,22 +11,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = 0.5 -// debugger:print y -// check:$2 = 10 -// debugger:continue - -// debugger:finish -// debugger:print *x -// check:$3 = 29 -// debugger:print *y -// check:$4 = 110 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = 0.5 +// gdb-command:print y +// gdb-check:$2 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *x +// gdb-check:$3 = 29 +// gdb-command:print *y +// gdb-check:$4 = 110 +// gdb-command:continue fn some_generic_fun(a: T1, b: T2) -> (T2, T1) { diff --git a/src/test/debug-info/destructured-fn-argument.rs b/src/test/debuginfo/destructured-fn-argument.rs similarity index 51% rename from src/test/debug-info/destructured-fn-argument.rs rename to src/test/debuginfo/destructured-fn-argument.rs index 2f7fc961cddb1..697703034f6e3 100644 --- a/src/test/debug-info/destructured-fn-argument.rs +++ b/src/test/debuginfo/destructured-fn-argument.rs @@ -11,175 +11,175 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print a -// check:$1 = 1 -// debugger:print b -// check:$2 = false -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$3 = 2 -// debugger:print b -// check:$4 = 3 -// debugger:print c -// check:$5 = 4 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$6 = 5 -// debugger:print b -// check:$7 = {6, 7} -// debugger:continue - -// debugger:finish -// debugger:print h -// check:$8 = 8 -// debugger:print i -// check:$9 = {a = 9, b = 10} -// debugger:print j -// check:$10 = 11 -// debugger:continue - -// debugger:finish -// debugger:print k -// check:$11 = 12 -// debugger:print l -// check:$12 = 13 -// debugger:continue - -// debugger:finish -// debugger:print m -// check:$13 = 14 -// debugger:print n -// check:$14 = 16 -// debugger:continue - -// debugger:finish -// debugger:print o -// check:$15 = 18 -// debugger:continue - -// debugger:finish -// debugger:print p -// check:$16 = 19 -// debugger:print q -// check:$17 = 20 -// debugger:print r -// check:$18 = {a = 21, b = 22} -// debugger:continue - -// debugger:finish -// debugger:print s -// check:$19 = 24 -// debugger:print t -// check:$20 = 23 -// debugger:continue - -// debugger:finish -// debugger:print u -// check:$21 = 25 -// debugger:print v -// check:$22 = 26 -// debugger:print w -// check:$23 = 27 -// debugger:print x -// check:$24 = 28 -// debugger:print y -// check:$25 = 29 -// debugger:print z -// check:$26 = 30 -// debugger:print ae -// check:$27 = 31 -// debugger:print oe -// check:$28 = 32 -// debugger:print ue -// check:$29 = 33 -// debugger:continue - -// debugger:finish -// debugger:print aa -// check:$30 = {34, 35} -// debugger:continue - -// debugger:finish -// debugger:print bb -// check:$31 = {36, 37} -// debugger:continue - -// debugger:finish -// debugger:print cc -// check:$32 = 38 -// debugger:continue - -// debugger:finish -// debugger:print dd -// check:$33 = {40, 41, 42} -// debugger:continue - -// debugger:finish -// debugger:print *ee -// check:$34 = {43, 44, 45} -// debugger:continue - -// debugger:finish -// debugger:print *ff -// check:$35 = 46 -// debugger:print gg -// check:$36 = {47, 48} -// debugger:continue - -// debugger:finish -// debugger:print *hh -// check:$37 = 50 -// debugger:continue - -// debugger:finish -// debugger:print ii -// check:$38 = 51 -// debugger:continue - -// debugger:finish -// debugger:print *jj -// check:$39 = 52 -// debugger:continue - -// debugger:finish -// debugger:print kk -// check:$40 = 53 -// debugger:print ll -// check:$41 = 54 -// debugger:continue - -// debugger:finish -// debugger:print mm -// check:$42 = 55 -// debugger:print *nn -// check:$43 = 56 -// debugger:continue - -// debugger:finish -// debugger:print oo -// check:$44 = 57 -// debugger:print pp -// check:$45 = 58 -// debugger:print qq -// check:$46 = 59 -// debugger:continue - -// debugger:finish -// debugger:print rr -// check:$47 = 60 -// debugger:print ss -// check:$48 = 61 -// debugger:print tt -// check:$49 = 62 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$1 = 1 +// gdb-command:print b +// gdb-check:$2 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$3 = 2 +// gdb-command:print b +// gdb-check:$4 = 3 +// gdb-command:print c +// gdb-check:$5 = 4 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$6 = 5 +// gdb-command:print b +// gdb-check:$7 = {6, 7} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print h +// gdb-check:$8 = 8 +// gdb-command:print i +// gdb-check:$9 = {a = 9, b = 10} +// gdb-command:print j +// gdb-check:$10 = 11 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print k +// gdb-check:$11 = 12 +// gdb-command:print l +// gdb-check:$12 = 13 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print m +// gdb-check:$13 = 14 +// gdb-command:print n +// gdb-check:$14 = 16 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print o +// gdb-check:$15 = 18 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print p +// gdb-check:$16 = 19 +// gdb-command:print q +// gdb-check:$17 = 20 +// gdb-command:print r +// gdb-check:$18 = {a = 21, b = 22} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print s +// gdb-check:$19 = 24 +// gdb-command:print t +// gdb-check:$20 = 23 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print u +// gdb-check:$21 = 25 +// gdb-command:print v +// gdb-check:$22 = 26 +// gdb-command:print w +// gdb-check:$23 = 27 +// gdb-command:print x +// gdb-check:$24 = 28 +// gdb-command:print y +// gdb-check:$25 = 29 +// gdb-command:print z +// gdb-check:$26 = 30 +// gdb-command:print ae +// gdb-check:$27 = 31 +// gdb-command:print oe +// gdb-check:$28 = 32 +// gdb-command:print ue +// gdb-check:$29 = 33 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print aa +// gdb-check:$30 = {34, 35} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print bb +// gdb-check:$31 = {36, 37} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print cc +// gdb-check:$32 = 38 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print dd +// gdb-check:$33 = {40, 41, 42} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *ee +// gdb-check:$34 = {43, 44, 45} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *ff +// gdb-check:$35 = 46 +// gdb-command:print gg +// gdb-check:$36 = {47, 48} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *hh +// gdb-check:$37 = 50 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print ii +// gdb-check:$38 = 51 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *jj +// gdb-check:$39 = 52 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print kk +// gdb-check:$40 = 53 +// gdb-command:print ll +// gdb-check:$41 = 54 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print mm +// gdb-check:$42 = 55 +// gdb-command:print *nn +// gdb-check:$43 = 56 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print oo +// gdb-check:$44 = 57 +// gdb-command:print pp +// gdb-check:$45 = 58 +// gdb-command:print qq +// gdb-check:$46 = 59 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print rr +// gdb-check:$47 = 60 +// gdb-command:print ss +// gdb-check:$48 = 61 +// gdb-command:print tt +// gdb-check:$49 = 62 +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debug-info/destructured-local.rs b/src/test/debuginfo/destructured-local.rs similarity index 54% rename from src/test/debug-info/destructured-local.rs rename to src/test/debuginfo/destructured-local.rs index 3dab6ace9a82a..c543a11475e06 100644 --- a/src/test/debug-info/destructured-local.rs +++ b/src/test/debuginfo/destructured-local.rs @@ -11,119 +11,119 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print a -// check:$1 = 1 -// debugger:print b -// check:$2 = false - -// debugger:print c -// check:$3 = 2 -// debugger:print d -// check:$4 = 3 -// debugger:print e -// check:$5 = 4 - -// debugger:print f -// check:$6 = 5 -// debugger:print g -// check:$7 = {6, 7} - -// debugger:print h -// check:$8 = 8 -// debugger:print i -// check:$9 = {a = 9, b = 10} -// debugger:print j -// check:$10 = 11 - -// debugger:print k -// check:$11 = 12 -// debugger:print l -// check:$12 = 13 - -// debugger:print m -// check:$13 = 14 -// debugger:print n -// check:$14 = 16 - -// debugger:print o -// check:$15 = 18 - -// debugger:print p -// check:$16 = 19 -// debugger:print q -// check:$17 = 20 -// debugger:print r -// check:$18 = {a = 21, b = 22} - -// debugger:print s -// check:$19 = 24 -// debugger:print t -// check:$20 = 23 - -// debugger:print u -// check:$21 = 25 -// debugger:print v -// check:$22 = 26 -// debugger:print w -// check:$23 = 27 -// debugger:print x -// check:$24 = 28 -// debugger:print y -// check:$25 = 29 -// debugger:print z -// check:$26 = 30 -// debugger:print ae -// check:$27 = 31 -// debugger:print oe -// check:$28 = 32 -// debugger:print ue -// check:$29 = 33 - -// debugger:print aa -// check:$30 = {34, 35} - -// debugger:print bb -// check:$31 = {36, 37} - -// debugger:print cc -// check:$32 = 38 - -// debugger:print dd -// check:$33 = {40, 41, 42} - -// debugger:print *ee -// check:$34 = {43, 44, 45} - -// debugger:print *ff -// check:$35 = 46 - -// debugger:print gg -// check:$36 = {47, 48} - -// debugger:print *hh -// check:$37 = 50 - -// debugger:print ii -// check:$38 = 51 - -// debugger:print *jj -// check:$39 = 52 - -// debugger:print kk -// check:$40 = 53 - -// debugger:print ll -// check:$41 = 54 - -// debugger:print mm -// check:$42 = 55 - -// debugger:print *nn -// check:$43 = 56 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print a +// gdb-check:$1 = 1 +// gdb-command:print b +// gdb-check:$2 = false + +// gdb-command:print c +// gdb-check:$3 = 2 +// gdb-command:print d +// gdb-check:$4 = 3 +// gdb-command:print e +// gdb-check:$5 = 4 + +// gdb-command:print f +// gdb-check:$6 = 5 +// gdb-command:print g +// gdb-check:$7 = {6, 7} + +// gdb-command:print h +// gdb-check:$8 = 8 +// gdb-command:print i +// gdb-check:$9 = {a = 9, b = 10} +// gdb-command:print j +// gdb-check:$10 = 11 + +// gdb-command:print k +// gdb-check:$11 = 12 +// gdb-command:print l +// gdb-check:$12 = 13 + +// gdb-command:print m +// gdb-check:$13 = 14 +// gdb-command:print n +// gdb-check:$14 = 16 + +// gdb-command:print o +// gdb-check:$15 = 18 + +// gdb-command:print p +// gdb-check:$16 = 19 +// gdb-command:print q +// gdb-check:$17 = 20 +// gdb-command:print r +// gdb-check:$18 = {a = 21, b = 22} + +// gdb-command:print s +// gdb-check:$19 = 24 +// gdb-command:print t +// gdb-check:$20 = 23 + +// gdb-command:print u +// gdb-check:$21 = 25 +// gdb-command:print v +// gdb-check:$22 = 26 +// gdb-command:print w +// gdb-check:$23 = 27 +// gdb-command:print x +// gdb-check:$24 = 28 +// gdb-command:print y +// gdb-check:$25 = 29 +// gdb-command:print z +// gdb-check:$26 = 30 +// gdb-command:print ae +// gdb-check:$27 = 31 +// gdb-command:print oe +// gdb-check:$28 = 32 +// gdb-command:print ue +// gdb-check:$29 = 33 + +// gdb-command:print aa +// gdb-check:$30 = {34, 35} + +// gdb-command:print bb +// gdb-check:$31 = {36, 37} + +// gdb-command:print cc +// gdb-check:$32 = 38 + +// gdb-command:print dd +// gdb-check:$33 = {40, 41, 42} + +// gdb-command:print *ee +// gdb-check:$34 = {43, 44, 45} + +// gdb-command:print *ff +// gdb-check:$35 = 46 + +// gdb-command:print gg +// gdb-check:$36 = {47, 48} + +// gdb-command:print *hh +// gdb-check:$37 = 50 + +// gdb-command:print ii +// gdb-check:$38 = 51 + +// gdb-command:print *jj +// gdb-check:$39 = 52 + +// gdb-command:print kk +// gdb-check:$40 = 53 + +// gdb-command:print ll +// gdb-check:$41 = 54 + +// gdb-command:print mm +// gdb-check:$42 = 55 + +// gdb-command:print *nn +// gdb-check:$43 = 56 #![allow(unused_variable)] diff --git a/src/test/debug-info/evec-in-struct.rs b/src/test/debuginfo/evec-in-struct.rs similarity index 71% rename from src/test/debug-info/evec-in-struct.rs rename to src/test/debuginfo/evec-in-struct.rs index bf4a4079ea810..913038c44be26 100644 --- a/src/test/debug-info/evec-in-struct.rs +++ b/src/test/debuginfo/evec-in-struct.rs @@ -11,24 +11,24 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print no_padding1 -// check:$1 = {x = {0, 1, 2}, y = -3, z = {4.5, 5.5}} -// debugger:print no_padding2 -// check:$2 = {x = {6, 7, 8}, y = {{9, 10}, {11, 12}}} +// gdb-command:print no_padding1 +// gdb-check:$1 = {x = {0, 1, 2}, y = -3, z = {4.5, 5.5}} +// gdb-command:print no_padding2 +// gdb-check:$2 = {x = {6, 7, 8}, y = {{9, 10}, {11, 12}}} -// debugger:print struct_internal_padding -// check:$3 = {x = {13, 14}, y = {15, 16}} +// gdb-command:print struct_internal_padding +// gdb-check:$3 = {x = {13, 14}, y = {15, 16}} -// debugger:print single_vec -// check:$4 = {x = {17, 18, 19, 20, 21}} +// gdb-command:print single_vec +// gdb-check:$4 = {x = {17, 18, 19, 20, 21}} -// debugger:print struct_padded_at_end -// check:$5 = {x = {22, 23}, y = {24, 25}} +// gdb-command:print struct_padded_at_end +// gdb-check:$5 = {x = {22, 23}, y = {24, 25}} #![allow(unused_variable)] diff --git a/src/test/debug-info/function-arg-initialization.rs b/src/test/debuginfo/function-arg-initialization.rs similarity index 53% rename from src/test/debug-info/function-arg-initialization.rs rename to src/test/debuginfo/function-arg-initialization.rs index a5e6732aaab6e..d439f49fe6925 100644 --- a/src/test/debug-info/function-arg-initialization.rs +++ b/src/test/debuginfo/function-arg-initialization.rs @@ -17,118 +17,118 @@ // Therefore the setup here sets them using line numbers (so be careful when changing this file). // compile-flags:-g -// debugger:set print pretty off -// debugger:break function-arg-initialization.rs:139 -// debugger:break function-arg-initialization.rs:154 -// debugger:break function-arg-initialization.rs:158 -// debugger:break function-arg-initialization.rs:162 -// debugger:break function-arg-initialization.rs:166 -// debugger:break function-arg-initialization.rs:170 -// debugger:break function-arg-initialization.rs:174 -// debugger:break function-arg-initialization.rs:178 -// debugger:break function-arg-initialization.rs:182 -// debugger:break function-arg-initialization.rs:190 -// debugger:break function-arg-initialization.rs:197 - - -// debugger:run +// gdb-command:set print pretty off +// gdb-command:break function-arg-initialization.rs:139 +// gdb-command:break function-arg-initialization.rs:154 +// gdb-command:break function-arg-initialization.rs:158 +// gdb-command:break function-arg-initialization.rs:162 +// gdb-command:break function-arg-initialization.rs:166 +// gdb-command:break function-arg-initialization.rs:170 +// gdb-command:break function-arg-initialization.rs:174 +// gdb-command:break function-arg-initialization.rs:178 +// gdb-command:break function-arg-initialization.rs:182 +// gdb-command:break function-arg-initialization.rs:190 +// gdb-command:break function-arg-initialization.rs:197 + + +// gdb-command:run // IMMEDIATE ARGS -// debugger:print a -// check:$1 = 1 -// debugger:print b -// check:$2 = true -// debugger:print c -// check:$3 = 2.5 -// debugger:continue +// gdb-command:print a +// gdb-check:$1 = 1 +// gdb-command:print b +// gdb-check:$2 = true +// gdb-command:print c +// gdb-check:$3 = 2.5 +// gdb-command:continue // NON IMMEDIATE ARGS -// debugger:print a -// check:$4 = {a = 3, b = 4, c = 5, d = 6, e = 7, f = 8, g = 9, h = 10} -// debugger:print b -// check:$5 = {a = 11, b = 12, c = 13, d = 14, e = 15, f = 16, g = 17, h = 18} -// debugger:continue +// gdb-command:print a +// gdb-check:$4 = {a = 3, b = 4, c = 5, d = 6, e = 7, f = 8, g = 9, h = 10} +// gdb-command:print b +// gdb-check:$5 = {a = 11, b = 12, c = 13, d = 14, e = 15, f = 16, g = 17, h = 18} +// gdb-command:continue // BINDING -// debugger:print a -// check:$6 = 19 -// debugger:print b -// check:$7 = 20 -// debugger:print c -// check:$8 = 21.5 -// debugger:continue +// gdb-command:print a +// gdb-check:$6 = 19 +// gdb-command:print b +// gdb-check:$7 = 20 +// gdb-command:print c +// gdb-check:$8 = 21.5 +// gdb-command:continue // ASSIGNMENT -// debugger:print a -// check:$9 = 22 -// debugger:print b -// check:$10 = 23 -// debugger:print c -// check:$11 = 24.5 -// debugger:continue +// gdb-command:print a +// gdb-check:$9 = 22 +// gdb-command:print b +// gdb-check:$10 = 23 +// gdb-command:print c +// gdb-check:$11 = 24.5 +// gdb-command:continue // FUNCTION CALL -// debugger:print x -// check:$12 = 25 -// debugger:print y -// check:$13 = 26 -// debugger:print z -// check:$14 = 27.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$12 = 25 +// gdb-command:print y +// gdb-check:$13 = 26 +// gdb-command:print z +// gdb-check:$14 = 27.5 +// gdb-command:continue // EXPR -// debugger:print x -// check:$15 = 28 -// debugger:print y -// check:$16 = 29 -// debugger:print z -// check:$17 = 30.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$15 = 28 +// gdb-command:print y +// gdb-check:$16 = 29 +// gdb-command:print z +// gdb-check:$17 = 30.5 +// gdb-command:continue // RETURN EXPR -// debugger:print x -// check:$18 = 31 -// debugger:print y -// check:$19 = 32 -// debugger:print z -// check:$20 = 33.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$18 = 31 +// gdb-command:print y +// gdb-check:$19 = 32 +// gdb-command:print z +// gdb-check:$20 = 33.5 +// gdb-command:continue // ARITHMETIC EXPR -// debugger:print x -// check:$21 = 34 -// debugger:print y -// check:$22 = 35 -// debugger:print z -// check:$23 = 36.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$21 = 34 +// gdb-command:print y +// gdb-check:$22 = 35 +// gdb-command:print z +// gdb-check:$23 = 36.5 +// gdb-command:continue // IF EXPR -// debugger:print x -// check:$24 = 37 -// debugger:print y -// check:$25 = 38 -// debugger:print z -// check:$26 = 39.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$24 = 37 +// gdb-command:print y +// gdb-check:$25 = 38 +// gdb-command:print z +// gdb-check:$26 = 39.5 +// gdb-command:continue // WHILE EXPR -// debugger:print x -// check:$27 = 40 -// debugger:print y -// check:$28 = 41 -// debugger:print z -// check:$29 = 42 -// debugger:continue +// gdb-command:print x +// gdb-check:$27 = 40 +// gdb-command:print y +// gdb-check:$28 = 41 +// gdb-command:print z +// gdb-check:$29 = 42 +// gdb-command:continue // LOOP EXPR -// debugger:print x -// check:$30 = 43 -// debugger:print y -// check:$31 = 44 -// debugger:print z -// check:$32 = 45 -// debugger:continue +// gdb-command:print x +// gdb-check:$30 = 43 +// gdb-command:print y +// gdb-check:$31 = 44 +// gdb-command:print z +// gdb-check:$32 = 45 +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debug-info/function-arguments.rs b/src/test/debuginfo/function-arguments.rs similarity index 71% rename from src/test/debug-info/function-arguments.rs rename to src/test/debuginfo/function-arguments.rs index d45900510773e..e65b9a2519d60 100644 --- a/src/test/debug-info/function-arguments.rs +++ b/src/test/debuginfo/function-arguments.rs @@ -11,22 +11,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print x -// check:$1 = 111102 -// debugger:print y -// check:$2 = true - -// debugger:continue -// debugger:finish - -// debugger:print a -// check:$3 = 2000 -// debugger:print b -// check:$4 = 3000 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print x +// gdb-check:$1 = 111102 +// gdb-command:print y +// gdb-check:$2 = true + +// gdb-command:continue +// gdb-command:finish + +// gdb-command:print a +// gdb-check:$3 = 2000 +// gdb-command:print b +// gdb-check:$4 = 3000 fn main() { diff --git a/src/test/debug-info/function-prologue-stepping-no-split-stack.rs b/src/test/debuginfo/function-prologue-stepping-no-split-stack.rs similarity index 58% rename from src/test/debug-info/function-prologue-stepping-no-split-stack.rs rename to src/test/debuginfo/function-prologue-stepping-no-split-stack.rs index 6f273057a1b3c..a9ccf3cdb161b 100644 --- a/src/test/debug-info/function-prologue-stepping-no-split-stack.rs +++ b/src/test/debuginfo/function-prologue-stepping-no-split-stack.rs @@ -17,115 +17,115 @@ // function name (and don't have to fall back on using line numbers). // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak immediate_args -// debugger:rbreak binding -// debugger:rbreak assignment -// debugger:rbreak function_call -// debugger:rbreak identifier -// debugger:rbreak return_expr -// debugger:rbreak arithmetic_expr -// debugger:rbreak if_expr -// debugger:rbreak while_expr -// debugger:rbreak loop_expr -// debugger:run +// gdb-command:set print pretty off +// gdb-command:rbreak immediate_args +// gdb-command:rbreak binding +// gdb-command:rbreak assignment +// gdb-command:rbreak function_call +// gdb-command:rbreak identifier +// gdb-command:rbreak return_expr +// gdb-command:rbreak arithmetic_expr +// gdb-command:rbreak if_expr +// gdb-command:rbreak while_expr +// gdb-command:rbreak loop_expr +// gdb-command:run // IMMEDIATE ARGS -// debugger:print a -// check:$1 = 1 -// debugger:print b -// check:$2 = true -// debugger:print c -// check:$3 = 2.5 -// debugger:continue +// gdb-command:print a +// gdb-check:$1 = 1 +// gdb-command:print b +// gdb-check:$2 = true +// gdb-command:print c +// gdb-check:$3 = 2.5 +// gdb-command:continue // NON IMMEDIATE ARGS -// debugger:print a -// check:$4 = {a = 3, b = 4, c = 5, d = 6, e = 7, f = 8, g = 9, h = 10} -// debugger:print b -// check:$5 = {a = 11, b = 12, c = 13, d = 14, e = 15, f = 16, g = 17, h = 18} -// debugger:continue +// gdb-command:print a +// gdb-check:$4 = {a = 3, b = 4, c = 5, d = 6, e = 7, f = 8, g = 9, h = 10} +// gdb-command:print b +// gdb-check:$5 = {a = 11, b = 12, c = 13, d = 14, e = 15, f = 16, g = 17, h = 18} +// gdb-command:continue // BINDING -// debugger:print a -// check:$6 = 19 -// debugger:print b -// check:$7 = 20 -// debugger:print c -// check:$8 = 21.5 -// debugger:continue +// gdb-command:print a +// gdb-check:$6 = 19 +// gdb-command:print b +// gdb-check:$7 = 20 +// gdb-command:print c +// gdb-check:$8 = 21.5 +// gdb-command:continue // ASSIGNMENT -// debugger:print a -// check:$9 = 22 -// debugger:print b -// check:$10 = 23 -// debugger:print c -// check:$11 = 24.5 -// debugger:continue +// gdb-command:print a +// gdb-check:$9 = 22 +// gdb-command:print b +// gdb-check:$10 = 23 +// gdb-command:print c +// gdb-check:$11 = 24.5 +// gdb-command:continue // FUNCTION CALL -// debugger:print x -// check:$12 = 25 -// debugger:print y -// check:$13 = 26 -// debugger:print z -// check:$14 = 27.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$12 = 25 +// gdb-command:print y +// gdb-check:$13 = 26 +// gdb-command:print z +// gdb-check:$14 = 27.5 +// gdb-command:continue // EXPR -// debugger:print x -// check:$15 = 28 -// debugger:print y -// check:$16 = 29 -// debugger:print z -// check:$17 = 30.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$15 = 28 +// gdb-command:print y +// gdb-check:$16 = 29 +// gdb-command:print z +// gdb-check:$17 = 30.5 +// gdb-command:continue // RETURN EXPR -// debugger:print x -// check:$18 = 31 -// debugger:print y -// check:$19 = 32 -// debugger:print z -// check:$20 = 33.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$18 = 31 +// gdb-command:print y +// gdb-check:$19 = 32 +// gdb-command:print z +// gdb-check:$20 = 33.5 +// gdb-command:continue // ARITHMETIC EXPR -// debugger:print x -// check:$21 = 34 -// debugger:print y -// check:$22 = 35 -// debugger:print z -// check:$23 = 36.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$21 = 34 +// gdb-command:print y +// gdb-check:$22 = 35 +// gdb-command:print z +// gdb-check:$23 = 36.5 +// gdb-command:continue // IF EXPR -// debugger:print x -// check:$24 = 37 -// debugger:print y -// check:$25 = 38 -// debugger:print z -// check:$26 = 39.5 -// debugger:continue +// gdb-command:print x +// gdb-check:$24 = 37 +// gdb-command:print y +// gdb-check:$25 = 38 +// gdb-command:print z +// gdb-check:$26 = 39.5 +// gdb-command:continue // WHILE EXPR -// debugger:print x -// check:$27 = 40 -// debugger:print y -// check:$28 = 41 -// debugger:print z -// check:$29 = 42 -// debugger:continue +// gdb-command:print x +// gdb-check:$27 = 40 +// gdb-command:print y +// gdb-check:$28 = 41 +// gdb-command:print z +// gdb-check:$29 = 42 +// gdb-command:continue // LOOP EXPR -// debugger:print x -// check:$30 = 43 -// debugger:print y -// check:$31 = 44 -// debugger:print z -// check:$32 = 45 -// debugger:continue +// gdb-command:print x +// gdb-check:$30 = 43 +// gdb-command:print y +// gdb-check:$31 = 44 +// gdb-command:print z +// gdb-check:$32 = 45 +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debug-info/generic-function.rs b/src/test/debuginfo/generic-function.rs similarity index 56% rename from src/test/debug-info/generic-function.rs rename to src/test/debuginfo/generic-function.rs index 6197520e793b7..9fe17f9937ab5 100644 --- a/src/test/debug-info/generic-function.rs +++ b/src/test/debuginfo/generic-function.rs @@ -11,35 +11,35 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print *t0 -// check:$1 = 1 -// debugger:print *t1 -// check:$2 = 2.5 -// debugger:print ret -// check:$3 = {{1, 2.5}, {2.5, 1}} -// debugger:continue - -// debugger:finish -// debugger:print *t0 -// check:$4 = 3.5 -// debugger:print *t1 -// check:$5 = 4 -// debugger:print ret -// check:$6 = {{3.5, 4}, {4, 3.5}} -// debugger:continue - -// debugger:finish -// debugger:print *t0 -// check:$7 = 5 -// debugger:print *t1 -// check:$8 = {a = 6, b = 7.5} -// debugger:print ret -// check:$9 = {{5, {a = 6, b = 7.5}}, {{a = 6, b = 7.5}, 5}} -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print *t0 +// gdb-check:$1 = 1 +// gdb-command:print *t1 +// gdb-check:$2 = 2.5 +// gdb-command:print ret +// gdb-check:$3 = {{1, 2.5}, {2.5, 1}} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *t0 +// gdb-check:$4 = 3.5 +// gdb-command:print *t1 +// gdb-check:$5 = 4 +// gdb-command:print ret +// gdb-check:$6 = {{3.5, 4}, {4, 3.5}} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print *t0 +// gdb-check:$7 = 5 +// gdb-command:print *t1 +// gdb-check:$8 = {a = 6, b = 7.5} +// gdb-command:print ret +// gdb-check:$9 = {{5, {a = 6, b = 7.5}}, {{a = 6, b = 7.5}, 5}} +// gdb-command:continue #[deriving(Clone)] struct Struct { diff --git a/src/test/debug-info/generic-functions-nested.rs b/src/test/debuginfo/generic-functions-nested.rs similarity index 55% rename from src/test/debug-info/generic-functions-nested.rs rename to src/test/debuginfo/generic-functions-nested.rs index 20991ba03c240..1849ca1613800 100644 --- a/src/test/debug-info/generic-functions-nested.rs +++ b/src/test/debuginfo/generic-functions-nested.rs @@ -11,36 +11,36 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = -1 -// debugger:print y -// check:$2 = 1 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = -1 -// debugger:print y -// check:$4 = 2.5 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = -2.5 -// debugger:print y -// check:$6 = 1 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$7 = -2.5 -// debugger:print y -// check:$8 = 2.5 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = -1 +// gdb-command:print y +// gdb-check:$2 = 1 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = -1 +// gdb-command:print y +// gdb-check:$4 = 2.5 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = -2.5 +// gdb-command:print y +// gdb-check:$6 = 1 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = -2.5 +// gdb-command:print y +// gdb-check:$8 = 2.5 +// gdb-command:continue fn outer(a: TA) { inner(a.clone(), 1); diff --git a/src/test/debug-info/generic-method-on-generic-struct.rs b/src/test/debuginfo/generic-method-on-generic-struct.rs similarity index 54% rename from src/test/debug-info/generic-method-on-generic-struct.rs rename to src/test/debuginfo/generic-method-on-generic-struct.rs index 7afa89529989a..ad088d9a5eba6 100644 --- a/src/test/debug-info/generic-method-on-generic-struct.rs +++ b/src/test/debuginfo/generic-method-on-generic-struct.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {x = {8888, -8888}} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print/d arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {x = {8888, -8888}} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print/d arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {x = {8888, -8888}} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {x = {8888, -8888}} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {x = 1234.5} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {x = 1234.5} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {x = 1234.5} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {x = 1234.5} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {x = 1234.5} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10.5 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {x = 1234.5} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10.5 +// gdb-command:continue struct Struct { x: T diff --git a/src/test/debug-info/generic-static-method-on-struct-and-enum.rs b/src/test/debuginfo/generic-static-method-on-struct-and-enum.rs similarity index 73% rename from src/test/debug-info/generic-static-method-on-struct-and-enum.rs rename to src/test/debuginfo/generic-static-method-on-struct-and-enum.rs index 224e7aaed2124..82a9d7089666f 100644 --- a/src/test/debug-info/generic-static-method-on-struct-and-enum.rs +++ b/src/test/debuginfo/generic-static-method-on-struct-and-enum.rs @@ -11,26 +11,26 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STRUCT -// debugger:finish -// debugger:print arg1 -// check:$1 = 1 -// debugger:print arg2 -// check:$2 = 2 -// debugger:continue +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$1 = 1 +// gdb-command:print arg2 +// gdb-check:$2 = 2 +// gdb-command:continue // ENUM -// debugger:finish -// debugger:print arg1 -// check:$3 = -3 -// debugger:print arg2 -// check:$4 = 4.5 -// debugger:print arg3 -// check:$5 = 5 -// debugger:continue +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$3 = -3 +// gdb-command:print arg2 +// gdb-check:$4 = 4.5 +// gdb-command:print arg3 +// gdb-check:$5 = 5 +// gdb-command:continue #![feature(struct_variant)] diff --git a/src/test/debug-info/generic-struct-style-enum.rs b/src/test/debuginfo/generic-struct-style-enum.rs similarity index 76% rename from src/test/debug-info/generic-struct-style-enum.rs rename to src/test/debuginfo/generic-struct-style-enum.rs index e32110a41f440..498d0981e35d0 100644 --- a/src/test/debug-info/generic-struct-style-enum.rs +++ b/src/test/debuginfo/generic-struct-style-enum.rs @@ -12,22 +12,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print union on -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print union on +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print case1 -// check:$1 = {{Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {Case1, a = 0, b = 2088533116, c = 2088533116}, {Case1, a = 0, b = 8970181431921507452}} +// gdb-command:print case1 +// gdb-check:$1 = {{Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {Case1, a = 0, b = 2088533116, c = 2088533116}, {Case1, a = 0, b = 8970181431921507452}} -// debugger:print case2 -// check:$2 = {{Case2, a = 0, b = 4369, c = 4369, d = 4369, e = 4369}, {Case2, a = 0, b = 286331153, c = 286331153}, {Case2, a = 0, b = 1229782938247303441}} +// gdb-command:print case2 +// gdb-check:$2 = {{Case2, a = 0, b = 4369, c = 4369, d = 4369, e = 4369}, {Case2, a = 0, b = 286331153, c = 286331153}, {Case2, a = 0, b = 1229782938247303441}} -// debugger:print case3 -// check:$3 = {{Case3, a = 0, b = 22873, c = 22873, d = 22873, e = 22873}, {Case3, a = 0, b = 1499027801, c = 1499027801}, {Case3, a = 0, b = 6438275382588823897}} +// gdb-command:print case3 +// gdb-check:$3 = {{Case3, a = 0, b = 22873, c = 22873, d = 22873, e = 22873}, {Case3, a = 0, b = 1499027801, c = 1499027801}, {Case3, a = 0, b = 6438275382588823897}} -// debugger:print univariant -// check:$4 = {a = -1} +// gdb-command:print univariant +// gdb-check:$4 = {a = -1} #![feature(struct_variant)] diff --git a/src/test/debug-info/generic-struct.rs b/src/test/debuginfo/generic-struct.rs similarity index 70% rename from src/test/debug-info/generic-struct.rs rename to src/test/debuginfo/generic-struct.rs index 0fd491c55e267..69217f4b87851 100644 --- a/src/test/debug-info/generic-struct.rs +++ b/src/test/debuginfo/generic-struct.rs @@ -11,18 +11,18 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print int_int -// check:$1 = {key = 0, value = 1} -// debugger:print int_float -// check:$2 = {key = 2, value = 3.5} -// debugger:print float_int -// check:$3 = {key = 4.5, value = 5} -// debugger:print float_int_float -// check:$4 = {key = 6.5, value = {key = 7, value = 8.5}} +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print int_int +// gdb-check:$1 = {key = 0, value = 1} +// gdb-command:print int_float +// gdb-check:$2 = {key = 2, value = 3.5} +// gdb-command:print float_int +// gdb-check:$3 = {key = 4.5, value = 5} +// gdb-command:print float_int_float +// gdb-check:$4 = {key = 6.5, value = {key = 7, value = 8.5}} struct AGenericStruct { key: TKey, diff --git a/src/test/debug-info/generic-trait-generic-static-default-method.rs b/src/test/debuginfo/generic-trait-generic-static-default-method.rs similarity index 73% rename from src/test/debug-info/generic-trait-generic-static-default-method.rs rename to src/test/debuginfo/generic-trait-generic-static-default-method.rs index fbb1ef1a02af7..904b22f5d4967 100644 --- a/src/test/debug-info/generic-trait-generic-static-default-method.rs +++ b/src/test/debuginfo/generic-trait-generic-static-default-method.rs @@ -11,22 +11,22 @@ // except according to those terms. // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print arg1 -// check:$1 = 1000 -// debugger:print *arg2 -// check:$2 = {1, 2.5} -// debugger:continue - -// debugger:finish -// debugger:print arg1 -// check:$3 = 2000 -// debugger:print *arg2 -// check:$4 = {3.5, {4, 5, 6}} -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$1 = 1000 +// gdb-command:print *arg2 +// gdb-check:$2 = {1, 2.5} +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$3 = 2000 +// gdb-command:print *arg2 +// gdb-check:$4 = {3.5, {4, 5, 6}} +// gdb-command:continue struct Struct { diff --git a/src/test/debug-info/generic-tuple-style-enum.rs b/src/test/debuginfo/generic-tuple-style-enum.rs similarity index 79% rename from src/test/debug-info/generic-tuple-style-enum.rs rename to src/test/debuginfo/generic-tuple-style-enum.rs index 73a46c30b3417..16a665ca8c67e 100644 --- a/src/test/debug-info/generic-tuple-style-enum.rs +++ b/src/test/debuginfo/generic-tuple-style-enum.rs @@ -12,22 +12,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print union on -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print union on +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print case1 -// check:$1 = {{Case1, 0, 31868, 31868, 31868, 31868}, {Case1, 0, 2088533116, 2088533116}, {Case1, 0, 8970181431921507452}} +// gdb-command:print case1 +// gdb-check:$1 = {{Case1, 0, 31868, 31868, 31868, 31868}, {Case1, 0, 2088533116, 2088533116}, {Case1, 0, 8970181431921507452}} -// debugger:print case2 -// check:$2 = {{Case2, 0, 4369, 4369, 4369, 4369}, {Case2, 0, 286331153, 286331153}, {Case2, 0, 1229782938247303441}} +// gdb-command:print case2 +// gdb-check:$2 = {{Case2, 0, 4369, 4369, 4369, 4369}, {Case2, 0, 286331153, 286331153}, {Case2, 0, 1229782938247303441}} -// debugger:print case3 -// check:$3 = {{Case3, 0, 22873, 22873, 22873, 22873}, {Case3, 0, 1499027801, 1499027801}, {Case3, 0, 6438275382588823897}} +// gdb-command:print case3 +// gdb-check:$3 = {{Case3, 0, 22873, 22873, 22873, 22873}, {Case3, 0, 1499027801, 1499027801}, {Case3, 0, 6438275382588823897}} -// debugger:print univariant -// check:$4 = {-1} +// gdb-command:print univariant +// gdb-check:$4 = {-1} // NOTE: This is a copy of the non-generic test case. The `Txx` type parameters have to be diff --git a/src/test/debug-info/include_string.rs b/src/test/debuginfo/include_string.rs similarity index 77% rename from src/test/debug-info/include_string.rs rename to src/test/debuginfo/include_string.rs index 6838af277282f..1d544dd003bad 100644 --- a/src/test/debug-info/include_string.rs +++ b/src/test/debuginfo/include_string.rs @@ -11,16 +11,16 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print string1.length -// check:$1 = 48 -// debugger:print string2.length -// check:$2 = 48 -// debugger:print string3.length -// check:$3 = 48 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print string1.length +// gdb-check:$1 = 48 +// gdb-command:print string2.length +// gdb-check:$2 = 48 +// gdb-command:print string3.length +// gdb-check:$3 = 48 +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debug-info/issue11600.rs b/src/test/debuginfo/issue11600.rs similarity index 54% rename from src/test/debug-info/issue11600.rs rename to src/test/debuginfo/issue11600.rs index 83ad5c4c7fabf..426a40bf8bdab 100644 --- a/src/test/debug-info/issue11600.rs +++ b/src/test/debuginfo/issue11600.rs @@ -8,30 +8,23 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +// This test was actually never run before because commands were only parsed up to the first +// function definition but the test relied on the function being above the commands. Ignore for now. +// ignore-test + fn main() { let args : ~[~str] = ::std::os::args(); ::std::io::println(args[0]); } - // ignore-android: FIXME(#10381) // This test case checks whether compile unit names are set correctly, so that the correct default // source file can be found. // compile-flags:-g -// debugger:list -// check:1[...]fn main() { -// check:2[...]let args : ~[~str] = ::std::os::args(); -// check:3[...]::std::io::println(args[0]); -// check:4[...]} - -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. +// gdb-command:list +// gdb-check:1[...]fn main() { +// gdb-check:2[...]let args : ~[~str] = ::std::os::args(); +// gdb-check:3[...]::std::io::println(args[0]); +// gdb-check:4[...]} diff --git a/src/test/debug-info/issue12886.rs b/src/test/debuginfo/issue12886.rs similarity index 90% rename from src/test/debug-info/issue12886.rs rename to src/test/debuginfo/issue12886.rs index 328ed54b5b271..3b152cd3c1a8c 100644 --- a/src/test/debug-info/issue12886.rs +++ b/src/test/debuginfo/issue12886.rs @@ -11,11 +11,11 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:break issue12886.rs:29 -// debugger:run -// debugger:next -// check:[...]30[...]s -// debugger:continue +// gdb-command:break issue12886.rs:29 +// gdb-command:run +// gdb-command:next +// gdb-check:[...]30[...]s +// gdb-command:continue // IF YOU MODIFY THIS FILE, BE CAREFUL TO ADAPT THE LINE NUMBERS IN THE DEBUGGER COMMANDS diff --git a/src/test/debug-info/issue13213.rs b/src/test/debuginfo/issue13213.rs similarity index 100% rename from src/test/debug-info/issue13213.rs rename to src/test/debuginfo/issue13213.rs diff --git a/src/test/debug-info/issue7712.rs b/src/test/debuginfo/issue7712.rs similarity index 100% rename from src/test/debug-info/issue7712.rs rename to src/test/debuginfo/issue7712.rs diff --git a/src/test/debug-info/lexical-scope-in-for-loop.rs b/src/test/debuginfo/lexical-scope-in-for-loop.rs similarity index 56% rename from src/test/debug-info/lexical-scope-in-for-loop.rs rename to src/test/debuginfo/lexical-scope-in-for-loop.rs index 75f1d779d01fd..0f6ac953179f3 100644 --- a/src/test/debug-info/lexical-scope-in-for-loop.rs +++ b/src/test/debuginfo/lexical-scope-in-for-loop.rs @@ -11,47 +11,47 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // FIRST ITERATION -// debugger:finish -// debugger:print x -// check:$1 = 1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = 1 +// gdb-command:continue -// debugger:finish -// debugger:print x -// check:$2 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = -1 +// gdb-command:continue // SECOND ITERATION -// debugger:finish -// debugger:print x -// check:$3 = 2 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 2 +// gdb-command:continue -// debugger:finish -// debugger:print x -// check:$4 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$4 = -2 +// gdb-command:continue // THIRD ITERATION -// debugger:finish -// debugger:print x -// check:$5 = 3 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = 3 +// gdb-command:continue -// debugger:finish -// debugger:print x -// check:$6 = -3 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$6 = -3 +// gdb-command:continue // AFTER LOOP -// debugger:finish -// debugger:print x -// check:$7 = 1000000 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = 1000000 +// gdb-command:continue fn main() { diff --git a/src/test/debug-info/lexical-scope-in-if.rs b/src/test/debuginfo/lexical-scope-in-if.rs similarity index 54% rename from src/test/debug-info/lexical-scope-in-if.rs rename to src/test/debuginfo/lexical-scope-in-if.rs index 712880d50f097..ef573735d0d4c 100644 --- a/src/test/debug-info/lexical-scope-in-if.rs +++ b/src/test/debuginfo/lexical-scope-in-if.rs @@ -11,72 +11,72 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // BEFORE if -// debugger:finish -// debugger:print x -// check:$1 = 999 -// debugger:print y -// check:$2 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = 999 +// gdb-command:print y +// gdb-check:$2 = -1 +// gdb-command:continue // AT BEGINNING of 'then' block -// debugger:finish -// debugger:print x -// check:$3 = 999 -// debugger:print y -// check:$4 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 999 +// gdb-command:print y +// gdb-check:$4 = -1 +// gdb-command:continue // AFTER 1st redeclaration of 'x' -// debugger:finish -// debugger:print x -// check:$5 = 1001 -// debugger:print y -// check:$6 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = 1001 +// gdb-command:print y +// gdb-check:$6 = -1 +// gdb-command:continue // AFTER 2st redeclaration of 'x' -// debugger:finish -// debugger:print x -// check:$7 = 1002 -// debugger:print y -// check:$8 = 1003 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = 1002 +// gdb-command:print y +// gdb-check:$8 = 1003 +// gdb-command:continue // AFTER 1st if expression -// debugger:finish -// debugger:print x -// check:$9 = 999 -// debugger:print y -// check:$10 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$9 = 999 +// gdb-command:print y +// gdb-check:$10 = -1 +// gdb-command:continue // BEGINNING of else branch -// debugger:finish -// debugger:print x -// check:$11 = 999 -// debugger:print y -// check:$12 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$11 = 999 +// gdb-command:print y +// gdb-check:$12 = -1 +// gdb-command:continue // BEGINNING of else branch -// debugger:finish -// debugger:print x -// check:$13 = 1004 -// debugger:print y -// check:$14 = 1005 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$13 = 1004 +// gdb-command:print y +// gdb-check:$14 = 1005 +// gdb-command:continue // BEGINNING of else branch -// debugger:finish -// debugger:print x -// check:$15 = 999 -// debugger:print y -// check:$16 = -1 -// debugger:continue +// gdb-command:finish +// gdb-command:print x +// gdb-check:$15 = 999 +// gdb-command:print y +// gdb-check:$16 = -1 +// gdb-command:continue fn main() { diff --git a/src/test/debug-info/lexical-scope-in-match.rs b/src/test/debuginfo/lexical-scope-in-match.rs similarity index 53% rename from src/test/debug-info/lexical-scope-in-match.rs rename to src/test/debuginfo/lexical-scope-in-match.rs index 041c8b5c13f27..5f13c780ba865 100644 --- a/src/test/debug-info/lexical-scope-in-match.rs +++ b/src/test/debuginfo/lexical-scope-in-match.rs @@ -11,68 +11,68 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print shadowed -// check:$1 = 231 -// debugger:print not_shadowed -// check:$2 = 232 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$3 = 233 -// debugger:print not_shadowed -// check:$4 = 232 -// debugger:print local_to_arm -// check:$5 = 234 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$6 = 236 -// debugger:print not_shadowed -// check:$7 = 232 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$8 = 237 -// debugger:print not_shadowed -// check:$9 = 232 -// debugger:print local_to_arm -// check:$10 = 238 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$11 = 239 -// debugger:print not_shadowed -// check:$12 = 232 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$13 = 241 -// debugger:print not_shadowed -// check:$14 = 232 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$15 = 243 -// debugger:print *local_to_arm -// check:$16 = 244 -// debugger:continue - -// debugger:finish -// debugger:print shadowed -// check:$17 = 231 -// debugger:print not_shadowed -// check:$18 = 232 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$1 = 231 +// gdb-command:print not_shadowed +// gdb-check:$2 = 232 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$3 = 233 +// gdb-command:print not_shadowed +// gdb-check:$4 = 232 +// gdb-command:print local_to_arm +// gdb-check:$5 = 234 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$6 = 236 +// gdb-command:print not_shadowed +// gdb-check:$7 = 232 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$8 = 237 +// gdb-command:print not_shadowed +// gdb-check:$9 = 232 +// gdb-command:print local_to_arm +// gdb-check:$10 = 238 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$11 = 239 +// gdb-command:print not_shadowed +// gdb-check:$12 = 232 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$13 = 241 +// gdb-command:print not_shadowed +// gdb-check:$14 = 232 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$15 = 243 +// gdb-command:print *local_to_arm +// gdb-check:$16 = 244 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print shadowed +// gdb-check:$17 = 231 +// gdb-command:print not_shadowed +// gdb-check:$18 = 232 +// gdb-command:continue struct Struct { x: int, diff --git a/src/test/debug-info/lexical-scope-in-parameterless-closure.rs b/src/test/debuginfo/lexical-scope-in-parameterless-closure.rs similarity index 97% rename from src/test/debug-info/lexical-scope-in-parameterless-closure.rs rename to src/test/debuginfo/lexical-scope-in-parameterless-closure.rs index fd0a156b45412..ad8f04d1fc795 100644 --- a/src/test/debug-info/lexical-scope-in-parameterless-closure.rs +++ b/src/test/debuginfo/lexical-scope-in-parameterless-closure.rs @@ -11,7 +11,7 @@ // ignore-android: FIXME(#10381) // compile-flags:--debuginfo=1 -// debugger:run +// gdb-command:run // Nothing to do here really, just make sure it compiles. See issue #8513. fn main() { diff --git a/src/test/debug-info/lexical-scope-in-stack-closure.rs b/src/test/debuginfo/lexical-scope-in-stack-closure.rs similarity index 60% rename from src/test/debug-info/lexical-scope-in-stack-closure.rs rename to src/test/debuginfo/lexical-scope-in-stack-closure.rs index 41432c6638665..c56cdbe031502 100644 --- a/src/test/debug-info/lexical-scope-in-stack-closure.rs +++ b/src/test/debuginfo/lexical-scope-in-stack-closure.rs @@ -11,38 +11,38 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = false -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$2 = false -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 1000 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$4 = 2.5 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$6 = false -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 1000 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$4 = 2.5 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$6 = false +// gdb-command:continue fn main() { diff --git a/src/test/debuginfo/lexical-scope-in-unconditional-loop.rs b/src/test/debuginfo/lexical-scope-in-unconditional-loop.rs new file mode 100644 index 0000000000000..12e95c4f9c743 --- /dev/null +++ b/src/test/debuginfo/lexical-scope-in-unconditional-loop.rs @@ -0,0 +1,127 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:rbreak zzz +// gdb-command:run + +// FIRST ITERATION +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = 0 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = 1 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 101 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$4 = 101 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = -987 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$6 = 101 +// gdb-command:continue + + +// SECOND ITERATION +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = 1 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$8 = 2 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$9 = 102 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$10 = 102 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$11 = -987 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$12 = 102 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$13 = 2 +// gdb-command:continue + +fn main() { + + let mut x = 0; + + loop { + if x >= 2 { + break; + } + + zzz(); + sentinel(); + + x += 1; + zzz(); + sentinel(); + + // Shadow x + let x = x + 100; + zzz(); + sentinel(); + + // open scope within loop's top level scope + { + zzz(); + sentinel(); + + let x = -987; + + zzz(); + sentinel(); + } + + // Check that we get the x before the inner scope again + zzz(); + sentinel(); + } + + zzz(); + sentinel(); +} + +fn zzz() {()} +fn sentinel() {()} diff --git a/src/test/debug-info/lexical-scope-in-unique-closure.rs b/src/test/debuginfo/lexical-scope-in-unique-closure.rs similarity index 60% rename from src/test/debug-info/lexical-scope-in-unique-closure.rs rename to src/test/debuginfo/lexical-scope-in-unique-closure.rs index e0ab21221e5d0..328910b0f1341 100644 --- a/src/test/debug-info/lexical-scope-in-unique-closure.rs +++ b/src/test/debuginfo/lexical-scope-in-unique-closure.rs @@ -11,38 +11,38 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = false -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$2 = false -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 1000 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$4 = 2.5 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$6 = false -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 1000 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$4 = 2.5 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$6 = false +// gdb-command:continue fn main() { diff --git a/src/test/debuginfo/lexical-scope-in-while.rs b/src/test/debuginfo/lexical-scope-in-while.rs new file mode 100644 index 0000000000000..1b2a9f7518296 --- /dev/null +++ b/src/test/debuginfo/lexical-scope-in-while.rs @@ -0,0 +1,123 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:rbreak zzz +// gdb-command:run + +// FIRST ITERATION +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = 0 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = 1 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 101 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$4 = 101 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = -987 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$6 = 101 +// gdb-command:continue + + +// SECOND ITERATION +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = 1 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$8 = 2 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$9 = 102 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$10 = 102 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$11 = -987 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$12 = 102 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$13 = 2 +// gdb-command:continue + +fn main() { + + let mut x = 0; + + while x < 2 { + zzz(); + sentinel(); + + x += 1; + zzz(); + sentinel(); + + // Shadow x + let x = x + 100; + zzz(); + sentinel(); + + // open scope within loop's top level scope + { + zzz(); + sentinel(); + + let x = -987; + + zzz(); + sentinel(); + } + + // Check that we get the x before the inner scope again + zzz(); + sentinel(); + } + + zzz(); + sentinel(); +} + +fn zzz() {()} +fn sentinel() {()} diff --git a/src/test/debug-info/lexical-scope-with-macro.rs b/src/test/debuginfo/lexical-scope-with-macro.rs similarity index 56% rename from src/test/debug-info/lexical-scope-with-macro.rs rename to src/test/debuginfo/lexical-scope-with-macro.rs index 6cbaedfde658c..3fb6f10fe332b 100644 --- a/src/test/debug-info/lexical-scope-with-macro.rs +++ b/src/test/debuginfo/lexical-scope-with-macro.rs @@ -11,59 +11,59 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print a -// check:$1 = 10 -// debugger:print b -// check:$2 = 34 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$3 = 890242 -// debugger:print b -// check:$4 = 34 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$5 = 10 -// debugger:print b -// check:$6 = 34 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$7 = 102 -// debugger:print b -// check:$8 = 34 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$9 = 110 -// debugger:print b -// check:$10 = 34 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$11 = 10 -// debugger:print b -// check:$12 = 34 -// debugger:continue - -// debugger:finish -// debugger:print a -// check:$13 = 10 -// debugger:print b -// check:$14 = 34 -// debugger:print c -// check:$15 = 400 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$1 = 10 +// gdb-command:print b +// gdb-check:$2 = 34 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$3 = 890242 +// gdb-command:print b +// gdb-check:$4 = 34 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$5 = 10 +// gdb-command:print b +// gdb-check:$6 = 34 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$7 = 102 +// gdb-command:print b +// gdb-check:$8 = 34 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$9 = 110 +// gdb-command:print b +// gdb-check:$10 = 34 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$11 = 10 +// gdb-command:print b +// gdb-check:$12 = 34 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print a +// gdb-check:$13 = 10 +// gdb-command:print b +// gdb-check:$14 = 34 +// gdb-command:print c +// gdb-check:$15 = 400 +// gdb-command:continue #![feature(macro_rules)] diff --git a/src/test/debuginfo/lexical-scopes-in-block-expression.rs b/src/test/debuginfo/lexical-scopes-in-block-expression.rs new file mode 100644 index 0000000000000..41b88dc3e981d --- /dev/null +++ b/src/test/debuginfo/lexical-scopes-in-block-expression.rs @@ -0,0 +1,377 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-win32: FIXME #13256 +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$1 = 0 + +// STRUCT EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$2 = -1 +// gdb-command:print ten +// gdb-check:$3 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$4 = 11 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$5 = 1 +// gdb-command:print ten +// gdb-check:$6 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$7 = -1 +// gdb-command:print ten +// gdb-check:$8 = 10 +// gdb-command:continue + +// FUNCTION CALL +// gdb-command:finish +// gdb-command:print val +// gdb-check:$9 = -1 +// gdb-command:print ten +// gdb-check:$10 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$11 = 12 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$12 = 2 +// gdb-command:print ten +// gdb-check:$13 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$14 = -1 +// gdb-command:print ten +// gdb-check:$15 = 10 +// gdb-command:continue + +// TUPLE EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$16 = -1 +// gdb-command:print ten +// gdb-check:$17 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$18 = 13 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$19 = 3 +// gdb-command:print ten +// gdb-check:$20 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$21 = -1 +// gdb-command:print ten +// gdb-check:$22 = 10 +// gdb-command:continue + +// VEC EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$23 = -1 +// gdb-command:print ten +// gdb-check:$24 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$25 = 14 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$26 = 4 +// gdb-command:print ten +// gdb-check:$27 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$28 = -1 +// gdb-command:print ten +// gdb-check:$29 = 10 +// gdb-command:continue + +// REPEAT VEC EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$30 = -1 +// gdb-command:print ten +// gdb-check:$31 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$32 = 15 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$33 = 5 +// gdb-command:print ten +// gdb-check:$34 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$35 = -1 +// gdb-command:print ten +// gdb-check:$36 = 10 +// gdb-command:continue + +// ASSIGNMENT EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$37 = -1 +// gdb-command:print ten +// gdb-check:$38 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$39 = 16 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$40 = 6 +// gdb-command:print ten +// gdb-check:$41 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$42 = -1 +// gdb-command:print ten +// gdb-check:$43 = 10 +// gdb-command:continue + + +// ARITHMETIC EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$44 = -1 +// gdb-command:print ten +// gdb-check:$45 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$46 = 17 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$47 = 7 +// gdb-command:print ten +// gdb-check:$48 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$49 = -1 +// gdb-command:print ten +// gdb-check:$50 = 10 +// gdb-command:continue + +// INDEX EXPRESSION +// gdb-command:finish +// gdb-command:print val +// gdb-check:$51 = -1 +// gdb-command:print ten +// gdb-check:$52 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$53 = 18 +// gdb-command:print 'lexical-scopes-in-block-expression::MUT_INT' +// gdb-check:$54 = 8 +// gdb-command:print ten +// gdb-check:$55 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print val +// gdb-check:$56 = -1 +// gdb-command:print ten +// gdb-check:$57 = 10 +// gdb-command:continue + +#![allow(unused_variable)] +#![allow(dead_assignment)] + +static mut MUT_INT: int = 0; + +struct Point { + x: int, + y: int +} + +fn a_function(x: int) -> int { + x + 1 +} + +fn main() { + + let val = -1; + let ten = 10; + + // surrounded by struct expression + let point = Point { + x: { + zzz(); + sentinel(); + + let val = ten + 1; + unsafe {MUT_INT = 1;}; + + zzz(); + sentinel(); + + val + }, + y: 10 + }; + + zzz(); + sentinel(); + + // surrounded by function call + let _ = a_function({ + zzz(); + sentinel(); + + let val = ten + 2; + unsafe {MUT_INT = 2;}; + + zzz(); + sentinel(); + + val + }); + + zzz(); + sentinel(); + + + // surrounded by tup + let _ = ({ + zzz(); + sentinel(); + + let val = ten + 3; + unsafe {MUT_INT = 3;}; + + zzz(); + sentinel(); + + val + }, 0); + + zzz(); + sentinel(); + + // surrounded by vec + let _ = [{ + zzz(); + sentinel(); + + let val = ten + 4; + unsafe {MUT_INT = 4;}; + + zzz(); + sentinel(); + + val + }, 0, 0]; + + zzz(); + sentinel(); + + // surrounded by repeat vec + let _ = [{ + zzz(); + sentinel(); + + let val = ten + 5; + unsafe {MUT_INT = 5;}; + + zzz(); + sentinel(); + + val + }, ..10]; + + zzz(); + sentinel(); + + // assignment expression + let mut var = 0; + var = { + zzz(); + sentinel(); + + let val = ten + 6; + unsafe {MUT_INT = 6;}; + + zzz(); + sentinel(); + + val + }; + + zzz(); + sentinel(); + + // arithmetic expression + var = 10 + -{ + zzz(); + sentinel(); + + let val = ten + 7; + unsafe {MUT_INT = 7;}; + + zzz(); + sentinel(); + + val + } * 5; + + zzz(); + sentinel(); + + // index expression + let a_vector = [10, ..20]; + let _ = a_vector[{ + zzz(); + sentinel(); + + let val = ten + 8; + unsafe {MUT_INT = 8;}; + + zzz(); + sentinel(); + + val as uint + }]; + + zzz(); + sentinel(); +} + +fn zzz() {()} +fn sentinel() {()} diff --git a/src/test/debug-info/limited-debuginfo.rs b/src/test/debuginfo/limited-debuginfo.rs similarity index 73% rename from src/test/debug-info/limited-debuginfo.rs rename to src/test/debuginfo/limited-debuginfo.rs index 51d9aa75e078e..616f312c07846 100644 --- a/src/test/debug-info/limited-debuginfo.rs +++ b/src/test/debuginfo/limited-debuginfo.rs @@ -13,20 +13,20 @@ // compile-flags:--debuginfo=1 // Make sure functions have proper names -// debugger:info functions -// check:[...]void[...]main([...]); -// check:[...]void[...]some_function([...]); -// check:[...]void[...]some_other_function([...]); -// check:[...]void[...]zzz([...]); +// gdb-command:info functions +// gdb-check:[...]void[...]main([...]); +// gdb-check:[...]void[...]some_function([...]); +// gdb-check:[...]void[...]some_other_function([...]); +// gdb-check:[...]void[...]zzz([...]); -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // Make sure there is no information about locals -// debugger:finish -// debugger:info locals -// check:No locals. -// debugger:continue +// gdb-command:finish +// gdb-command:info locals +// gdb-check:No locals. +// gdb-command:continue #![allow(unused_variable)] diff --git a/src/test/debug-info/managed-enum.rs b/src/test/debuginfo/managed-enum.rs similarity index 83% rename from src/test/debug-info/managed-enum.rs rename to src/test/debuginfo/managed-enum.rs index a7fb3b3022e3a..7899e0c6a9b53 100644 --- a/src/test/debug-info/managed-enum.rs +++ b/src/test/debuginfo/managed-enum.rs @@ -11,18 +11,18 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print the_a->val -// check:$1 = {{TheA, x = 0, y = 8970181431921507452}, {TheA, 0, 2088533116, 2088533116}} +// gdb-command:print the_a->val +// gdb-check:$1 = {{TheA, x = 0, y = 8970181431921507452}, {TheA, 0, 2088533116, 2088533116}} -// debugger:print the_b->val -// check:$2 = {{TheB, x = 0, y = 1229782938247303441}, {TheB, 0, 286331153, 286331153}} +// gdb-command:print the_b->val +// gdb-check:$2 = {{TheB, x = 0, y = 1229782938247303441}, {TheB, 0, 286331153, 286331153}} -// debugger:print univariant->val -// check:$3 = {-9747455} +// gdb-command:print univariant->val +// gdb-check:$3 = {-9747455} #![allow(unused_variable)] #![feature(struct_variant, managed_boxes)] diff --git a/src/test/debug-info/managed-pointer-within-unique-vec.rs b/src/test/debuginfo/managed-pointer-within-unique-vec.rs similarity index 68% rename from src/test/debug-info/managed-pointer-within-unique-vec.rs rename to src/test/debuginfo/managed-pointer-within-unique-vec.rs index 45989fd0d2b6b..a2a0d171898d2 100644 --- a/src/test/debug-info/managed-pointer-within-unique-vec.rs +++ b/src/test/debuginfo/managed-pointer-within-unique-vec.rs @@ -13,21 +13,21 @@ #![feature(managed_boxes)] // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print unique.ptr[0]->val -// check:$1 = 10 +// gdb-command:print unique.ptr[0]->val +// gdb-check:$1 = 10 -// debugger:print unique.ptr[1]->val -// check:$2 = 11 +// gdb-command:print unique.ptr[1]->val +// gdb-check:$2 = 11 -// debugger:print unique.ptr[2]->val -// check:$3 = 12 +// gdb-command:print unique.ptr[2]->val +// gdb-check:$3 = 12 -// debugger:print unique.ptr[3]->val -// check:$4 = 13 +// gdb-command:print unique.ptr[3]->val +// gdb-check:$4 = 13 #![allow(unused_variable)] diff --git a/src/test/debug-info/managed-pointer-within-unique.rs b/src/test/debuginfo/managed-pointer-within-unique.rs similarity index 72% rename from src/test/debug-info/managed-pointer-within-unique.rs rename to src/test/debuginfo/managed-pointer-within-unique.rs index 2207b3ef798ee..be2cc696d4fba 100644 --- a/src/test/debug-info/managed-pointer-within-unique.rs +++ b/src/test/debuginfo/managed-pointer-within-unique.rs @@ -13,19 +13,19 @@ #![feature(managed_boxes)] // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *ordinary_unique -// check:$1 = {-1, -2} +// gdb-command:print *ordinary_unique +// gdb-check:$1 = {-1, -2} -// debugger:print managed_within_unique->x -// check:$2 = -3 +// gdb-command:print managed_within_unique->x +// gdb-check:$2 = -3 -// debugger:print managed_within_unique->y->val -// check:$3 = -4 +// gdb-command:print managed_within_unique->y->val +// gdb-check:$3 = -4 #![allow(unused_variable)] diff --git a/src/test/debug-info/method-on-enum.rs b/src/test/debuginfo/method-on-enum.rs similarity index 52% rename from src/test/debug-info/method-on-enum.rs rename to src/test/debuginfo/method-on-enum.rs index 9c8718a4295cd..1a5fac18a6973 100644 --- a/src/test/debug-info/method-on-enum.rs +++ b/src/test/debuginfo/method-on-enum.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {{Variant2, [...]}, {Variant2, 117901063}} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {{Variant2, [...]}, {Variant2, 117901063}} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {{Variant2, [...]}, {Variant2, 117901063}} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {{Variant2, [...]}, {Variant2, 117901063}} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {{Variant1, x = 1799, y = 1799}, {Variant1, [...]}} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {{Variant1, x = 1799, y = 1799}, {Variant1, [...]}} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {{Variant1, x = 1799, y = 1799}, {Variant1, [...]}} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {{Variant1, x = 1799, y = 1799}, {Variant1, [...]}} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {{Variant1, x = 1799, y = 1799}, {Variant1, [...]}} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {{Variant1, x = 1799, y = 1799}, {Variant1, [...]}} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10 +// gdb-command:continue #![feature(struct_variant)] diff --git a/src/test/debug-info/method-on-generic-struct.rs b/src/test/debuginfo/method-on-generic-struct.rs similarity index 54% rename from src/test/debug-info/method-on-generic-struct.rs rename to src/test/debuginfo/method-on-generic-struct.rs index f2cdadd8aadf9..2f7b0c845ea80 100644 --- a/src/test/debug-info/method-on-generic-struct.rs +++ b/src/test/debuginfo/method-on-generic-struct.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {x = {8888, -8888}} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {x = {8888, -8888}} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {x = {8888, -8888}} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {x = {8888, -8888}} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {x = 1234.5} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {x = 1234.5} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {x = 1234.5} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {x = 1234.5} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {x = 1234.5} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {x = 1234.5} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10 +// gdb-command:continue struct Struct { x: T diff --git a/src/test/debug-info/method-on-struct.rs b/src/test/debuginfo/method-on-struct.rs similarity index 55% rename from src/test/debug-info/method-on-struct.rs rename to src/test/debuginfo/method-on-struct.rs index dcd285b0a14b3..3d7cc96ca171f 100644 --- a/src/test/debug-info/method-on-struct.rs +++ b/src/test/debuginfo/method-on-struct.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {x = 100} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {x = 100} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {x = 100} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {x = 100} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {x = 200} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {x = 200} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {x = 200} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10 +// gdb-command:continue struct Struct { x: int diff --git a/src/test/debug-info/method-on-trait.rs b/src/test/debuginfo/method-on-trait.rs similarity index 58% rename from src/test/debug-info/method-on-trait.rs rename to src/test/debuginfo/method-on-trait.rs index 6e1f8e6c72d56..a2b73629a6738 100644 --- a/src/test/debug-info/method-on-trait.rs +++ b/src/test/debuginfo/method-on-trait.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {x = 100} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {x = 100} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {x = 100} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {x = 100} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {x = 200} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {x = 200} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {x = 200} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10 +// gdb-command:continue struct Struct { x: int diff --git a/src/test/debug-info/method-on-tuple-struct.rs b/src/test/debuginfo/method-on-tuple-struct.rs similarity index 54% rename from src/test/debug-info/method-on-tuple-struct.rs rename to src/test/debuginfo/method-on-tuple-struct.rs index 184bee99d872c..fe7271716bb4f 100644 --- a/src/test/debug-info/method-on-tuple-struct.rs +++ b/src/test/debuginfo/method-on-tuple-struct.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {100, -100.5} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {100, -100.5} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {100, -100.5} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {100, -100.5} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {200, -200.5} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {200, -200.5} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {200, -200.5} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {200, -200.5} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {200, -200.5} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {200, -200.5} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10 +// gdb-command:continue struct TupleStruct(int, f64); diff --git a/src/test/debug-info/multiple-functions-equal-var-names.rs b/src/test/debuginfo/multiple-functions-equal-var-names.rs similarity index 72% rename from src/test/debug-info/multiple-functions-equal-var-names.rs rename to src/test/debuginfo/multiple-functions-equal-var-names.rs index 524974a000138..510718254d904 100644 --- a/src/test/debug-info/multiple-functions-equal-var-names.rs +++ b/src/test/debuginfo/multiple-functions-equal-var-names.rs @@ -11,22 +11,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print abc -// check:$1 = 10101 -// debugger:continue - -// debugger:finish -// debugger:print abc -// check:$2 = 20202 -// debugger:continue - -// debugger:finish -// debugger:print abc -// check:$3 = 30303 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print abc +// gdb-check:$1 = 10101 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print abc +// gdb-check:$2 = 20202 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print abc +// gdb-check:$3 = 30303 #![allow(unused_variable)] diff --git a/src/test/debug-info/multiple-functions.rs b/src/test/debuginfo/multiple-functions.rs similarity index 73% rename from src/test/debug-info/multiple-functions.rs rename to src/test/debuginfo/multiple-functions.rs index c93fc8b9cf202..362a8a93dd19b 100644 --- a/src/test/debug-info/multiple-functions.rs +++ b/src/test/debuginfo/multiple-functions.rs @@ -11,22 +11,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print a -// check:$1 = 10101 -// debugger:continue - -// debugger:finish -// debugger:print b -// check:$2 = 20202 -// debugger:continue - -// debugger:finish -// debugger:print c -// check:$3 = 30303 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print a +// gdb-check:$1 = 10101 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print b +// gdb-check:$2 = 20202 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print c +// gdb-check:$3 = 30303 #![allow(unused_variable)] diff --git a/src/test/debug-info/name-shadowing-and-scope-nesting.rs b/src/test/debuginfo/name-shadowing-and-scope-nesting.rs similarity index 51% rename from src/test/debug-info/name-shadowing-and-scope-nesting.rs rename to src/test/debuginfo/name-shadowing-and-scope-nesting.rs index 97849bc438da0..f967ced38ec11 100644 --- a/src/test/debug-info/name-shadowing-and-scope-nesting.rs +++ b/src/test/debuginfo/name-shadowing-and-scope-nesting.rs @@ -11,50 +11,50 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = false -// debugger:print y -// check:$2 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 10 -// debugger:print y -// check:$4 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = 10.5 -// debugger:print y -// check:$6 = 20 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$7 = true -// debugger:print y -// check:$8 = 2220 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$9 = 203203.5 -// debugger:print y -// check:$10 = 2220 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$11 = 10.5 -// debugger:print y -// check:$12 = 20 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = false +// gdb-command:print y +// gdb-check:$2 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 10 +// gdb-command:print y +// gdb-check:$4 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = 10.5 +// gdb-command:print y +// gdb-check:$6 = 20 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = true +// gdb-command:print y +// gdb-check:$8 = 2220 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$9 = 203203.5 +// gdb-command:print y +// gdb-check:$10 = 2220 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$11 = 10.5 +// gdb-command:print y +// gdb-check:$12 = 20 +// gdb-command:continue fn main() { let x = false; diff --git a/src/test/debug-info/nil-enum.rs b/src/test/debuginfo/nil-enum.rs similarity index 84% rename from src/test/debug-info/nil-enum.rs rename to src/test/debuginfo/nil-enum.rs index 31bfaded88aee..67c7eb30da6ed 100644 --- a/src/test/debug-info/nil-enum.rs +++ b/src/test/debuginfo/nil-enum.rs @@ -11,15 +11,15 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print first -// check:$1 = {} +// gdb-command:print first +// gdb-check:$1 = {} -// debugger:print second -// check:$2 = {} +// gdb-command:print second +// gdb-check:$2 = {} #![allow(unused_variable)] diff --git a/src/test/debug-info/option-like-enum.rs b/src/test/debuginfo/option-like-enum.rs similarity index 79% rename from src/test/debug-info/option-like-enum.rs rename to src/test/debuginfo/option-like-enum.rs index b025b3a4a557d..b60c9c4a4b967 100644 --- a/src/test/debug-info/option-like-enum.rs +++ b/src/test/debuginfo/option-like-enum.rs @@ -11,29 +11,29 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print some -// check:$1 = {0x12345678} +// gdb-command:print some +// gdb-check:$1 = {0x12345678} -// debugger:print none -// check:$2 = {0x0} +// gdb-command:print none +// gdb-check:$2 = {0x0} -// debugger:print full -// check:$3 = {454545, 0x87654321, 9988} +// gdb-command:print full +// gdb-check:$3 = {454545, 0x87654321, 9988} -// debugger:print empty->discr -// check:$4 = (int *) 0x0 +// gdb-command:print empty->discr +// gdb-check:$4 = (int *) 0x0 -// debugger:print droid -// check:$5 = {id = 675675, range = 10000001, internals = 0x43218765} +// gdb-command:print droid +// gdb-check:$5 = {id = 675675, range = 10000001, internals = 0x43218765} -// debugger:print void_droid->internals -// check:$6 = (int *) 0x0 +// gdb-command:print void_droid->internals +// gdb-check:$6 = (int *) 0x0 -// debugger:continue +// gdb-command:continue #![feature(struct_variant)] diff --git a/src/test/debug-info/packed-struct-with-destructor.rs b/src/test/debuginfo/packed-struct-with-destructor.rs similarity index 72% rename from src/test/debug-info/packed-struct-with-destructor.rs rename to src/test/debuginfo/packed-struct-with-destructor.rs index 242169291014f..29087b18d5a96 100644 --- a/src/test/debug-info/packed-struct-with-destructor.rs +++ b/src/test/debuginfo/packed-struct-with-destructor.rs @@ -12,35 +12,35 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print packed -// check:$1 = {x = 123, y = 234, z = 345} +// gdb-command:print packed +// gdb-check:$1 = {x = 123, y = 234, z = 345} -// debugger:print packedInPacked -// check:$2 = {a = 1111, b = {x = 2222, y = 3333, z = 4444}, c = 5555, d = {x = 6666, y = 7777, z = 8888}} +// gdb-command:print packedInPacked +// gdb-check:$2 = {a = 1111, b = {x = 2222, y = 3333, z = 4444}, c = 5555, d = {x = 6666, y = 7777, z = 8888}} -// debugger:print packedInUnpacked -// check:$3 = {a = -1111, b = {x = -2222, y = -3333, z = -4444}, c = -5555, d = {x = -6666, y = -7777, z = -8888}} +// gdb-command:print packedInUnpacked +// gdb-check:$3 = {a = -1111, b = {x = -2222, y = -3333, z = -4444}, c = -5555, d = {x = -6666, y = -7777, z = -8888}} -// debugger:print unpackedInPacked -// check:$4 = {a = 987, b = {x = 876, y = 765, z = 654}, c = {x = 543, y = 432, z = 321}, d = 210} +// gdb-command:print unpackedInPacked +// gdb-check:$4 = {a = 987, b = {x = 876, y = 765, z = 654}, c = {x = 543, y = 432, z = 321}, d = 210} -// debugger:print packedInPackedWithDrop -// check:$5 = {a = 11, b = {x = 22, y = 33, z = 44}, c = 55, d = {x = 66, y = 77, z = 88}} +// gdb-command:print packedInPackedWithDrop +// gdb-check:$5 = {a = 11, b = {x = 22, y = 33, z = 44}, c = 55, d = {x = 66, y = 77, z = 88}} -// debugger:print packedInUnpackedWithDrop -// check:$6 = {a = -11, b = {x = -22, y = -33, z = -44}, c = -55, d = {x = -66, y = -77, z = -88}} +// gdb-command:print packedInUnpackedWithDrop +// gdb-check:$6 = {a = -11, b = {x = -22, y = -33, z = -44}, c = -55, d = {x = -66, y = -77, z = -88}} -// debugger:print unpackedInPackedWithDrop -// check:$7 = {a = 98, b = {x = 87, y = 76, z = 65}, c = {x = 54, y = 43, z = 32}, d = 21} +// gdb-command:print unpackedInPackedWithDrop +// gdb-check:$7 = {a = 98, b = {x = 87, y = 76, z = 65}, c = {x = 54, y = 43, z = 32}, d = 21} -// debugger:print deeplyNested -// check:$8 = {a = {a = 1, b = {x = 2, y = 3, z = 4}, c = 5, d = {x = 6, y = 7, z = 8}}, b = {a = 9, b = {x = 10, y = 11, z = 12}, c = {x = 13, y = 14, z = 15}, d = 16}, c = {a = 17, b = {x = 18, y = 19, z = 20}, c = 21, d = {x = 22, y = 23, z = 24}}, d = {a = 25, b = {x = 26, y = 27, z = 28}, c = 29, d = {x = 30, y = 31, z = 32}}, e = {a = 33, b = {x = 34, y = 35, z = 36}, c = {x = 37, y = 38, z = 39}, d = 40}, f = {a = 41, b = {x = 42, y = 43, z = 44}, c = 45, d = {x = 46, y = 47, z = 48}}} +// gdb-command:print deeplyNested +// gdb-check:$8 = {a = {a = 1, b = {x = 2, y = 3, z = 4}, c = 5, d = {x = 6, y = 7, z = 8}}, b = {a = 9, b = {x = 10, y = 11, z = 12}, c = {x = 13, y = 14, z = 15}, d = 16}, c = {a = 17, b = {x = 18, y = 19, z = 20}, c = 21, d = {x = 22, y = 23, z = 24}}, d = {a = 25, b = {x = 26, y = 27, z = 28}, c = 29, d = {x = 30, y = 31, z = 32}}, e = {a = 33, b = {x = 34, y = 35, z = 36}, c = {x = 37, y = 38, z = 39}, d = 40}, f = {a = 41, b = {x = 42, y = 43, z = 44}, c = 45, d = {x = 46, y = 47, z = 48}}} #![allow(unused_variable)] diff --git a/src/test/debug-info/packed-struct.rs b/src/test/debuginfo/packed-struct.rs similarity index 71% rename from src/test/debug-info/packed-struct.rs rename to src/test/debuginfo/packed-struct.rs index 2b7df0083d664..bc8156c73853c 100644 --- a/src/test/debug-info/packed-struct.rs +++ b/src/test/debuginfo/packed-struct.rs @@ -12,28 +12,28 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print packed -// check:$1 = {x = 123, y = 234, z = 345} +// gdb-command:print packed +// gdb-check:$1 = {x = 123, y = 234, z = 345} -// debugger:print packedInPacked -// check:$2 = {a = 1111, b = {x = 2222, y = 3333, z = 4444}, c = 5555, d = {x = 6666, y = 7777, z = 8888}} +// gdb-command:print packedInPacked +// gdb-check:$2 = {a = 1111, b = {x = 2222, y = 3333, z = 4444}, c = 5555, d = {x = 6666, y = 7777, z = 8888}} -// debugger:print packedInUnpacked -// check:$3 = {a = -1111, b = {x = -2222, y = -3333, z = -4444}, c = -5555, d = {x = -6666, y = -7777, z = -8888}} +// gdb-command:print packedInUnpacked +// gdb-check:$3 = {a = -1111, b = {x = -2222, y = -3333, z = -4444}, c = -5555, d = {x = -6666, y = -7777, z = -8888}} -// debugger:print unpackedInPacked -// check:$4 = {a = 987, b = {x = 876, y = 765, z = 654, w = 543}, c = {x = 432, y = 321, z = 210, w = 109}, d = -98} +// gdb-command:print unpackedInPacked +// gdb-check:$4 = {a = 987, b = {x = 876, y = 765, z = 654, w = 543}, c = {x = 432, y = 321, z = 210, w = 109}, d = -98} -// debugger:print sizeof(packed) -// check:$5 = 14 +// gdb-command:print sizeof(packed) +// gdb-check:$5 = 14 -// debugger:print sizeof(packedInPacked) -// check:$6 = 40 +// gdb-command:print sizeof(packedInPacked) +// gdb-check:$6 = 40 #![allow(unused_variable)] diff --git a/src/test/debug-info/recursive-enum.rs b/src/test/debuginfo/recursive-enum.rs similarity index 98% rename from src/test/debug-info/recursive-enum.rs rename to src/test/debuginfo/recursive-enum.rs index aea8ab1b2b83e..68b6764a5a150 100644 --- a/src/test/debug-info/recursive-enum.rs +++ b/src/test/debuginfo/recursive-enum.rs @@ -11,7 +11,7 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:run +// gdb-command:run // Test whether compiling a recursive enum definition crashes debug info generation. The test case // is taken from issue #11083. diff --git a/src/test/debug-info/recursive-struct.rs b/src/test/debuginfo/recursive-struct.rs similarity index 70% rename from src/test/debug-info/recursive-struct.rs rename to src/test/debuginfo/recursive-struct.rs index a46a1c248ff01..8c2edbea0d477 100644 --- a/src/test/debug-info/recursive-struct.rs +++ b/src/test/debuginfo/recursive-struct.rs @@ -13,94 +13,94 @@ #![feature(managed_boxes)] // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print stack_unique.value -// check:$1 = 0 -// debugger:print stack_unique.next.val->value -// check:$2 = 1 - -// debugger:print unique_unique->value -// check:$3 = 2 -// debugger:print unique_unique->next.val->value -// check:$4 = 3 - -// debugger:print box_unique->val.value -// check:$5 = 4 -// debugger:print box_unique->val.next.val->value -// check:$6 = 5 - -// debugger:print vec_unique[0].value -// check:$7 = 6.5 -// debugger:print vec_unique[0].next.val->value -// check:$8 = 7.5 - -// debugger:print borrowed_unique->value -// check:$9 = 8.5 -// debugger:print borrowed_unique->next.val->value -// check:$10 = 9.5 +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print stack_unique.value +// gdb-check:$1 = 0 +// gdb-command:print stack_unique.next.val->value +// gdb-check:$2 = 1 + +// gdb-command:print unique_unique->value +// gdb-check:$3 = 2 +// gdb-command:print unique_unique->next.val->value +// gdb-check:$4 = 3 + +// gdb-command:print box_unique->val.value +// gdb-check:$5 = 4 +// gdb-command:print box_unique->val.next.val->value +// gdb-check:$6 = 5 + +// gdb-command:print vec_unique[0].value +// gdb-check:$7 = 6.5 +// gdb-command:print vec_unique[0].next.val->value +// gdb-check:$8 = 7.5 + +// gdb-command:print borrowed_unique->value +// gdb-check:$9 = 8.5 +// gdb-command:print borrowed_unique->next.val->value +// gdb-check:$10 = 9.5 // MANAGED -// debugger:print stack_managed.value -// check:$11 = 10 -// debugger:print stack_managed.next.val->val.value -// check:$12 = 11 - -// debugger:print unique_managed->value -// check:$13 = 12 -// debugger:print unique_managed->next.val->val.value -// check:$14 = 13 - -// debugger:print box_managed->val.value -// check:$15 = 14 -// debugger:print box_managed->val.next.val->val.value -// check:$16 = 15 - -// debugger:print vec_managed[0].value -// check:$17 = 16.5 -// debugger:print vec_managed[0].next.val->val.value -// check:$18 = 17.5 - -// debugger:print borrowed_managed->value -// check:$19 = 18.5 -// debugger:print borrowed_managed->next.val->val.value -// check:$20 = 19.5 +// gdb-command:print stack_managed.value +// gdb-check:$11 = 10 +// gdb-command:print stack_managed.next.val->val.value +// gdb-check:$12 = 11 + +// gdb-command:print unique_managed->value +// gdb-check:$13 = 12 +// gdb-command:print unique_managed->next.val->val.value +// gdb-check:$14 = 13 + +// gdb-command:print box_managed->val.value +// gdb-check:$15 = 14 +// gdb-command:print box_managed->val.next.val->val.value +// gdb-check:$16 = 15 + +// gdb-command:print vec_managed[0].value +// gdb-check:$17 = 16.5 +// gdb-command:print vec_managed[0].next.val->val.value +// gdb-check:$18 = 17.5 + +// gdb-command:print borrowed_managed->value +// gdb-check:$19 = 18.5 +// gdb-command:print borrowed_managed->next.val->val.value +// gdb-check:$20 = 19.5 // LONG CYCLE -// debugger:print long_cycle1.value -// check:$21 = 20 -// debugger:print long_cycle1.next->value -// check:$22 = 21 -// debugger:print long_cycle1.next->next->value -// check:$23 = 22 -// debugger:print long_cycle1.next->next->next->value -// check:$24 = 23 - -// debugger:print long_cycle2.value -// check:$25 = 24 -// debugger:print long_cycle2.next->value -// check:$26 = 25 -// debugger:print long_cycle2.next->next->value -// check:$27 = 26 - -// debugger:print long_cycle3.value -// check:$28 = 27 -// debugger:print long_cycle3.next->value -// check:$29 = 28 - -// debugger:print long_cycle4.value -// check:$30 = 29.5 - -// debugger:print (*****long_cycle_w_anonymous_types).value -// check:$31 = 30 - -// debugger:print (*****((*****long_cycle_w_anonymous_types).next.val)).value -// check:$32 = 31 - -// debugger:continue +// gdb-command:print long_cycle1.value +// gdb-check:$21 = 20 +// gdb-command:print long_cycle1.next->value +// gdb-check:$22 = 21 +// gdb-command:print long_cycle1.next->next->value +// gdb-check:$23 = 22 +// gdb-command:print long_cycle1.next->next->next->value +// gdb-check:$24 = 23 + +// gdb-command:print long_cycle2.value +// gdb-check:$25 = 24 +// gdb-command:print long_cycle2.next->value +// gdb-check:$26 = 25 +// gdb-command:print long_cycle2.next->next->value +// gdb-check:$27 = 26 + +// gdb-command:print long_cycle3.value +// gdb-check:$28 = 27 +// gdb-command:print long_cycle3.next->value +// gdb-check:$29 = 28 + +// gdb-command:print long_cycle4.value +// gdb-check:$30 = 29.5 + +// gdb-command:print (*****long_cycle_w_anonymous_types).value +// gdb-check:$31 = 30 + +// gdb-command:print (*****((*****long_cycle_w_anonymous_types).next.val)).value +// gdb-check:$32 = 31 + +// gdb-command:continue #![allow(unused_variable)] #![feature(struct_variant)] diff --git a/src/test/debug-info/self-in-default-method.rs b/src/test/debuginfo/self-in-default-method.rs similarity index 55% rename from src/test/debug-info/self-in-default-method.rs rename to src/test/debuginfo/self-in-default-method.rs index 194cfc77bf344..45cbcf094f4f5 100644 --- a/src/test/debug-info/self-in-default-method.rs +++ b/src/test/debuginfo/self-in-default-method.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {x = 100} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {x = 100} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {x = 100} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {x = 100} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {x = 200} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {x = 200} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {x = 200} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {x = 200} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10 +// gdb-command:continue struct Struct { x: int diff --git a/src/test/debug-info/self-in-generic-default-method.rs b/src/test/debuginfo/self-in-generic-default-method.rs similarity index 55% rename from src/test/debug-info/self-in-generic-default-method.rs rename to src/test/debuginfo/self-in-generic-default-method.rs index 9e7504be15b46..8ab3fd44203aa 100644 --- a/src/test/debug-info/self-in-generic-default-method.rs +++ b/src/test/debuginfo/self-in-generic-default-method.rs @@ -11,58 +11,58 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STACK BY REF -// debugger:finish -// debugger:print *self -// check:$1 = {x = 987} -// debugger:print arg1 -// check:$2 = -1 -// debugger:print/d arg2 -// check:$3 = -2 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$1 = {x = 987} +// gdb-command:print arg1 +// gdb-check:$2 = -1 +// gdb-command:print/d arg2 +// gdb-check:$3 = -2 +// gdb-command:continue // STACK BY VAL -// debugger:finish -// debugger:print self -// check:$4 = {x = 987} -// debugger:print arg1 -// check:$5 = -3 -// debugger:print arg2 -// check:$6 = -4 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$4 = {x = 987} +// gdb-command:print arg1 +// gdb-check:$5 = -3 +// gdb-command:print arg2 +// gdb-check:$6 = -4 +// gdb-command:continue // OWNED BY REF -// debugger:finish -// debugger:print *self -// check:$7 = {x = 879} -// debugger:print arg1 -// check:$8 = -5 -// debugger:print arg2 -// check:$9 = -6 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$7 = {x = 879} +// gdb-command:print arg1 +// gdb-check:$8 = -5 +// gdb-command:print arg2 +// gdb-check:$9 = -6 +// gdb-command:continue // OWNED BY VAL -// debugger:finish -// debugger:print self -// check:$10 = {x = 879} -// debugger:print arg1 -// check:$11 = -7 -// debugger:print arg2 -// check:$12 = -8 -// debugger:continue +// gdb-command:finish +// gdb-command:print self +// gdb-check:$10 = {x = 879} +// gdb-command:print arg1 +// gdb-check:$11 = -7 +// gdb-command:print arg2 +// gdb-check:$12 = -8 +// gdb-command:continue // OWNED MOVED -// debugger:finish -// debugger:print *self -// check:$13 = {x = 879} -// debugger:print arg1 -// check:$14 = -9 -// debugger:print arg2 -// check:$15 = -10.5 -// debugger:continue +// gdb-command:finish +// gdb-command:print *self +// gdb-check:$13 = {x = 879} +// gdb-command:print arg1 +// gdb-check:$14 = -9 +// gdb-command:print arg2 +// gdb-check:$15 = -10.5 +// gdb-command:continue struct Struct { x: int diff --git a/src/test/debug-info/shadowed-argument.rs b/src/test/debuginfo/shadowed-argument.rs similarity index 63% rename from src/test/debug-info/shadowed-argument.rs rename to src/test/debuginfo/shadowed-argument.rs index cd3934e2a29cf..129263c0f7649 100644 --- a/src/test/debug-info/shadowed-argument.rs +++ b/src/test/debuginfo/shadowed-argument.rs @@ -11,29 +11,29 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = false -// debugger:print y -// check:$2 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 10 -// debugger:print y -// check:$4 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = 10.5 -// debugger:print y -// check:$6 = 20 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = false +// gdb-command:print y +// gdb-check:$2 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 10 +// gdb-command:print y +// gdb-check:$4 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = 10.5 +// gdb-command:print y +// gdb-check:$6 = 20 +// gdb-command:continue fn a_function(x: bool, y: bool) { zzz(); diff --git a/src/test/debug-info/shadowed-variable.rs b/src/test/debuginfo/shadowed-variable.rs similarity index 62% rename from src/test/debug-info/shadowed-variable.rs rename to src/test/debuginfo/shadowed-variable.rs index 99edb7001ed0a..825ecb9c0ca7f 100644 --- a/src/test/debug-info/shadowed-variable.rs +++ b/src/test/debuginfo/shadowed-variable.rs @@ -11,29 +11,29 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = false -// debugger:print y -// check:$2 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 10 -// debugger:print y -// check:$4 = true -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = 10.5 -// debugger:print y -// check:$6 = 20 -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = false +// gdb-command:print y +// gdb-check:$2 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 10 +// gdb-command:print y +// gdb-check:$4 = true +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = 10.5 +// gdb-command:print y +// gdb-check:$6 = 20 +// gdb-command:continue fn main() { let x = false; diff --git a/src/test/debug-info/simd.rs b/src/test/debuginfo/simd.rs similarity index 63% rename from src/test/debug-info/simd.rs rename to src/test/debuginfo/simd.rs index 983972774162f..ff9618aa1f1eb 100644 --- a/src/test/debug-info/simd.rs +++ b/src/test/debuginfo/simd.rs @@ -11,34 +11,34 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run -// debugger:finish -// debugger:print/d i8x16 -// check:$1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} -// debugger:print/d i16x8 -// check:$2 = {16, 17, 18, 19, 20, 21, 22, 23} -// debugger:print/d i32x4 -// check:$3 = {24, 25, 26, 27} -// debugger:print/d i64x2 -// check:$4 = {28, 29} +// gdb-command:finish +// gdb-command:print/d i8x16 +// gdb-check:$1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} +// gdb-command:print/d i16x8 +// gdb-check:$2 = {16, 17, 18, 19, 20, 21, 22, 23} +// gdb-command:print/d i32x4 +// gdb-check:$3 = {24, 25, 26, 27} +// gdb-command:print/d i64x2 +// gdb-check:$4 = {28, 29} -// debugger:print/d u8x16 -// check:$5 = {30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45} -// debugger:print/d u16x8 -// check:$6 = {46, 47, 48, 49, 50, 51, 52, 53} -// debugger:print/d u32x4 -// check:$7 = {54, 55, 56, 57} -// debugger:print/d u64x2 -// check:$8 = {58, 59} +// gdb-command:print/d u8x16 +// gdb-check:$5 = {30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45} +// gdb-command:print/d u16x8 +// gdb-check:$6 = {46, 47, 48, 49, 50, 51, 52, 53} +// gdb-command:print/d u32x4 +// gdb-check:$7 = {54, 55, 56, 57} +// gdb-command:print/d u64x2 +// gdb-check:$8 = {58, 59} -// debugger:print f32x4 -// check:$9 = {60.5, 61.5, 62.5, 63.5} -// debugger:print f64x2 -// check:$10 = {64.5, 65.5} +// gdb-command:print f32x4 +// gdb-check:$9 = {60.5, 61.5, 62.5, 63.5} +// gdb-command:print f64x2 +// gdb-check:$10 = {64.5, 65.5} -// debugger:continue +// gdb-command:continue #![allow(experimental)] #![allow(unused_variable)] diff --git a/src/test/debug-info/simple-lexical-scope.rs b/src/test/debuginfo/simple-lexical-scope.rs similarity index 57% rename from src/test/debug-info/simple-lexical-scope.rs rename to src/test/debuginfo/simple-lexical-scope.rs index 21ce21efc22fd..171e3eae659f1 100644 --- a/src/test/debug-info/simple-lexical-scope.rs +++ b/src/test/debuginfo/simple-lexical-scope.rs @@ -11,43 +11,43 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print x -// check:$1 = false -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$2 = false -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$3 = 10 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$4 = 10 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$5 = 10.5 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$6 = 10 -// debugger:continue - -// debugger:finish -// debugger:print x -// check:$7 = false -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$1 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$2 = false +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$3 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$4 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$5 = 10.5 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$6 = 10 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print x +// gdb-check:$7 = false +// gdb-command:continue fn main() { diff --git a/src/test/debug-info/simple-struct.rs b/src/test/debuginfo/simple-struct.rs similarity index 59% rename from src/test/debug-info/simple-struct.rs rename to src/test/debuginfo/simple-struct.rs index 2ac3b48f6827b..c1f0e2c1f9ea7 100644 --- a/src/test/debug-info/simple-struct.rs +++ b/src/test/debuginfo/simple-struct.rs @@ -12,68 +12,68 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz +// gdb-command:set print pretty off +// gdb-command:rbreak zzz -// debugger:print 'simple-struct::NO_PADDING_16' -// check:$1 = {x = 1000, y = -1001} +// gdb-command:print 'simple-struct::NO_PADDING_16' +// gdb-check:$1 = {x = 1000, y = -1001} -// debugger:print 'simple-struct::NO_PADDING_32' -// check:$2 = {x = 1, y = 2, z = 3} +// gdb-command:print 'simple-struct::NO_PADDING_32' +// gdb-check:$2 = {x = 1, y = 2, z = 3} -// debugger:print 'simple-struct::NO_PADDING_64' -// check:$3 = {x = 4, y = 5, z = 6} +// gdb-command:print 'simple-struct::NO_PADDING_64' +// gdb-check:$3 = {x = 4, y = 5, z = 6} -// debugger:print 'simple-struct::NO_PADDING_163264' -// check:$4 = {a = 7, b = 8, c = 9, d = 10} +// gdb-command:print 'simple-struct::NO_PADDING_163264' +// gdb-check:$4 = {a = 7, b = 8, c = 9, d = 10} -// debugger:print 'simple-struct::INTERNAL_PADDING' -// check:$5 = {x = 11, y = 12} +// gdb-command:print 'simple-struct::INTERNAL_PADDING' +// gdb-check:$5 = {x = 11, y = 12} -// debugger:print 'simple-struct::PADDING_AT_END' -// check:$6 = {x = 13, y = 14} +// gdb-command:print 'simple-struct::PADDING_AT_END' +// gdb-check:$6 = {x = 13, y = 14} -// debugger:run -// debugger:finish +// gdb-command:run +// gdb-command:finish -// debugger:print no_padding16 -// check:$7 = {x = 10000, y = -10001} +// gdb-command:print no_padding16 +// gdb-check:$7 = {x = 10000, y = -10001} -// debugger:print no_padding32 -// check:$8 = {x = -10002, y = -10003.5, z = 10004} +// gdb-command:print no_padding32 +// gdb-check:$8 = {x = -10002, y = -10003.5, z = 10004} -// debugger:print no_padding64 -// check:$9 = {x = -10005.5, y = 10006, z = 10007} +// gdb-command:print no_padding64 +// gdb-check:$9 = {x = -10005.5, y = 10006, z = 10007} -// debugger:print no_padding163264 -// check:$10 = {a = -10008, b = 10009, c = 10010, d = 10011} +// gdb-command:print no_padding163264 +// gdb-check:$10 = {a = -10008, b = 10009, c = 10010, d = 10011} -// debugger:print internal_padding -// check:$11 = {x = 10012, y = -10013} +// gdb-command:print internal_padding +// gdb-check:$11 = {x = 10012, y = -10013} -// debugger:print padding_at_end -// check:$12 = {x = -10014, y = 10015} +// gdb-command:print padding_at_end +// gdb-check:$12 = {x = -10014, y = 10015} -// debugger:print 'simple-struct::NO_PADDING_16' -// check:$13 = {x = 100, y = -101} +// gdb-command:print 'simple-struct::NO_PADDING_16' +// gdb-check:$13 = {x = 100, y = -101} -// debugger:print 'simple-struct::NO_PADDING_32' -// check:$14 = {x = -15, y = -16, z = 17} +// gdb-command:print 'simple-struct::NO_PADDING_32' +// gdb-check:$14 = {x = -15, y = -16, z = 17} -// debugger:print 'simple-struct::NO_PADDING_64' -// check:$15 = {x = -18, y = 19, z = 20} +// gdb-command:print 'simple-struct::NO_PADDING_64' +// gdb-check:$15 = {x = -18, y = 19, z = 20} -// debugger:print 'simple-struct::NO_PADDING_163264' -// check:$16 = {a = -21, b = 22, c = 23, d = 24} +// gdb-command:print 'simple-struct::NO_PADDING_163264' +// gdb-check:$16 = {a = -21, b = 22, c = 23, d = 24} -// debugger:print 'simple-struct::INTERNAL_PADDING' -// check:$17 = {x = 25, y = -26} +// gdb-command:print 'simple-struct::INTERNAL_PADDING' +// gdb-check:$17 = {x = 25, y = -26} -// debugger:print 'simple-struct::PADDING_AT_END' -// check:$18 = {x = -27, y = 28} +// gdb-command:print 'simple-struct::PADDING_AT_END' +// gdb-check:$18 = {x = -27, y = 28} -// debugger:print inheriting -// check:$19 = {a = 10019, b = -10020, x = -10016, y = -10017.5, z = 10018} +// gdb-command:print inheriting +// gdb-check:$19 = {a = 10019, b = -10020, x = -10016, y = -10017.5, z = 10018} #![feature(struct_inherit)]; diff --git a/src/test/debuginfo/simple-tuple.rs b/src/test/debuginfo/simple-tuple.rs new file mode 100644 index 0000000000000..9486ab2474eff --- /dev/null +++ b/src/test/debuginfo/simple-tuple.rs @@ -0,0 +1,113 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-win32: FIXME #13256 +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:set print pretty off +// gdb-command:rbreak zzz + +// gdb-command:print/d 'simple-tuple::NO_PADDING_8' +// gdb-check:$1 = {-50, 50} +// gdb-command:print 'simple-tuple::NO_PADDING_16' +// gdb-check:$2 = {-1, 2, 3} +// gdb-command:print 'simple-tuple::NO_PADDING_32' +// gdb-check:$3 = {4, 5, 6} +// gdb-command:print 'simple-tuple::NO_PADDING_64' +// gdb-check:$4 = {7, 8, 9} + +// gdb-command:print 'simple-tuple::INTERNAL_PADDING_1' +// gdb-check:$5 = {10, 11} +// gdb-command:print 'simple-tuple::INTERNAL_PADDING_2' +// gdb-check:$6 = {12, 13, 14, 15} + +// gdb-command:print 'simple-tuple::PADDING_AT_END' +// gdb-check:$7 = {16, 17} + +// gdb-command:run +// gdb-command:finish + +// gdb-command:print/d noPadding8 +// gdb-check:$8 = {-100, 100} +// gdb-command:print noPadding16 +// gdb-check:$9 = {0, 1, 2} +// gdb-command:print noPadding32 +// gdb-check:$10 = {3, 4.5, 5} +// gdb-command:print noPadding64 +// gdb-check:$11 = {6, 7.5, 8} + +// gdb-command:print internalPadding1 +// gdb-check:$12 = {9, 10} +// gdb-command:print internalPadding2 +// gdb-check:$13 = {11, 12, 13, 14} + +// gdb-command:print paddingAtEnd +// gdb-check:$14 = {15, 16} + +// gdb-command:print/d 'simple-tuple::NO_PADDING_8' +// gdb-check:$15 = {-127, 127} +// gdb-command:print 'simple-tuple::NO_PADDING_16' +// gdb-check:$16 = {-10, 10, 9} +// gdb-command:print 'simple-tuple::NO_PADDING_32' +// gdb-check:$17 = {14, 15, 16} +// gdb-command:print 'simple-tuple::NO_PADDING_64' +// gdb-check:$18 = {17, 18, 19} + +// gdb-command:print 'simple-tuple::INTERNAL_PADDING_1' +// gdb-check:$19 = {110, 111} +// gdb-command:print 'simple-tuple::INTERNAL_PADDING_2' +// gdb-check:$20 = {112, 113, 114, 115} + +// gdb-command:print 'simple-tuple::PADDING_AT_END' +// gdb-check:$21 = {116, 117} + +#![allow(unused_variable)] +#![allow(dead_code)] + +static mut NO_PADDING_8: (i8, u8) = (-50, 50); +static mut NO_PADDING_16: (i16, i16, u16) = (-1, 2, 3); + +static mut NO_PADDING_32: (i32, f32, u32) = (4, 5.0, 6); +static mut NO_PADDING_64: (i64, f64, u64) = (7, 8.0, 9); + +static mut INTERNAL_PADDING_1: (i16, i32) = (10, 11); +static mut INTERNAL_PADDING_2: (i16, i32, u32, u64) = (12, 13, 14, 15); + +static mut PADDING_AT_END: (i32, i16) = (16, 17); + +fn main() { + let noPadding8: (i8, u8) = (-100, 100); + let noPadding16: (i16, i16, u16) = (0, 1, 2); + let noPadding32: (i32, f32, u32) = (3, 4.5, 5); + let noPadding64: (i64, f64, u64) = (6, 7.5, 8); + + let internalPadding1: (i16, i32) = (9, 10); + let internalPadding2: (i16, i32, u32, u64) = (11, 12, 13, 14); + + let paddingAtEnd: (i32, i16) = (15, 16); + + unsafe { + NO_PADDING_8 = (-127, 127); + NO_PADDING_16 = (-10, 10, 9); + + NO_PADDING_32 = (14, 15.0, 16); + NO_PADDING_64 = (17, 18.0, 19); + + INTERNAL_PADDING_1 = (110, 111); + INTERNAL_PADDING_2 = (112, 113, 114, 115); + + PADDING_AT_END = (116, 117); + } + + zzz(); +} + +fn zzz() {()} diff --git a/src/test/debug-info/static-method-on-struct-and-enum.rs b/src/test/debuginfo/static-method-on-struct-and-enum.rs similarity index 73% rename from src/test/debug-info/static-method-on-struct-and-enum.rs rename to src/test/debuginfo/static-method-on-struct-and-enum.rs index 68bc470e6b1b4..d7d962c07d6de 100644 --- a/src/test/debug-info/static-method-on-struct-and-enum.rs +++ b/src/test/debuginfo/static-method-on-struct-and-enum.rs @@ -11,26 +11,26 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run +// gdb-command:rbreak zzz +// gdb-command:run // STRUCT -// debugger:finish -// debugger:print arg1 -// check:$1 = 1 -// debugger:print arg2 -// check:$2 = 2 -// debugger:continue +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$1 = 1 +// gdb-command:print arg2 +// gdb-check:$2 = 2 +// gdb-command:continue // ENUM -// debugger:finish -// debugger:print arg1 -// check:$3 = -3 -// debugger:print arg2 -// check:$4 = 4.5 -// debugger:print arg3 -// check:$5 = 5 -// debugger:continue +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$3 = -3 +// gdb-command:print arg2 +// gdb-check:$4 = 4.5 +// gdb-command:print arg3 +// gdb-check:$5 = 5 +// gdb-command:continue #![feature(struct_variant)] diff --git a/src/test/debug-info/struct-in-enum.rs b/src/test/debuginfo/struct-in-enum.rs similarity index 80% rename from src/test/debug-info/struct-in-enum.rs rename to src/test/debuginfo/struct-in-enum.rs index 9b3931428bb7e..ee971d71cfcf1 100644 --- a/src/test/debug-info/struct-in-enum.rs +++ b/src/test/debuginfo/struct-in-enum.rs @@ -12,19 +12,19 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print union on -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print union on +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print case1 -// check:$1 = {{Case1, 0, {x = 2088533116, y = 2088533116, z = 31868}}, {Case1, 0, 8970181431921507452, 31868}} +// gdb-command:print case1 +// gdb-check:$1 = {{Case1, 0, {x = 2088533116, y = 2088533116, z = 31868}}, {Case1, 0, 8970181431921507452, 31868}} -// debugger:print case2 -// check:$2 = {{Case2, 0, {x = 286331153, y = 286331153, z = 4369}}, {Case2, 0, 1229782938247303441, 4369}} +// gdb-command:print case2 +// gdb-check:$2 = {{Case2, 0, {x = 286331153, y = 286331153, z = 4369}}, {Case2, 0, 1229782938247303441, 4369}} -// debugger:print univariant -// check:$3 = {{x = 123, y = 456, z = 789}} +// gdb-command:print univariant +// gdb-check:$3 = {{x = 123, y = 456, z = 789}} #![allow(unused_variable)] diff --git a/src/test/debug-info/struct-in-struct.rs b/src/test/debuginfo/struct-in-struct.rs similarity index 85% rename from src/test/debug-info/struct-in-struct.rs rename to src/test/debuginfo/struct-in-struct.rs index 182fb3d096544..e4c3f471880df 100644 --- a/src/test/debug-info/struct-in-struct.rs +++ b/src/test/debuginfo/struct-in-struct.rs @@ -11,19 +11,19 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print three_simple_structs -// check:$1 = {x = {x = 1}, y = {x = 2}, z = {x = 3}} +// gdb-command:print three_simple_structs +// gdb-check:$1 = {x = {x = 1}, y = {x = 2}, z = {x = 3}} -// debugger:print internal_padding_parent -// check:$2 = {x = {x = 4, y = 5}, y = {x = 6, y = 7}, z = {x = 8, y = 9}} +// gdb-command:print internal_padding_parent +// gdb-check:$2 = {x = {x = 4, y = 5}, y = {x = 6, y = 7}, z = {x = 8, y = 9}} -// debugger:print padding_at_end_parent -// check:$3 = {x = {x = 10, y = 11}, y = {x = 12, y = 13}, z = {x = 14, y = 15}} +// gdb-command:print padding_at_end_parent +// gdb-check:$3 = {x = {x = 10, y = 11}, y = {x = 12, y = 13}, z = {x = 14, y = 15}} #![allow(unused_variable)] diff --git a/src/test/debug-info/struct-style-enum.rs b/src/test/debuginfo/struct-style-enum.rs similarity index 74% rename from src/test/debug-info/struct-style-enum.rs rename to src/test/debuginfo/struct-style-enum.rs index cb68245a48e58..1a51db1a005bd 100644 --- a/src/test/debug-info/struct-style-enum.rs +++ b/src/test/debuginfo/struct-style-enum.rs @@ -12,22 +12,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print union on -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print union on +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print case1 -// check:$1 = {{Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {Case1, a = 0, b = 2088533116, c = 2088533116}, {Case1, a = 0, b = 8970181431921507452}} +// gdb-command:print case1 +// gdb-check:$1 = {{Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {Case1, a = 0, b = 2088533116, c = 2088533116}, {Case1, a = 0, b = 8970181431921507452}} -// debugger:print case2 -// check:$2 = {{Case2, a = 0, b = 4369, c = 4369, d = 4369, e = 4369}, {Case2, a = 0, b = 286331153, c = 286331153}, {Case2, a = 0, b = 1229782938247303441}} +// gdb-command:print case2 +// gdb-check:$2 = {{Case2, a = 0, b = 4369, c = 4369, d = 4369, e = 4369}, {Case2, a = 0, b = 286331153, c = 286331153}, {Case2, a = 0, b = 1229782938247303441}} -// debugger:print case3 -// check:$3 = {{Case3, a = 0, b = 22873, c = 22873, d = 22873, e = 22873}, {Case3, a = 0, b = 1499027801, c = 1499027801}, {Case3, a = 0, b = 6438275382588823897}} +// gdb-command:print case3 +// gdb-check:$3 = {{Case3, a = 0, b = 22873, c = 22873, d = 22873, e = 22873}, {Case3, a = 0, b = 1499027801, c = 1499027801}, {Case3, a = 0, b = 6438275382588823897}} -// debugger:print univariant -// check:$4 = {a = -1} +// gdb-command:print univariant +// gdb-check:$4 = {a = -1} #![allow(unused_variable)] #![feature(struct_variant)] diff --git a/src/test/debug-info/struct-with-destructor.rs b/src/test/debuginfo/struct-with-destructor.rs similarity index 89% rename from src/test/debug-info/struct-with-destructor.rs rename to src/test/debuginfo/struct-with-destructor.rs index ae439611c40fe..16fbfc49d08ed 100644 --- a/src/test/debug-info/struct-with-destructor.rs +++ b/src/test/debuginfo/struct-with-destructor.rs @@ -11,20 +11,20 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print simple -// check:$1 = {x = 10, y = 20} +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print simple +// gdb-check:$1 = {x = 10, y = 20} -// debugger:print noDestructor -// check:$2 = {a = {x = 10, y = 20}, guard = -1} +// gdb-command:print noDestructor +// gdb-check:$2 = {a = {x = 10, y = 20}, guard = -1} -// debugger:print withDestructor -// check:$3 = {a = {x = 10, y = 20}, guard = -1} +// gdb-command:print withDestructor +// gdb-check:$3 = {a = {x = 10, y = 20}, guard = -1} -// debugger:print nested -// check:$4 = {a = {a = {x = 7890, y = 9870}}} +// gdb-command:print nested +// gdb-check:$4 = {a = {a = {x = 7890, y = 9870}}} #![allow(unused_variable)] diff --git a/src/test/debug-info/text-to-include-1.txt b/src/test/debuginfo/text-to-include-1.txt similarity index 100% rename from src/test/debug-info/text-to-include-1.txt rename to src/test/debuginfo/text-to-include-1.txt diff --git a/src/test/debug-info/text-to-include-2.txt b/src/test/debuginfo/text-to-include-2.txt similarity index 100% rename from src/test/debug-info/text-to-include-2.txt rename to src/test/debuginfo/text-to-include-2.txt diff --git a/src/test/debug-info/text-to-include-3.txt b/src/test/debuginfo/text-to-include-3.txt similarity index 100% rename from src/test/debug-info/text-to-include-3.txt rename to src/test/debuginfo/text-to-include-3.txt diff --git a/src/test/debug-info/trait-generic-static-default-method.rs b/src/test/debuginfo/trait-generic-static-default-method.rs similarity index 73% rename from src/test/debug-info/trait-generic-static-default-method.rs rename to src/test/debuginfo/trait-generic-static-default-method.rs index 169c84ef28fd7..e91cd2f02d488 100644 --- a/src/test/debug-info/trait-generic-static-default-method.rs +++ b/src/test/debuginfo/trait-generic-static-default-method.rs @@ -11,22 +11,22 @@ // except according to those terms. // compile-flags:-g -// debugger:rbreak zzz -// debugger:run - -// debugger:finish -// debugger:print arg1 -// check:$1 = 1000 -// debugger:print arg2 -// check:$2 = 0.5 -// debugger:continue - -// debugger:finish -// debugger:print arg1 -// check:$3 = 2000 -// debugger:print *arg2 -// check:$4 = {1, 2, 3} -// debugger:continue +// gdb-command:rbreak zzz +// gdb-command:run + +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$1 = 1000 +// gdb-command:print arg2 +// gdb-check:$2 = 0.5 +// gdb-command:continue + +// gdb-command:finish +// gdb-command:print arg1 +// gdb-check:$3 = 2000 +// gdb-command:print *arg2 +// gdb-check:$4 = {1, 2, 3} +// gdb-command:continue struct Struct { diff --git a/src/test/debug-info/trait-pointers.rs b/src/test/debuginfo/trait-pointers.rs similarity index 98% rename from src/test/debug-info/trait-pointers.rs rename to src/test/debuginfo/trait-pointers.rs index fcb0f6082a361..e58ed4cea29a7 100644 --- a/src/test/debug-info/trait-pointers.rs +++ b/src/test/debuginfo/trait-pointers.rs @@ -11,7 +11,7 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:run +// gdb-command:run #![allow(unused_variable)] diff --git a/src/test/debug-info/tuple-in-struct.rs b/src/test/debuginfo/tuple-in-struct.rs similarity index 70% rename from src/test/debug-info/tuple-in-struct.rs rename to src/test/debuginfo/tuple-in-struct.rs index 242f59ad4de66..b38d3547f8c20 100644 --- a/src/test/debug-info/tuple-in-struct.rs +++ b/src/test/debuginfo/tuple-in-struct.rs @@ -11,35 +11,35 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print no_padding1 -// check:$1 = {x = {0, 1}, y = 2, z = {3, 4, 5}} -// debugger:print no_padding2 -// check:$2 = {x = {6, 7}, y = {{8, 9}, 10}} - -// debugger:print tuple_internal_padding -// check:$3 = {x = {11, 12}, y = {13, 14}} -// debugger:print struct_internal_padding -// check:$4 = {x = {15, 16}, y = {17, 18}} -// debugger:print both_internally_padded -// check:$5 = {x = {19, 20, 21}, y = {22, 23}} - -// debugger:print single_tuple -// check:$6 = {x = {24, 25, 26}} - -// debugger:print tuple_padded_at_end -// check:$7 = {x = {27, 28}, y = {29, 30}} -// debugger:print struct_padded_at_end -// check:$8 = {x = {31, 32}, y = {33, 34}} -// debugger:print both_padded_at_end -// check:$9 = {x = {35, 36, 37}, y = {38, 39}} - -// debugger:print mixed_padding -// check:$10 = {x = {{40, 41, 42}, {43, 44}}, y = {45, 46, 47, 48}} +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print no_padding1 +// gdb-check:$1 = {x = {0, 1}, y = 2, z = {3, 4, 5}} +// gdb-command:print no_padding2 +// gdb-check:$2 = {x = {6, 7}, y = {{8, 9}, 10}} + +// gdb-command:print tuple_internal_padding +// gdb-check:$3 = {x = {11, 12}, y = {13, 14}} +// gdb-command:print struct_internal_padding +// gdb-check:$4 = {x = {15, 16}, y = {17, 18}} +// gdb-command:print both_internally_padded +// gdb-check:$5 = {x = {19, 20, 21}, y = {22, 23}} + +// gdb-command:print single_tuple +// gdb-check:$6 = {x = {24, 25, 26}} + +// gdb-command:print tuple_padded_at_end +// gdb-check:$7 = {x = {27, 28}, y = {29, 30}} +// gdb-command:print struct_padded_at_end +// gdb-check:$8 = {x = {31, 32}, y = {33, 34}} +// gdb-command:print both_padded_at_end +// gdb-check:$9 = {x = {35, 36, 37}, y = {38, 39}} + +// gdb-command:print mixed_padding +// gdb-check:$10 = {x = {{40, 41, 42}, {43, 44}}, y = {45, 46, 47, 48}} #![allow(unused_variable)] diff --git a/src/test/debug-info/tuple-in-tuple.rs b/src/test/debuginfo/tuple-in-tuple.rs similarity index 63% rename from src/test/debug-info/tuple-in-tuple.rs rename to src/test/debuginfo/tuple-in-tuple.rs index 1008af246a0a4..3cc8b4e6486d6 100644 --- a/src/test/debug-info/tuple-in-tuple.rs +++ b/src/test/debuginfo/tuple-in-tuple.rs @@ -11,27 +11,27 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print no_padding1 -// check:$1 = {{0, 1}, 2, 3} -// debugger:print no_padding2 -// check:$2 = {4, {5, 6}, 7} -// debugger:print no_padding3 -// check:$3 = {8, 9, {10, 11}} - -// debugger:print internal_padding1 -// check:$4 = {12, {13, 14}} -// debugger:print internal_padding2 -// check:$5 = {15, {16, 17}} - -// debugger:print padding_at_end1 -// check:$6 = {18, {19, 20}} -// debugger:print padding_at_end2 -// check:$7 = {{21, 22}, 23} +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print no_padding1 +// gdb-check:$1 = {{0, 1}, 2, 3} +// gdb-command:print no_padding2 +// gdb-check:$2 = {4, {5, 6}, 7} +// gdb-command:print no_padding3 +// gdb-check:$3 = {8, 9, {10, 11}} + +// gdb-command:print internal_padding1 +// gdb-check:$4 = {12, {13, 14}} +// gdb-command:print internal_padding2 +// gdb-check:$5 = {15, {16, 17}} + +// gdb-command:print padding_at_end1 +// gdb-check:$6 = {18, {19, 20}} +// gdb-command:print padding_at_end2 +// gdb-check:$7 = {{21, 22}, 23} #![allow(unused_variable)] diff --git a/src/test/debug-info/tuple-struct.rs b/src/test/debuginfo/tuple-struct.rs similarity index 70% rename from src/test/debug-info/tuple-struct.rs rename to src/test/debuginfo/tuple-struct.rs index eae0d0be6087c..cea063820b867 100644 --- a/src/test/debug-info/tuple-struct.rs +++ b/src/test/debuginfo/tuple-struct.rs @@ -11,28 +11,28 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print no_padding16 -// check:$1 = {10000, -10001} +// gdb-command:print no_padding16 +// gdb-check:$1 = {10000, -10001} -// debugger:print no_padding32 -// check:$2 = {-10002, -10003.5, 10004} +// gdb-command:print no_padding32 +// gdb-check:$2 = {-10002, -10003.5, 10004} -// debugger:print no_padding64 -// check:$3 = {-10005.5, 10006, 10007} +// gdb-command:print no_padding64 +// gdb-check:$3 = {-10005.5, 10006, 10007} -// debugger:print no_padding163264 -// check:$4 = {-10008, 10009, 10010, 10011} +// gdb-command:print no_padding163264 +// gdb-check:$4 = {-10008, 10009, 10010, 10011} -// debugger:print internal_padding -// check:$5 = {10012, -10013} +// gdb-command:print internal_padding +// gdb-check:$5 = {10012, -10013} -// debugger:print padding_at_end -// check:$6 = {-10014, 10015} +// gdb-command:print padding_at_end +// gdb-check:$6 = {-10014, 10015} // This test case mainly makes sure that no field names are generated for tuple structs (as opposed diff --git a/src/test/debug-info/tuple-style-enum.rs b/src/test/debuginfo/tuple-style-enum.rs similarity index 77% rename from src/test/debug-info/tuple-style-enum.rs rename to src/test/debuginfo/tuple-style-enum.rs index 176e4b0a69f1b..dc922b450051e 100644 --- a/src/test/debug-info/tuple-style-enum.rs +++ b/src/test/debuginfo/tuple-style-enum.rs @@ -12,22 +12,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print union on -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:set print union on +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print case1 -// check:$1 = {{Case1, 0, 31868, 31868, 31868, 31868}, {Case1, 0, 2088533116, 2088533116}, {Case1, 0, 8970181431921507452}} +// gdb-command:print case1 +// gdb-check:$1 = {{Case1, 0, 31868, 31868, 31868, 31868}, {Case1, 0, 2088533116, 2088533116}, {Case1, 0, 8970181431921507452}} -// debugger:print case2 -// check:$2 = {{Case2, 0, 4369, 4369, 4369, 4369}, {Case2, 0, 286331153, 286331153}, {Case2, 0, 1229782938247303441}} +// gdb-command:print case2 +// gdb-check:$2 = {{Case2, 0, 4369, 4369, 4369, 4369}, {Case2, 0, 286331153, 286331153}, {Case2, 0, 1229782938247303441}} -// debugger:print case3 -// check:$3 = {{Case3, 0, 22873, 22873, 22873, 22873}, {Case3, 0, 1499027801, 1499027801}, {Case3, 0, 6438275382588823897}} +// gdb-command:print case3 +// gdb-check:$3 = {{Case3, 0, 22873, 22873, 22873, 22873}, {Case3, 0, 1499027801, 1499027801}, {Case3, 0, 6438275382588823897}} -// debugger:print univariant -// check:$4 = {-1} +// gdb-command:print univariant +// gdb-check:$4 = {-1} #![allow(unused_variable)] diff --git a/src/test/debug-info/unique-enum.rs b/src/test/debuginfo/unique-enum.rs similarity index 83% rename from src/test/debug-info/unique-enum.rs rename to src/test/debuginfo/unique-enum.rs index 45f0213bf8c1a..f85ec6a8da3a2 100644 --- a/src/test/debug-info/unique-enum.rs +++ b/src/test/debuginfo/unique-enum.rs @@ -11,18 +11,18 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print *the_a -// check:$1 = {{TheA, x = 0, y = 8970181431921507452}, {TheA, 0, 2088533116, 2088533116}} +// gdb-command:print *the_a +// gdb-check:$1 = {{TheA, x = 0, y = 8970181431921507452}, {TheA, 0, 2088533116, 2088533116}} -// debugger:print *the_b -// check:$2 = {{TheB, x = 0, y = 1229782938247303441}, {TheB, 0, 286331153, 286331153}} +// gdb-command:print *the_b +// gdb-check:$2 = {{TheB, x = 0, y = 1229782938247303441}, {TheB, 0, 286331153, 286331153}} -// debugger:print *univariant -// check:$3 = {123234} +// gdb-command:print *univariant +// gdb-check:$3 = {123234} #![allow(unused_variable)] #![feature(struct_variant)] diff --git a/src/test/debug-info/var-captured-in-nested-closure.rs b/src/test/debuginfo/var-captured-in-nested-closure.rs similarity index 54% rename from src/test/debug-info/var-captured-in-nested-closure.rs rename to src/test/debuginfo/var-captured-in-nested-closure.rs index 7677c9e923565..787c1cdea800e 100644 --- a/src/test/debug-info/var-captured-in-nested-closure.rs +++ b/src/test/debuginfo/var-captured-in-nested-closure.rs @@ -11,42 +11,42 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish -// debugger:print variable -// check:$1 = 1 -// debugger:print constant -// check:$2 = 2 -// debugger:print a_struct -// check:$3 = {a = -3, b = 4.5, c = 5} -// debugger:print *struct_ref -// check:$4 = {a = -3, b = 4.5, c = 5} -// debugger:print *owned -// check:$5 = 6 -// debugger:print managed->val -// check:$6 = 7 -// debugger:print closure_local -// check:$7 = 8 -// debugger:continue +// gdb-command:print variable +// gdb-check:$1 = 1 +// gdb-command:print constant +// gdb-check:$2 = 2 +// gdb-command:print a_struct +// gdb-check:$3 = {a = -3, b = 4.5, c = 5} +// gdb-command:print *struct_ref +// gdb-check:$4 = {a = -3, b = 4.5, c = 5} +// gdb-command:print *owned +// gdb-check:$5 = 6 +// gdb-command:print managed->val +// gdb-check:$6 = 7 +// gdb-command:print closure_local +// gdb-check:$7 = 8 +// gdb-command:continue -// debugger:finish -// debugger:print variable -// check:$8 = 1 -// debugger:print constant -// check:$9 = 2 -// debugger:print a_struct -// check:$10 = {a = -3, b = 4.5, c = 5} -// debugger:print *struct_ref -// check:$11 = {a = -3, b = 4.5, c = 5} -// debugger:print *owned -// check:$12 = 6 -// debugger:print managed->val -// check:$13 = 7 -// debugger:print closure_local -// check:$14 = 8 -// debugger:continue +// gdb-command:finish +// gdb-command:print variable +// gdb-check:$8 = 1 +// gdb-command:print constant +// gdb-check:$9 = 2 +// gdb-command:print a_struct +// gdb-check:$10 = {a = -3, b = 4.5, c = 5} +// gdb-command:print *struct_ref +// gdb-check:$11 = {a = -3, b = 4.5, c = 5} +// gdb-command:print *owned +// gdb-check:$12 = 6 +// gdb-command:print managed->val +// gdb-check:$13 = 7 +// gdb-command:print closure_local +// gdb-check:$14 = 8 +// gdb-command:continue #![feature(managed_boxes)] #![allow(unused_variable)] diff --git a/src/test/debug-info/var-captured-in-sendable-closure.rs b/src/test/debuginfo/var-captured-in-sendable-closure.rs similarity index 79% rename from src/test/debug-info/var-captured-in-sendable-closure.rs rename to src/test/debuginfo/var-captured-in-sendable-closure.rs index 4316e503a5140..03525a3a034dc 100644 --- a/src/test/debug-info/var-captured-in-sendable-closure.rs +++ b/src/test/debuginfo/var-captured-in-sendable-closure.rs @@ -11,16 +11,16 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print constant -// check:$1 = 1 -// debugger:print a_struct -// check:$2 = {a = -2, b = 3.5, c = 4} -// debugger:print *owned -// check:$3 = 5 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print constant +// gdb-check:$1 = 1 +// gdb-command:print a_struct +// gdb-check:$2 = {a = -2, b = 3.5, c = 4} +// gdb-command:print *owned +// gdb-check:$3 = 5 #![allow(unused_variable)] diff --git a/src/test/debug-info/var-captured-in-stack-closure.rs b/src/test/debuginfo/var-captured-in-stack-closure.rs similarity index 70% rename from src/test/debug-info/var-captured-in-stack-closure.rs rename to src/test/debuginfo/var-captured-in-stack-closure.rs index 57dcabe90b689..fc8093304db14 100644 --- a/src/test/debug-info/var-captured-in-stack-closure.rs +++ b/src/test/debuginfo/var-captured-in-stack-closure.rs @@ -11,22 +11,22 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:rbreak zzz -// debugger:run -// debugger:finish - -// debugger:print variable -// check:$1 = 1 -// debugger:print constant -// check:$2 = 2 -// debugger:print a_struct -// check:$3 = {a = -3, b = 4.5, c = 5} -// debugger:print *struct_ref -// check:$4 = {a = -3, b = 4.5, c = 5} -// debugger:print *owned -// check:$5 = 6 -// debugger:print managed->val -// check:$6 = 7 +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish + +// gdb-command:print variable +// gdb-check:$1 = 1 +// gdb-command:print constant +// gdb-check:$2 = 2 +// gdb-command:print a_struct +// gdb-check:$3 = {a = -3, b = 4.5, c = 5} +// gdb-command:print *struct_ref +// gdb-check:$4 = {a = -3, b = 4.5, c = 5} +// gdb-command:print *owned +// gdb-check:$5 = 6 +// gdb-command:print managed->val +// gdb-check:$6 = 7 #![feature(managed_boxes)] #![allow(unused_variable)] diff --git a/src/test/debuginfo/vec-slices.rs b/src/test/debuginfo/vec-slices.rs new file mode 100644 index 0000000000000..783b198395339 --- /dev/null +++ b/src/test/debuginfo/vec-slices.rs @@ -0,0 +1,87 @@ +// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-win32: FIXME #13256 +// ignore-android: FIXME(#10381) + +// compile-flags:-g +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print empty.length +// gdb-check:$1 = 0 + +// gdb-command:print singleton.length +// gdb-check:$2 = 1 +// gdb-command:print *((int64_t[1]*)(singleton.data_ptr)) +// gdb-check:$3 = {1} + +// gdb-command:print multiple.length +// gdb-check:$4 = 4 +// gdb-command:print *((int64_t[4]*)(multiple.data_ptr)) +// gdb-check:$5 = {2, 3, 4, 5} + +// gdb-command:print slice_of_slice.length +// gdb-check:$6 = 2 +// gdb-command:print *((int64_t[2]*)(slice_of_slice.data_ptr)) +// gdb-check:$7 = {3, 4} + +// gdb-command:print padded_tuple.length +// gdb-check:$8 = 2 +// gdb-command:print padded_tuple.data_ptr[0] +// gdb-check:$9 = {6, 7} +// gdb-command:print padded_tuple.data_ptr[1] +// gdb-check:$10 = {8, 9} + +// gdb-command:print padded_struct.length +// gdb-check:$11 = 2 +// gdb-command:print padded_struct.data_ptr[0] +// gdb-check:$12 = {x = 10, y = 11, z = 12} +// gdb-command:print padded_struct.data_ptr[1] +// gdb-check:$13 = {x = 13, y = 14, z = 15} + +// gdb-command:print 'vec-slices::MUT_VECT_SLICE'.length +// gdb-check:$14 = 2 +// gdb-command:print *((int64_t[2]*)('vec-slices::MUT_VECT_SLICE'.data_ptr)) +// gdb-check:$15 = {64, 65} + +#![allow(unused_variable)] + +struct AStruct { + x: i16, + y: i32, + z: i16 +} + +static VECT_SLICE: &'static [i64] = &[64, 65]; +static mut MUT_VECT_SLICE: &'static [i64] = &[32]; + +fn main() { + let empty: &[i64] = &[]; + let singleton: &[i64] = &[1]; + let multiple: &[i64] = &[2, 3, 4, 5]; + let slice_of_slice = multiple.slice(1,3); + + let padded_tuple: &[(i32, i16)] = &[(6, 7), (8, 9)]; + + let padded_struct: &[AStruct] = &[ + AStruct { x: 10, y: 11, z: 12 }, + AStruct { x: 13, y: 14, z: 15 } + ]; + + unsafe { + MUT_VECT_SLICE = VECT_SLICE; + } + + zzz(); +} + +fn zzz() {()} diff --git a/src/test/debug-info/vec.rs b/src/test/debuginfo/vec.rs similarity index 78% rename from src/test/debug-info/vec.rs rename to src/test/debuginfo/vec.rs index e1ee1ae021208..11f317469a27c 100644 --- a/src/test/debug-info/vec.rs +++ b/src/test/debuginfo/vec.rs @@ -12,14 +12,14 @@ // ignore-android: FIXME(#10381) // compile-flags:-g -// debugger:set print pretty off -// debugger:rbreak zzz -// debugger:run -// debugger:finish -// debugger:print a -// check:$1 = {1, 2, 3} -// debugger:print vec::VECT -// check:$2 = {4, 5, 6} +// gdb-command:set print pretty off +// gdb-command:rbreak zzz +// gdb-command:run +// gdb-command:finish +// gdb-command:print a +// gdb-check:$1 = {1, 2, 3} +// gdb-command:print vec::VECT +// gdb-check:$2 = {4, 5, 6} #![allow(unused_variable)]