mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Fix formatting of compound-type variable declarations in macros (#6997)
By default clang-format interprets function-like macro invocations as function calls. E.g. the argument of `CARBON_KIND(llvm::ListSeparator* sep)` is interpreted as an expression, meaning the `*` is an infix binary operator, so it inserts a space before the `*`. This change teaches clang-format that `CARBON_KIND(x)` and `CARBON_ASSIGN_OR_RETURN(x)` rewrite to `x`, which is close enough to the truth to enable it to format them correctly. See the [clang-format docs](https://clang.llvm.org/docs/ClangFormatStyleOptions.html#macros) for details.
This commit is contained in:
@@ -1111,14 +1111,14 @@ auto Lexer::LexNumericLiteral(llvm::StringRef source_text, ssize_t& position)
|
||||
position += token_size;
|
||||
|
||||
CARBON_KIND_SWITCH(literal->ComputeValue(emitter_)) {
|
||||
case CARBON_KIND(NumericLiteral::IntValue && value): {
|
||||
case CARBON_KIND(NumericLiteral::IntValue&& value): {
|
||||
return LexTokenWithPayload(TokenKind::IntLiteral,
|
||||
buffer_.value_stores_->ints()
|
||||
.AddUnsigned(std::move(value.value))
|
||||
.AsTokenPayload(),
|
||||
byte_offset);
|
||||
}
|
||||
case CARBON_KIND(NumericLiteral::RealValue && value): {
|
||||
case CARBON_KIND(NumericLiteral::RealValue&& value): {
|
||||
auto real_id = buffer_.value_stores_->reals().Add(
|
||||
Real{.mantissa = value.mantissa,
|
||||
.exponent = value.exponent,
|
||||
|
||||
Reference in New Issue
Block a user