-
Notifications
You must be signed in to change notification settings - Fork 250
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
C++ front-end fixes #8275
base: develop
Are you sure you want to change the base?
C++ front-end fixes #8275
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #8275 +/- ##
===========================================
- Coverage 77.55% 77.34% -0.21%
===========================================
Files 1721 1721
Lines 190128 190891 +763
Branches 18438 18411 -27
===========================================
+ Hits 147448 147648 +200
- Misses 42680 43243 +563 ☔ View full report in Codecov by Sentry. |
f4916a1
to
bb79589
Compare
Required to parse cassert (which in turn includes stdlib.h) on macOS in C++11 mode.
LLVM's standard library uses these in type_traits.
We had parentheses consumed by rCommaExpression while still expecting to find one after this rule executed.
Seen in GCC's STL.
The example included as regression test has a bool instead.
We also need to pop one token, not just replace the existing ones.
Now follows the grammar described in the C++ standard: Explicit type conversions are postfix expressions.
Mark `constexpr` symbols as macros and use direct replacement (non-function symbols) or in-place evaluation (uses of `constexpr` function symbols).
Attach the "ellipsis" information to the declarator and not to the type.
bb79589
to
04bcc91
Compare
Please review commit-by-commit. This gets us somewhat closer to being able to process
type_traits
.