]> gcc.gnu.org Git - gcc.git/commit
gccrs: libproc_macro: Add cpp Span representation
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Tue, 30 May 2023 08:57:01 +0000 (10:57 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:46:23 +0000 (18:46 +0100)
commit4d950fa5dfca0aa526a5d5e72f353b4a46cfb1e4
treee891a737142aff4269c691ae616773cc98dfdce3
parente4b769cb0a196b3410b4da5e4415b634b4429399
gccrs: libproc_macro: Add cpp Span representation

Add Span representation in libproc_macro cpp part of the library.
Integrate spans to existing types.

gcc/rust/ChangeLog:

* util/rust-token-converter.cc (convert): Update call to
constructors with location information.
(handle_suffix): Convert token locus to a Span and use it in the
literal.

libgrust/ChangeLog:

* libproc_macro/Makefile.am: Add span.cc
* libproc_macro/Makefile.in: Regenerate.
* libproc_macro/span.cc: New file.
* libproc_macro/span.h: New file.
* libproc_macro/group.cc (Group::make_group): Add span
argument.
* libproc_macro/group.h (GROUP_H): Add include
directive for spans.
* libproc_macro/ident.cc (Ident__new): Add span
argument.
(Ident__new_raw): Likewise.
(Ident::make_ident): Likewise.
* libproc_macro/ident.h (Ident__new): Likewise.
(Ident__new_raw): Likewise.
* libproc_macro/literal.cc (Literal::clone): Clone the
span.
(Literal::make_literal): Add span argument.
(Literal::make_u8): Likewise.
(Literal::make_u16): Likewise.
(Literal::make_u32): Likewise.
(Literal::make_u64): Likewise.
(Literal::make_i8): Likewise.
(Literal::make_i16): Likewise.
(Literal::make_i32): Likewise.
(Literal::make_i64): Likewise.
(Literal::make_string): Likewise.
(Literal::make_byte_string): Likewise.
(Literal::make_f32): Likewise.
(Literal::make_f64): Likewise.
(Literal::make_char): Likewise.
(Literal::make_usize): Likewise.
(Literal::make_isize): Likewise.
* libproc_macro/literal.h (struct Literal): Add span to
Literal structure.
* libproc_macro/punct.cc (Punct::make_punct): Add span
argument to punct constructor.
* libproc_macro/punct.h (struct Punct): Add span to
Punct structure.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
13 files changed:
gcc/rust/util/rust-token-converter.cc
libgrust/libproc_macro/Makefile.am
libgrust/libproc_macro/Makefile.in
libgrust/libproc_macro/group.cc
libgrust/libproc_macro/group.h
libgrust/libproc_macro/ident.cc
libgrust/libproc_macro/ident.h
libgrust/libproc_macro/literal.cc
libgrust/libproc_macro/literal.h
libgrust/libproc_macro/punct.cc
libgrust/libproc_macro/punct.h
libgrust/libproc_macro/span.cc [new file with mode: 0644]
libgrust/libproc_macro/span.h [new file with mode: 0644]
This page took 0.202106 seconds and 6 git commands to generate.