-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use of reserved identifiers #578
Comments
Not really a bug, but more of a language lawyer request. |
LLVM commit b83b23275b745287bf9d3d72a93b593119f53f75 introduces |
Indeed. Once clang |
Trying to set up a new project using the
|
I'd be happy to open a PR, if it would be welcome? |
@melak47 It is already done for v3, but I am willing to merge it for v2 (I don't like backporting v3->v2 and IIRC I got bunch of merge conflicts from it). @davidstone That seems like bad implementation in Clang, because both are UDLs, which are not even allowed to start without a leading Catch2/src/catch2/internal/catch_stringref.hpp Lines 101 to 103 in 88c27ff
|
@horenmar Nice to hear v3 provides a fix. I was surprised by the quality of implementation problems in Clang. We will have to hussle to make any meaningful change in Clang-13, least there is another warning that is useless on release. 13.0.0-rc2 is scheduled for release 24 August 2021, -rc3 on 7 September 2021, and final on 21 September 2021, based on the schedule at http://llvm.org. We can follow the progress of this bug report: https://bugs.llvm.org/show_bug.cgi?id=50644 |
@horenmar: The issue is the space between the |
The issue is bigger than just UDLs: https://godbolt.org/z/nG9Mn7hKv. If you use e.g.
|
Such identifiers are reserved by the C++ standard. Fixes part of catchorg#578.
Such identifiers are reserved by the C++ standard. Fixes part of #578.
v3 has been fixed for a while and @bernhardmgruber made PR for v2, so this is done. |
A quick scan shows at least
__catchResult
and____C_A_T_C_H____T_E_S_T____
being used,but since these identifiers contain double underscores, they are reserved for
the compiler/stdlib implementation: [lex.name] 2.10.3 ([global.names] 17.6.4.3.2 until C++17)
The text was updated successfully, but these errors were encountered: