[lldb-dev] [Bug 17941] lldb prefers class member to function argument when evaluating expression

2019-08-01 Thread via lldb-dev
https://bugs.llvm.org/show_bug.cgi?id=17941

Christophe de Dinechin  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |---

--- Comment #2 from Christophe de Dinechin  ---
(In reply to Jonas Devlieghere from comment #1)
> The XLR language doesn't seem maintained anymore. I can't even find the
> source code. Closing this as insufficient information.

Gitorious may have disappeared, but XL still exists and is actively being
refactored. There is one source repository here: https://github.com/c3d/xl
(last commit on master was two weeks ago, but that's mostly because I spent
these two weeks on vacation ;-). There is a copy on https://gitlab.com/c3d/xl
in case it takes another 5 years to look at this bug and github is gone by then
;-)

The be2f08174 still exists in the tree. Problem is that it requires
llvm-config-2.9, which is a bit hard to find these days.

The current code has changed sufficiently that it's almost hopeless to
reproduce a procedure that worked 5 years ago. I tried to reproduce on current
'master' by injecting a class member that has the same name as a local
parameter, see
https://github.com/c3d/xl/commit/65eb5a68ee763553f788bda98c2fadecf23b,
putting the breakpoint on CompilerUnit::Global this time (it's a very simple
function).

The results would tend to indicate that the bug has been fixed. In opt builds,
LLDB can't find the variable, but it does not show the member either.

Results with current LLDB:

- Opt build:

frame #4: 0x0001000f994e libxl.0.dylib`XL::CompilerUnit::Compile()
[inlined] XL::CompilerUnit::Global(this=, tree=,
value=) at compiler-unit.cpp:217 [opt]
   214  //Record the global value associated to a tree
   215  //

   216  {
-> 217  globals[tree] = value;
   218  }
   219  
   220  
(lldb) p value
error: Couldn't materialize: couldn't get the value of variable value: variable
not available
error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression

(This is probably the original case where the local variable had been
eliminated from debug records, and the member was shown instead)


- Debug build: seems to work

There is a running process, kill it and restart?: [Y/n] y
Process 47165 exited with status = 9 (0x0009) 
Process 47187 launched: '/Users/ddd/Work/Xcode/xl/xl/xl' (x86_64)
Process 47187 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 3.1
frame #0: 0x000100129eb8
libxl.0.dylib`XL::CompilerUnit::Global(this=0x7ffeefbfeb88,
tree=0x00010354ec58, value=0x000103027708) at compiler-unit.cpp:217:21
   214  //Record the global value associated to a tree
   215  //

   216  {
-> 217  globals[tree] = value;
   218  }
   219  
   220  
Target 0: (xl) stopped.
(lldb) p value
(XL::Value_p) $0 = 0x000103027708

So I guess after reviewing this, you can close the bug again. Just reopening in
case you want to look at the original source code.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
lldb-dev mailing list
lldb-dev@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


[lldb-dev] [Bug 42724] lldb fails to build on windows with RegisterContextWindows_x64.cpp(297): error C2039: 'Rax': is not a member of '_CONTEXT'

2019-08-01 Thread via lldb-dev
https://bugs.llvm.org/show_bug.cgi?id=42724

Hans Wennborg  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Hans Wennborg  ---
(In reply to labath from comment #10)
> Hans, I am not sure if you were following along, but I believe r367414 is
> supposed to have fixed this problem.

Seems to be working. Thanks everyone!

I've merged it to release_90 in r367523.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
lldb-dev mailing list
lldb-dev@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


[lldb-dev] [Bug 17941] lldb prefers class member to function argument when evaluating expression

2019-08-01 Thread via lldb-dev
https://bugs.llvm.org/show_bug.cgi?id=17941

Jonas Devlieghere  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Jonas Devlieghere  ---
(In reply to Christophe de Dinechin from comment #2)
> (In reply to Jonas Devlieghere from comment #1)
> > The XLR language doesn't seem maintained anymore. I can't even find the
> > source code. Closing this as insufficient information.
> 
> Gitorious may have disappeared, but XL still exists and is actively being
> refactored. There is one source repository here: https://github.com/c3d/xl
> (last commit on master was two weeks ago, but that's mostly because I spent
> these two weeks on vacation ;-). There is a copy on
> https://gitlab.com/c3d/xl in case it takes another 5 years to look at this
> bug and github is gone by then ;-)

Thanks for the link, Christophe. I did have a look at the website
(http://xlr.sourceforge.net) but couldn't find a link to the source code. I
thought it wasn't maintained anymore because the last post was from 2012.

> So I guess after reviewing this, you can close the bug again. Just reopening 
> in case > you want to look at the original source code.

Thank you for checking! That indeeds looks like it behaves correctly.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
lldb-dev mailing list
lldb-dev@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


[lldb-dev] [Bug 17494] False error err_ref_non_value when variable id spelling matches struct tag spelling

2019-08-01 Thread via lldb-dev
https://bugs.llvm.org/show_bug.cgi?id=17494

Jonas Devlieghere  changed:

   What|Removed |Added

 CC||jdevliegh...@apple.com
 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Jonas Devlieghere  ---
(lldb) target create "/tmp/test.o"
b f
Current executable set to '/tmp/test.o' (x86_64).
(lldb) b f
Breakpoint 1: where = test.o`f + 8 at test.c:9:29, address = 0x00010f48
(lldb) r
Process 34843 launched: '/tmp/test.o' (x86_64)
Process 34843 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x00010f48 test.o`f(a=0x7ffeefbff658) at test.c:9:29
   6
   7void dump_a(struct a *a) { printf("a::m: %d\n", a->m); }
   8
-> 9int f(struct a *a) { return a->m; }
   10
   11   int main() {
   12 struct a x = {42};
(lldb) p dump_a(a)
a::m: 42

-- 
You are receiving this mail because:
You are the assignee for the bug.___
lldb-dev mailing list
lldb-dev@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


[lldb-dev] [Bug 21662] LLDB's name lookup is completely wrong for C++

2019-08-01 Thread via lldb-dev
https://bugs.llvm.org/show_bug.cgi?id=21662

Jonas Devlieghere  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jdevliegh...@apple.com
 Resolution|--- |WORKSFORME

--- Comment #1 from Jonas Devlieghere  ---
Both issues appear to have been fixed.

(lldb) target create "/tmp/a.out"
Current executable set to '/tmp/a.out' (x86_64).
(lldb) b f
Breakpoint 1: where = a.out`f(int, int) + 10 at main.cpp:5:12, address =
0x00010f8a
(lldb) r
Process 48254 launched: '/tmp/a.out' (x86_64)
Process 48254 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x00010f8a a.out`f(N=1, M=2) at main.cpp:5:12
   2namespace M { volatile int x; }
   3
   4void f(int N, int M) {
-> 5  ::N::x = N;
   6  ::M::x = M;
   7}
   8
(lldb) p N
(int) $0 = 1
(lldb) p M
(int) $1 = 2
(lldb) p ::N::x
(volatile int) $2 = 0
(lldb) p ::N
error: reference to 'N' is ambiguous

...

(lldb) target create "/tmp/a.out"
Current executable set to '/tmp/a.out' (x86_64).
(lldb) b f
Breakpoint 1: where = a.out`N::S1::f(N::S2&) + 12 at main.cpp:16:18, address =
0x00010f6c
(lldb) r
Process 60495 launched: '/tmp/a.out' (x86_64)
Process 60495 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x00010f6c a.out`N::S1::f(this=0x7ffeefbff658,
M1=0x7ffeefbff650) at main.cpp:16:18
   13   using namespace N;
   14
   15   void S1::f(S2 &M1) {
-> 16 N::M1::M2::x = M1.x;
   17   }
   18
   19   int main() {
(lldb) p M1
(N::S2) $0 = (x = 42)

-- 
You are receiving this mail because:
You are the assignee for the bug.___
lldb-dev mailing list
lldb-dev@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev