[clang] Handle block scope when using lambda inside if initializer
When we use lambda inside "if" initializer, clang should honor block scope for the names defined inside the block. clang should not produce compilation error like "redefinition of <names>". Code example: if(int foo = []() -> int {auto foo = int{}; return foo;}(); foo) { } Bug: 46242