diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-07-20 15:35:56 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-20 15:35:56 +0000 |
commit | 869b328c5c9769eafdb80f3d4f071235bab550f9 (patch) | |
tree | 1c23e61aeda517aa300cf947c6fa891d3d49067f | |
parent | 02713d245aaffd45d8daaf8c914b1dda5baa6eb4 (diff) | |
parent | c76df9b8ee5de6ccf7226d447b946bf2081947a0 (diff) | |
download | gcc-869b328c5c9769eafdb80f3d4f071235bab550f9.zip gcc-869b328c5c9769eafdb80f3d4f071235bab550f9.tar.gz gcc-869b328c5c9769eafdb80f3d4f071235bab550f9.tar.bz2 |
Merge #578
578: Remove unused code r=philberty a=philberty
Remove unused code
Co-authored-by: Philip Herron <philip.herron@embecosm.com>
-rw-r--r-- | gcc/rust/rust-backend.c | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/gcc/rust/rust-backend.c b/gcc/rust/rust-backend.c deleted file mode 100644 index 427fbe0..0000000 --- a/gcc/rust/rust-backend.c +++ /dev/null @@ -1,195 +0,0 @@ -/* rust-backend.c -- Rust frontend interface to gcc backend. - Copyright (C) 2010-2020 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 3, or (at your option) any later - version. - - GCC is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - <http://www.gnu.org/licenses/>. */ - -#include "config.h" -#include "system.h" -#include "coretypes.h" -#include "target.h" -#include "tree.h" -#include "memmodel.h" -#include "tm_p.h" -#include "diagnostic.h" -#include "simple-object.h" -#include "stor-layout.h" -#include "intl.h" -#include "output.h" /* for assemble_string */ -#include "common/common-target.h" -//#include "rust-c.h" // import no longer exists, so hopefully not broken - -// satisfy intellisense -#include "options.h" - -/* The segment name we pass to simple_object_start_read to find Rust - export data. */ - -#ifndef RUST_EXPORT_SEGMENT_NAME -#define RUST_EXPORT_SEGMENT_NAME "__GNU_RUST" -#endif - -/* The section name we use when reading and writing export data. */ - -#ifndef RUST_EXPORT_SECTION_NAME -#define RUST_EXPORT_SECTION_NAME ".rust_export" -#endif - -#ifndef TARGET_AIX -#define TARGET_AIX 0 -#endif - -/* This file holds all the cases where the Rust frontend needs - information from gcc's backend. */ - -/* Return whether or not GCC has reported any errors. */ - -bool -saw_errors (void) -{ - return errorcount != 0 || sorrycount != 0; -} - -/* Return the alignment in bytes of a struct field of type T. */ - -unsigned int -rust_field_alignment (tree t) -{ - unsigned int v; - - v = TYPE_ALIGN (t); - -#ifdef BIGGEST_FIELD_ALIGNMENT - if (v > BIGGEST_FIELD_ALIGNMENT) - v = BIGGEST_FIELD_ALIGNMENT; -#endif - -#ifdef ADJUST_FIELD_ALIGN - v = ADJUST_FIELD_ALIGN (NULL_TREE, t, v); -#endif - - return v / BITS_PER_UNIT; -} - -/* This is called by the Rust frontend proper if the unsafe package was - imported. When that happens we cannot do type-based alias - analysis. */ -// TODO: this should be removed, as it only pertains to Go, not Rust -void -rust_imported_unsafe (void) -{ - flag_strict_aliasing = false; - TREE_OPTIMIZATION (optimization_default_node)->x_flag_strict_aliasing = false; - - /* Let the backend know that the options have changed. */ - targetm.override_options_after_change (); -} - -/* This is called by the Rust frontend proper to add data to the - section containing Rust export data. */ - -void -rust_write_export_data (const char *bytes, unsigned int size) -{ - static section *sec; - - if (sec == NULL) - { - gcc_assert (targetm_common.have_named_sections); - sec = get_section (RUST_EXPORT_SECTION_NAME, - TARGET_AIX ? SECTION_EXCLUDE : SECTION_DEBUG, NULL); - } - - switch_to_section (sec); - assemble_string (bytes, size); -} - -/* The rust_read_export_data function is called by the Rust frontend - proper to read Rust export data from an object file. FD is a file - descriptor open for reading. OFFSET is the offset within the file - where the object file starts; this will be 0 except when reading an - archive. On success this returns NULL and sets *PBUF to a buffer - allocated using malloc, of size *PLEN, holding the export data. If - the data is not found, this returns NULL and sets *PBUF to NULL and - *PLEN to 0. If some error occurs, this returns an error message - and sets *PERR to an errno value or 0 if there is no relevant - errno. */ - -const char * -rust_read_export_data (int fd, off_t offset, char **pbuf, size_t *plen, - int *perr) -{ - simple_object_read *sobj; - const char *errmsg; - off_t sec_offset; - off_t sec_length; - int found; - char *buf; - ssize_t c; - - *pbuf = NULL; - *plen = 0; - - sobj = simple_object_start_read (fd, offset, RUST_EXPORT_SEGMENT_NAME, - &errmsg, perr); - if (sobj == NULL) - { - /* If we get an error here, just pretend that we didn't find any - export data. This is the right thing to do if the error is - that the file was not recognized as an object file. This - will ignore file I/O errors, but it's not too big a deal - because we will wind up giving some other error later. */ - return NULL; - } - - found = simple_object_find_section (sobj, RUST_EXPORT_SECTION_NAME, - &sec_offset, &sec_length, &errmsg, perr); - simple_object_release_read (sobj); - if (!found) - return errmsg; - - if (lseek (fd, offset + sec_offset, SEEK_SET) < 0) - { - *perr = errno; - return _ ("lseek failed while reading export data"); - } - - buf = XNEWVEC (char, sec_length); - if (buf == NULL) - { - *perr = errno; - return _ ("memory allocation failed while reading export data"); - } - - c = read (fd, buf, sec_length); - if (c < 0) - { - *perr = errno; - free (buf); - return _ ("read failed while reading export data"); - } - - if (c < sec_length) - { - free (buf); - return _ ("short read while reading export data"); - } - - *pbuf = buf; - *plen = sec_length; - - return NULL; -} |