diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-07-08 23:51:51 -0400 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:49:36 +0100 |
commit | 75763b4c50e6d1ffb8cae6d34d5ffd40add1f8d4 (patch) | |
tree | a551ec22a79e34bb46bb3d300a8c084aaee8bbf5 /gcc | |
parent | 0830ce0813e8fcac793b210ce2715712b109ce2c (diff) | |
download | gcc-75763b4c50e6d1ffb8cae6d34d5ffd40add1f8d4.zip gcc-75763b4c50e6d1ffb8cae6d34d5ffd40add1f8d4.tar.gz gcc-75763b4c50e6d1ffb8cae6d34d5ffd40add1f8d4.tar.bz2 |
gccrs: Remove Linemap::get_location
gcc/rust/ChangeLog:
* lex/rust-lex.cc
(Lexer::get_current_location): Use linemap_position_for_column.
* rust-session-manager.cc
(Session::handle_crate_name): Likewise.
* rust-linemap.cc
(Linemap::get_location): Remove.
* rust-linemap.h
(Linemap::get_location): Likewise.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/lex/rust-lex.cc | 9 | ||||
-rw-r--r-- | gcc/rust/rust-linemap.cc | 8 | ||||
-rw-r--r-- | gcc/rust/rust-linemap.h | 4 | ||||
-rw-r--r-- | gcc/rust/rust-session-manager.cc | 2 |
4 files changed, 2 insertions, 21 deletions
diff --git a/gcc/rust/lex/rust-lex.cc b/gcc/rust/lex/rust-lex.cc index b5702a0..6085a83 100644 --- a/gcc/rust/lex/rust-lex.cc +++ b/gcc/rust/lex/rust-lex.cc @@ -173,18 +173,11 @@ Lexer::input_source_is_valid_utf8 () return raw_input_source->is_valid (); } -/* TODO: need to optimise somehow to avoid the virtual function call in the - * tight loop. Best idea at the moment is CRTP, but that might make lexer - * implementation annoying when storing the "base class" (i.e. would need - * template parameter everywhere), although in practice it would mostly just - * look ugly and make enclosing classes like Parser also require a type - * parameter. At this point a macro might be better. OK I guess macros can be - * replaced by constexpr if or something if possible. */ Location Lexer::get_current_location () { if (line_map) - return line_map->get_location (current_column); + return linemap_position_for_column (line_table, current_column); else // If we have no linemap, we're lexing something without proper locations return UNDEF_LOCATION; diff --git a/gcc/rust/rust-linemap.cc b/gcc/rust/rust-linemap.cc index e7257e8..6caa494 100644 --- a/gcc/rust/rust-linemap.cc +++ b/gcc/rust/rust-linemap.cc @@ -75,14 +75,6 @@ Linemap::start_line (unsigned lineno, unsigned linesize) linemap_line_start (line_table, lineno, linesize); } -// Get a location. - -Location -Linemap::get_location (unsigned column) -{ - return Location (linemap_position_for_column (line_table, column)); -} - // Return the Linemap to use for the gcc backend. Linemap * diff --git a/gcc/rust/rust-linemap.h b/gcc/rust/rust-linemap.h index 81c622b..5ed8ecf 100644 --- a/gcc/rust/rust-linemap.h +++ b/gcc/rust/rust-linemap.h @@ -52,10 +52,6 @@ public: // This will normally be called for every line in a source file. void start_line (unsigned int line_number, unsigned int line_size); - // Get a Location representing column position COLUMN on the current - // line in the current file. - Location get_location (unsigned int column); - // Stop generating Location values. This will be called after all // input files have been read, in case any cleanup is required. void stop (); diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc index 27ac1cd..fb856c6 100644 --- a/gcc/rust/rust-session-manager.cc +++ b/gcc/rust/rust-session-manager.cc @@ -438,7 +438,7 @@ Session::handle_crate_name (const AST::Crate &parsed_crate) && !validate_crate_name (options.crate_name, error)) { error.emit (); - rust_inform (linemap->get_location (0), + rust_inform (linemap_position_for_column (line_table, 0), "crate name inferred from this file"); } } |