aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-04-27 13:24:40 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:37:16 +0100
commitc010c77c47964f0d660bff1313a57cea565b8506 (patch)
treef426944a6292cf25e4919be58fd347718a20e875 /gcc
parent5c8941ffd6025f713913bf8564308383c9f3b093 (diff)
downloadgcc-c010c77c47964f0d660bff1313a57cea565b8506.zip
gcc-c010c77c47964f0d660bff1313a57cea565b8506.tar.gz
gcc-c010c77c47964f0d660bff1313a57cea565b8506.tar.bz2
gccrs: tokenstream: Convert single punctuation tokens
Add the code to convert single punctuation tokens to a tokenstream element. gcc/rust/ChangeLog: * ast/rust-ast-tokenstream.cc (TokenStream::collect): Add conversion for single punctuation tokens. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/ast/rust-ast-tokenstream.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/rust/ast/rust-ast-tokenstream.cc b/gcc/rust/ast/rust-ast-tokenstream.cc
index 417c0f3..1342921 100644
--- a/gcc/rust/ast/rust-ast-tokenstream.cc
+++ b/gcc/rust/ast/rust-ast-tokenstream.cc
@@ -50,6 +50,33 @@ TokenStream::collect () const
{
switch (token->get_id ())
{
+ // Alone punct tokens
+ case EQUAL:
+ case RIGHT_ANGLE:
+ case LEFT_ANGLE:
+ case EXCLAM:
+ case TILDE:
+ case PLUS:
+ case MINUS:
+ case ASTERISK:
+ case DIV:
+ case PERCENT:
+ case CARET:
+ case AMP:
+ case PIPE:
+ case PATTERN_BIND:
+ case DOT:
+ case COMMA:
+ case SEMICOLON:
+ case COLON:
+ case HASH:
+ case DOLLAR_SIGN:
+ case QUESTION_MARK:
+ case SINGLE_QUOTE:
+ trees.back ().push (ProcMacro::TokenTree::make_tokentree (
+ ProcMacro::Punct::make_punct (token->as_string ()[0],
+ ProcMacro::ALONE)));
+ break;
case RIGHT_PAREN:
pop_group (trees, ProcMacro::PARENTHESIS);
break;