<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/128271>128271</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            LLDB uses a wrong object to evaluate an expression
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lldb
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          igorkudrin
      </td>
    </tr>
</table>

<pre>
    When evaluating an expression, LLDB can find an object which does not belong to the current context. Here is a reproducer:
```
> cat test.cpp
class Test
{
    static const int a[];
};
const int Test::a[] = {1};

int a(int val) { return val; }

int main (int argc, char const *argv[])
{
    return a(2); // break here
}
> clang -g test.cpp -o test
> lldb
(lldb) file test
(lldb) br set -p "// break here"
Breakpoint 1: where = test`main + 22 at test.cpp:11:12, address = 0x0000000000001156
(lldb) run
Process 70063 launched: '/tmp/test' (x86_64)
Process 70063 stopped
* thread #1, name = 'test', stop reason = breakpoint 1.1
    frame #0: 0x0000555555555156 test`main(argc=1, argv=0x00007fffffffdf08) at test.cpp:11:12
   8
   9    int main (int argc, char const *argv[])
   10   {
-> 11       return a(2); // break here
   12   }
(lldb) expr -- a(1)
                ˄
                ╰─ error: called object type 'const int[1]' is not a function or function pointer
```
Expected result: the function `a()` must be called; `a[]` should not be visible in this context without explicitly adding `Test::`.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVU2P4zYM_TXKhUgg0fFHDj44mwl62EMPBXosZEuJ1VUkQ5IzM_--oOzJTNo9FCsMxopJPpJP9JOM0Vyd1i0rj6w8beScRh9ac_Xhx6yCcZveq_f2z1E70HdpZ5mMu4J0oN-moGM03jH8Bt-_n44wSAcX4xSZff-3HhK8jmYYQXkdwfkEvbbeXSF5SKOGYQ5BuwSDd0m_pR38poMGE0FC0FPwah50YEXHeMcqvv7xjhUvMMgESce0G6aJ8W6wMkb4Q8dE9vrIeAcAEJNMZiD8mMC4BHJpkxXH7LduPu0ZoehY0a2ewIoTsPooHs6MdwsSNvS8S8vwQC4QdJqDy2-KI1DAw_smjYM1QobrQJQNowxraQw7Ga73tTg8PDWxwlJCJBth45nhGfqg5Q8YddBrNys3VrorbK8PgmDr8361W6t62mKTd3iAi7H64fH5ug8QdYLtBAzxvzkRGe-O9Hvy1JhgRQevZMqsZbyKr60fARG-HlrRCQoQSFxIpWiYchx_41-WEGX1XFWYHePd78EPFFFzXhVg5eyGUSuqgGHN8JxuE_2nGrAm6t-a6q9qv5D7HByTnyatcpYO0hi0VMCwEFSZk7elHYb1ikavKQaCltG7bO2_0LAT68ldQg7GglNdS1_lxxJl9ZUihk0ejOKU0-ZxKE5LTH1Zlrrwhhj4OY05Z7M8DpT-1wYPAAQHgGUAtzQwQsCy_ucoEgRmiNPz0ZFmwHabAcQj3dNi346s2f_M8ILsULIjz5s9azjoEDzpAwzSWq0-NCe9T8R6_fisWXkUub-axIV0SMJldkMy3oEPn_t8gDr8S29e3iY9JK0g6Dhb0oesXo8oVnFqiPqpONzmSDq31pQpIvvCcMUhjn62alVDuJtoeqvBOEijiR9SCK8mjX5OxJg1g0n2nb4Rkl5W8U-VYhXfbVRbqENxkBvdinrPxQFRFJuxLZWqGyGULPelkqKum71sBPYN9o1uVLMxLXIsOSJy3BdFsauUvpRY6ApLXl4OnO25vkljd9bebzsfrhsT46xbgQ3WYmNlr23MVwficsZIl0hoyX_bz9fI9tyamOInQjLJ6jbfF3PUpPWvge6Ej8PzH_eMfr5lNnOw7ZjSFKnvPHVXk8a53w3-xvBMCdbHdgqewBiec72R4Xkt-d7iPwEAAP__M6ELXQ">