Michael137 wrote:

Hmmm it seems like for `constexpr static` data members we don't get a symbol in 
the MachO the same way we do for out-of-line `const static`s that have a 
location:
```
struct Foo {                       
    static const int val1;         
    static constexpr int val2 = 5; 
};                                 
                                   
const int Foo::val1 = 10;          

$ nm a.out                            
0000000100003fa4 S __ZN3Foo4val1E     
0000000100000000 T __mh_execute_header
0000000100003f90 T _main            
```

LLDB can fish out the value out of `val1` by doing a `FindSymbol` on the 
mangled name. But that doesn't work with `val2` because it's not in the symbol 
table. @clayborg or @jasonmolenda probably know more about this.

Seems to me like if we want to drop the constant off of the declaration 
entirely, we need to lookup the variable definition in the accelerator table in 
DWARFASTParserClang when we're constructing the VarDecls.

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

Reply via email to