auto merge of #9097 : michaelwoerister/rust/namespaces, r=jdm
Who would have thought that namespaces are such a can of worms `:P` This is mostly because of some GDB idiosyncrasies (does not use namespace information but linkage-name attributes for displaying items contained in namespaces, also cannot handle functions lexically nested within functions), monomorphization, and information about external items only available from metadata. This pull request tries to tackle the problem anyway: * The `DW_AT_linkage_name` for functions is generated just to make GDB display a proper namespace-enabled function name. To this end, a pseudo-mangled name is generated, not corresponding to the real linkage name. This approach shows some success and could be extended to make GDB also show proper parameter types. * As GDB won't accept subprogram DIEs nested within other subprogram DIEs, the `debuginfo` module now generates a *companion namespace* for each functions (iff needed). A function `fn abc()` will get a companion namespace with name `abc()`, which contains all items (modules, types, functions) declared within the functions scope. The real, proper solution, in my opinion, would be to faithfully reflect the program's lexical structure within DWARF (which allows arbitrary nesting of DIEs, afaik), but I am not sure LLVM's source level debugging implementation would like that and I am pretty sure GDB won't support this in the foreseeable future. * Monomorphization leads to functions and companion namespaces like `somelib::some_func<int, float>()::some_other_function<bool, bool, bool>()`, which I think is the desired behaviour. There is some design space here, however. Maybe you people prefer `somelib::some_func()::some_other_function<bool, bool, bool>()` or `somelib::some_func()::some_other_function::<int, float, bool, bool, bool>()`. The solution will work for now but there are a few things on my 'far future wish list': * A real specification somewhere, what language constructs are mapped to what DWARF structures. * Proper tests that directly compare the generated DWARF information to the expected results (possibly using something like [pyelftools](https://github.com/eliben/pyelftools) or llvm-dwarfdump) * A unified implementation for crate-local and crate-external items (which would possibly involve beefing up `ast_map::path` and metadata a bit) Any comments are welcome! Closes #1541 Closes #1542 (there might be other issues with function name prettiness, but this specific issue should be fixed) Closes #7715 (source locations for structs and enums are now read correctly from the AST)
This commit is contained in:
commit
67ed30cd5e
@ -2109,6 +2109,14 @@ pub mod llvm {
|
||||
ArgNo: c_uint)
|
||||
-> ValueRef;
|
||||
|
||||
#[fast_ffi]
|
||||
pub fn LLVMDIBuilderCreateNameSpace(Builder: DIBuilderRef,
|
||||
Scope: ValueRef,
|
||||
Name: *c_char,
|
||||
File: ValueRef,
|
||||
LineNo: c_uint)
|
||||
-> ValueRef;
|
||||
|
||||
#[fast_ffi]
|
||||
pub fn LLVMIsAArgument(value_ref: ValueRef) -> ValueRef;
|
||||
|
||||
|
@ -3021,6 +3021,10 @@ pub fn trans_crate(sess: session::Session,
|
||||
link_meta,
|
||||
analysis.reachable);
|
||||
|
||||
if ccx.sess.opts.debuginfo {
|
||||
debuginfo::initialize(ccx, crate);
|
||||
}
|
||||
|
||||
{
|
||||
let _icx = push_ctxt("text");
|
||||
trans_mod(ccx, &crate.module);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -727,9 +727,9 @@ extern "C" LLVMValueRef LLVMDIBuilderCreateTemplateTypeParameter(
|
||||
LLVMValueRef Scope,
|
||||
const char* Name,
|
||||
LLVMValueRef Ty,
|
||||
LLVMValueRef File = 0,
|
||||
unsigned LineNo = 0,
|
||||
unsigned ColumnNo = 0)
|
||||
LLVMValueRef File,
|
||||
unsigned LineNo,
|
||||
unsigned ColumnNo)
|
||||
{
|
||||
return wrap(Builder->createTemplateTypeParameter(
|
||||
unwrapDI<DIDescriptor>(Scope),
|
||||
@ -775,3 +775,17 @@ extern "C" LLVMValueRef LLVMDIBuilderCreateComplexVariable(
|
||||
ArgNo
|
||||
));
|
||||
}
|
||||
|
||||
extern "C" LLVMValueRef LLVMDIBuilderCreateNameSpace(
|
||||
DIBuilderRef Builder,
|
||||
LLVMValueRef Scope,
|
||||
const char* Name,
|
||||
LLVMValueRef File,
|
||||
unsigned LineNo)
|
||||
{
|
||||
return wrap(Builder->createNameSpace(
|
||||
unwrapDI<DIDescriptor>(Scope),
|
||||
Name,
|
||||
unwrapDI<DIFile>(File),
|
||||
LineNo));
|
||||
}
|
||||
|
@ -611,6 +611,7 @@ LLVMDIBuilderCreateTemplateTypeParameter
|
||||
LLVMDIBuilderCreateOpDeref
|
||||
LLVMDIBuilderCreateOpPlus
|
||||
LLVMDIBuilderCreateComplexVariable
|
||||
LLVMDIBuilderCreateNameSpace
|
||||
LLVMSetUnnamedAddr
|
||||
LLVMRustAddPass
|
||||
LLVMRustAddAnalysisPasses
|
||||
|
@ -15,7 +15,7 @@
|
||||
// its numerical value.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break _zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print b
|
||||
|
@ -12,7 +12,7 @@
|
||||
// its numerical value.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print *bool_ref
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
// its numerical value.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print *bool_ref
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
// its numerical value.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print *bool_ref
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break _zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print *a
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
@ -43,4 +43,4 @@ fn fun(x: int, y: bool) -> (int, bool) {
|
||||
(x, y)
|
||||
}
|
||||
|
||||
fn zzz() {()}
|
||||
fn zzz() {()}
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STRUCT
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print union on
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -11,7 +11,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print union on
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
// xfail-win32
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// FIRST ITERATION
|
||||
|
@ -11,7 +11,7 @@
|
||||
// xfail-win32
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// BEFORE if
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -11,7 +11,7 @@
|
||||
// xfail-win32
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// FIRST ITERATION
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// FIRST ITERATION
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -11,7 +11,7 @@
|
||||
// xfail-win32
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STRUCT EXPRESSION
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STACK BY REF
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// STRUCT
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print union on
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print union on
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print simple
|
||||
|
@ -11,7 +11,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
|
||||
// debugger:finish
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print union on
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print empty.size_in_bytes
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
// compile-flags:-Z extra-debug-info
|
||||
// debugger:set print pretty off
|
||||
// debugger:break zzz
|
||||
// debugger:rbreak zzz
|
||||
// debugger:run
|
||||
// debugger:finish
|
||||
// debugger:print a
|
||||
|
Loading…
x
Reference in New Issue
Block a user