-
- Downloads
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>
Showing
- gcc/rust/util/rust-token-converter.cc 21 additions, 5 deletionsgcc/rust/util/rust-token-converter.cc
- libgrust/libproc_macro/Makefile.am 1 addition, 0 deletionslibgrust/libproc_macro/Makefile.am
- libgrust/libproc_macro/Makefile.in 1 addition, 0 deletionslibgrust/libproc_macro/Makefile.in
- libgrust/libproc_macro/group.cc 2 additions, 2 deletionslibgrust/libproc_macro/group.cc
- libgrust/libproc_macro/group.h 4 additions, 1 deletionlibgrust/libproc_macro/group.h
- libgrust/libproc_macro/ident.cc 10 additions, 9 deletionslibgrust/libproc_macro/ident.cc
- libgrust/libproc_macro/ident.h 7 additions, 4 deletionslibgrust/libproc_macro/ident.h
- libgrust/libproc_macro/literal.cc 18 additions, 18 deletionslibgrust/libproc_macro/literal.cc
- libgrust/libproc_macro/literal.h 4 additions, 2 deletionslibgrust/libproc_macro/literal.h
- libgrust/libproc_macro/punct.cc 2 additions, 2 deletionslibgrust/libproc_macro/punct.cc
- libgrust/libproc_macro/punct.h 4 additions, 1 deletionlibgrust/libproc_macro/punct.h
- libgrust/libproc_macro/span.cc 40 additions, 0 deletionslibgrust/libproc_macro/span.cc
- libgrust/libproc_macro/span.h 41 additions, 0 deletionslibgrust/libproc_macro/span.h
Loading
Please register or sign in to comment