[gcc/devel/rust/master] Remove unused include in HIR

Thomas Schwinge tschwinge@gcc.gnu.org
Thu Aug 11 19:19:57 GMT 2022


https://gcc.gnu.org/g:46ef912923897a967e5c0d8641176300011be8b7

commit 46ef912923897a967e5c0d8641176300011be8b7
Author: Philip Herron <philip.herron@embecosm.com>
Date:   Thu Aug 11 13:17:45 2022 +0100

    Remove unused include in HIR

Diff:
---
 gcc/rust/hir/tree/rust-hir-cond-compilation.h | 249 --------------------------
 1 file changed, 249 deletions(-)

diff --git a/gcc/rust/hir/tree/rust-hir-cond-compilation.h b/gcc/rust/hir/tree/rust-hir-cond-compilation.h
deleted file mode 100644
index a8a13d28189..00000000000
--- a/gcc/rust/hir/tree/rust-hir-cond-compilation.h
+++ /dev/null
@@ -1,249 +0,0 @@
-// Copyright (C) 2020-2022 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/>.
-
-#ifndef RUST_AST_CONDCOMPILATION
-#define RUST_AST_CONDCOMPILATION
-
-#include "rust-ast-full-decls.h"
-#include "rust-hir.h"
-
-namespace Rust {
-namespace HIR {
-// Base conditional compilation configuration predicate thing - abstract
-class ConfigurationPredicate
-{
-public:
-  virtual ~ConfigurationPredicate () {}
-
-  // Unique pointer custom clone function
-  std::unique_ptr<ConfigurationPredicate> clone_configuration_predicate () const
-  {
-    return std::unique_ptr<ConfigurationPredicate> (
-      clone_configuration_predicate_impl ());
-  }
-
-  // not sure if I'll use this but here anyway
-  virtual void accept_vis (HIRFullVisitor &vis) = 0;
-
-protected:
-  // Clone function impl to be overriden in base classes
-  virtual ConfigurationPredicate *
-  clone_configuration_predicate_impl () const = 0;
-};
-
-// A configuration option - true if option is set, false if option is not set.
-class ConfigurationOption : public ConfigurationPredicate
-{
-  Identifier option_name;
-
-  // bool has_string_literal_option_body;
-  std::string option_value; // technically a string or raw string literal
-
-public:
-  /* Returns whether the configuration option has a "value" part of the
-   * key-value pair. */
-  bool has_option_value () const { return !option_value.empty (); }
-
-  // Key-value pair constructor
-  ConfigurationOption (Identifier option_name, std::string option_value)
-    : option_name (option_name), option_value (option_value)
-  {}
-
-  // Name-only constructor
-  ConfigurationOption (Identifier option_name) : option_name (option_name) {}
-
-  void accept_vis (HIRFullVisitor &vis) override;
-
-protected:
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  ConfigurationOption *clone_configuration_predicate_impl () const override
-  {
-    return new ConfigurationOption (*this);
-  }
-};
-
-// TODO: inline
-struct ConfigurationPredicateList
-{
-  std::vector<std::unique_ptr<ConfigurationPredicate> > predicate_list;
-};
-
-// Predicate that returns true if all of the supplied predicates return true.
-class ConfigurationAll : public ConfigurationPredicate
-{
-  std::vector<std::unique_ptr<ConfigurationPredicate> >
-    predicate_list; // inlined form
-
-public:
-  ConfigurationAll (
-    std::vector<std::unique_ptr<ConfigurationPredicate> > predicate_list)
-    : predicate_list (predicate_list)
-  {}
-
-  void accept_vis (HIRFullVisitor &vis) override;
-
-protected:
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  ConfigurationAll *clone_configuration_predicate_impl () const override
-  {
-    return new ConfigurationAll (*this);
-  }
-};
-
-// Predicate that returns true if any of the supplied predicates are true.
-class ConfigurationAny : public ConfigurationPredicate
-{
-  std::vector<std::unique_ptr<ConfigurationPredicate> >
-    predicate_list; // inlined form
-
-public:
-  ConfigurationAny (
-    std::vector<std::unique_ptr<ConfigurationPredicate> > predicate_list)
-    : predicate_list (predicate_list)
-  {}
-
-  void accept_vis (HIRFullVisitor &vis) override;
-
-protected:
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  ConfigurationAny *clone_configuration_predicate_impl () const override
-  {
-    return new ConfigurationAny (*this);
-  }
-};
-
-/* Predicate that produces the negation of a supplied other configuration
- * predicate. */
-class ConfigurationNot : public ConfigurationPredicate
-{
-  std::unique_ptr<ConfigurationPredicate> config_to_negate;
-
-public:
-  ConfigurationNot (ConfigurationPredicate *config_to_negate)
-    : config_to_negate (config_to_negate)
-  {}
-
-  // Copy constructor with clone
-  ConfigurationNot (ConfigurationNot const &other)
-    : config_to_negate (
-      other.config_to_negate->clone_configuration_predicate ())
-  {}
-
-  // Overloaded assignment operator to clone
-  ConfigurationNot &operator= (ConfigurationNot const &other)
-  {
-    config_to_negate = other.config_to_negate->clone_configuration_predicate ();
-
-    return *this;
-  }
-
-  // move constructors
-  ConfigurationNot (ConfigurationNot &&other) = default;
-  ConfigurationNot &operator= (ConfigurationNot &&other) = default;
-
-  void accept_vis (HIRFullVisitor &vis) override;
-
-protected:
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  ConfigurationNot *clone_configuration_predicate_impl () const override
-  {
-    return new ConfigurationNot (*this);
-  }
-};
-
-// TODO: relationship to other attributes?
-class CfgAttribute
-{
-  std::unique_ptr<ConfigurationPredicate> config_to_include;
-
-public:
-  CfgAttribute (ConfigurationPredicate *config_to_include)
-    : config_to_include (config_to_include)
-  {}
-
-  // Copy constructor with clone
-  CfgAttribute (CfgAttribute const &other)
-    : config_to_include (
-      other.config_to_include->clone_configuration_predicate ())
-  {}
-
-  // Overloaded assignment operator to clone
-  CfgAttribute &operator= (CfgAttribute const &other)
-  {
-    config_to_include
-      = other.config_to_include->clone_configuration_predicate ();
-
-    return *this;
-  }
-
-  // move constructors
-  CfgAttribute (CfgAttribute &&other) = default;
-  CfgAttribute &operator= (CfgAttribute &&other) = default;
-};
-/* TODO: ok, best thing to do would be eliminating this class, making Attribute
- * has a "is_cfg()" method, and having attribute path as "cfg" and AttrInput as
- * ConfigurationPredicate (so make ConfigurationPredicate a subclass of
- * AttrInput?). Would need special handling in parser, however. */
-
-// TODO: inline
-struct CfgAttrs
-{
-  AST::AttrVec cfg_attrs;
-};
-
-// TODO: relationship to other attributes?
-class CfgAttrAttribute
-{
-  std::unique_ptr<ConfigurationPredicate> config_to_include;
-  AST::AttrVec cfg_attrs;
-
-public:
-  CfgAttrAttribute (ConfigurationPredicate *config_to_include,
-		    AST::AttrVec cfg_attrs)
-    : config_to_include (config_to_include), cfg_attrs (cfg_attrs)
-  {}
-
-  // Copy constructor with clone
-  CfgAttrAttribute (CfgAttrAttribute const &other)
-    : config_to_include (
-      other.config_to_include->clone_configuration_predicate ()),
-      cfg_attrs (cfg_attrs)
-  {}
-
-  // Overloaded assignment operator to clone
-  CfgAttrAttribute &operator= (CfgAttrAttribute const &other)
-  {
-    config_to_include
-      = other.config_to_include->clone_configuration_predicate ();
-    cfg_attrs = other.cfg_attrs;
-
-    return *this;
-  }
-
-  // move constructors
-  CfgAttrAttribute (CfgAttrAttribute &&other) = default;
-  CfgAttrAttribute &operator= (CfgAttrAttribute &&other) = default;
-};
-} // namespace HIR
-} // namespace Rust
-
-#endif


More information about the Gcc-cvs mailing list