================
@@ -554,6 +563,11 @@ bool Parser::ParseOptionalCXXScopeSpecifier(
     break;
   }
 
+  if (FailedNesatedNameBuilding && Tok.getKind() == tok::identifier) {
----------------
Mr-Anyone wrote:

I completed agree with you for the fact that this is really ugly code here.

The problem I am trying to solve here is when there is no declaration for the 
`std` namespace. 

```cpp
// this is the entire file 
void some_func(){
     std::cout << "some func has been called" << std::endl; 
}
```
Here building the nested name will fail because there is no namespace std being 
defined anywhere, so a name lookup for `cout` is never performed (as far as I 
can tell, there could be something I am missing here). I am not sure if there 
is an easy fix to that in Sema level. 

However, something like the following would work cause the suggestion to 
trigger. It is okay if I revert this file?

```cpp
namespace std {};

// this is the entire file 
void some_func(){
     std::cout << "some func has been called" << std::endl; 
}
```

https://github.com/llvm/llvm-project/pull/146227
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to