jimingham wrote:

For C in particular we have a "half-way between" mode where we allowed some 
keywords (like `class`) even though  we still used C++ reference semantics.  So 
for instance:

```
(lldb) run
Process 79429 launched: '/tmp/foo' (arm64)
Process 79429 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000100000480 foo`main at foo.c:7
   4    main()
   5    {
   6      int class = 100;
-> 7      printf("class is: %d.\n", class);
                                    ^
   8      return 0;
   9    }
Target 0: (foo) stopped.
(lldb) expr -l C -- class = 110
(int) $0 = 110
(lldb) n
class is: 110.
Process 79429 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = step over
    frame #0: 0x000000010000049c foo`main at foo.c:8
   5    {
   6      int class = 100;
   7      printf("class is: %d.\n", class);
-> 8      return 0;
          ^
   9    }
Target 0: (foo) stopped.
(lldb) expr -l c++ -- class = 120
                      ^
                      error: declaration of anonymous class must be a definition
                      warning: declaration does not declare anything

```

That seems useful, does patch break that feature?

https://github.com/llvm/llvm-project/pull/156648
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to