diff options
Diffstat (limited to 'gcc/rust/parse')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 5 | ||||
-rw-r--r-- | gcc/rust/parse/rust-parse.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 446df13..227564c 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -424,7 +424,7 @@ Parser<ManagedTokenSource>::parse_items () // Parses a crate (compilation unit) - entry point template <typename ManagedTokenSource> -AST::Crate +std::unique_ptr<AST::Crate> Parser<ManagedTokenSource>::parse_crate () { // parse inner attributes @@ -437,7 +437,8 @@ Parser<ManagedTokenSource>::parse_crate () for (const auto &error : error_table) error.emit_error (); - return AST::Crate (std::move (items), std::move (inner_attrs)); + return std::unique_ptr<AST::Crate> ( + new AST::Crate (std::move (items), std::move (inner_attrs))); } // Parse a contiguous block of inner attributes. diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h index c8faf49..4cae6ff 100644 --- a/gcc/rust/parse/rust-parse.h +++ b/gcc/rust/parse/rust-parse.h @@ -669,7 +669,7 @@ public: std::vector<std::unique_ptr<AST::Item> > parse_items (); // Main entry point for parser. - AST::Crate parse_crate (); + std::unique_ptr<AST::Crate> parse_crate (); // Dumps all lexer output. void debug_dump_lex_output (std::ostream &out); |