Could you please confirm the exact SonarQube Server version you are using? This is relevant because the CFamily implementation of rule cpp:S1117 was improved in SonarQube Server 2026.1.
One of the improvements specifically addresses cases where a friend function defined within a class has a parameter or local variable with the same name as a non-static class member. Since a friend function is not a member function, it cannot access non-static fields through an implicit this object. The updated rule therefore no longer reports these cases as field shadowing.
Your operator<< example appears to match this scenario. If you are using a version earlier than 2026.1, upgrading may resolve the issue. If you already use 2026.1 or a later version and still see the issue, please share the exact version.