| 2023-07-05 Robin Dapp <rdapp@ventanamicro.com> |
| Juzhe-Zhong <juzhe.zhong@rivai.ai> |
| |
| * backend/rust-tree.cc (c_common_type_for_mode): Ditto. |
| |
| 2023-06-22 Paul E. Murphy <murphyp@linux.ibm.com> |
| |
| * rust-object-export.cc [TARGET_AIX]: Rename and update usage to |
| TARGET_AIX_OS. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * parse/rust-parse-impl.h |
| (Parser::parse_stmt): Handle unsafe expression statements. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * parse/rust-parse-impl.h |
| (Parser::parse_expr_stmt): Remove hypothetical unsafe + expr_stmt_without_block handling. |
| |
| 2023-04-06 M V V S Manoj Kumar <mvvsmanojkumar@gmail.com> |
| |
| * ast/rust-ast-full-decls.h (class InlineAsm):Added class declaration. |
| * ast/rust-expr.h (class InlineAsm):Added class definition. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * rust-diagnostics.h (struct Error): Add new Kind enum and various new |
| static constructors to allow for hints as well. |
| * rust-diagnostics.cc (Error::Error): Use new `kind` field properly. |
| * checks/errors/privacy/rust-visibility-resolver.cc |
| (VisibilityResolver::resolve_module_path): Use new Error API. |
| * expand/rust-macro-builtins.cc (MacroBuiltin::include_handler): Likewise. |
| * expand/rust-macro-expand.cc (parse_many): Likewise. |
| (transcribe_type): Likewise. |
| * parse/rust-parse-impl.h (Parser::parse_crate): Likewise. |
| * rust-session-manager.cc (Session::handle_crate_name): Likewise. |
| * ast/rust-ast.cc (Module::load_items): Likewise. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast.h: Keep location in TraitItem base class |
| * ast/rust-item.h (class TraitItemFunc): Use base class location instead. |
| (class TraitItemMethod): Likewise. |
| (class TraitItemConst): Likewise. |
| (class TraitItemType): Likewise. |
| * ast/rust-macro.h: Likewise. |
| |
| 2023-04-06 SainiAditya1 <Adityasaini10012001@outlook.com> |
| |
| * hir/tree/rust-hir-full-test.cc: Moved to... |
| * hir/tree/rust-hir.cc: ...here. |
| * Make-lang.in: Rename rust-hir-full-test. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * ast/rust-ast-dump.cc |
| (Dump::visit): Add AltPattern visitor. |
| * ast/rust-ast-dump.h: |
| (Dump::visit): Add AltPattern visitor. |
| * ast/rust-ast-full-decls.h |
| (class AltPattern): Add declaration. |
| * ast/rust-ast-visitor.h: |
| (ASTVisitor::visit): Add AltPattern visitor. |
| * ast/rust-ast.cc |
| (AltPattern::as_string): Add definition. |
| (AltPattern::accept_vis): Add definition. |
| * ast/rust-pattern.h |
| (class AltPattern): Add declaration. |
| * checks/errors/rust-feature-gate.h: |
| (FeatureGate::visit) Add AltPattern visitor |
| * expand/rust-attribute-visitor.cc |
| (AttrVisitor::visit): Add AltPattern visitor. |
| * expand/rust-attribute-visitor.h: |
| (AttrVisitor::visit): Add AltPattern visitor. |
| * hir/rust-ast-lower-base.cc |
| (ASTLoweringBase::visit): Add AltPattern visitor. |
| * hir/rust-ast-lower-base.h: |
| (ASTLoweringBase::visit): Add AltPattern visitor. |
| * resolve/rust-ast-resolve-base.cc |
| (ResolverBase::visit): Add AltPattern visitor. |
| * resolve/rust-ast-resolve-base.h: |
| (ResolverBase::visit): Add AltPattern visitor. |
| * resolve/rust-early-name-resolver.cc |
| (EarlyNameResolver::visit): Add AltPattern visitor. |
| * resolve/rust-early-name-resolver.h: |
| (EarlyNameResolver::visit): Add AltPattern visitor. |
| * util/rust-attributes.cc |
| (AttributeChecker::visit): Add AltPattern visitor. |
| * util/rust-attributes.h: |
| (AttributeChecker::visit): Add AltPattern visitor. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * ast/rust-pattern.h: Fix formatting. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * expand/rust-macro-builtins.cc (MacroBuiltin::include_handler): Do not |
| return nullptr token in expansion of `include!()` |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * checks/errors/rust-feature-gate.h: Add trailing newline before EOF. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-trait-reference.cc (TraitReference::clear_associated_types): make const |
| (TraitReference::clear_associated_type_projections): new interface |
| * typecheck/rust-hir-trait-reference.h: |
| * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_trait): refactor |
| (TraitItemReference::associated_type_reset): reset projections |
| * typecheck/rust-hir-type-bounds.h: |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): fix bounds |
| * typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::TypeBoundsProbe): refactor into cc file |
| (TypeBoundsProbe::Probe): refactor |
| (TypeBoundsProbe::is_bound_satisfied_for_type): likewise |
| (TypeBoundsProbe::assemble_sized_builtin): add builtin for Sized |
| (TypeCheckBase::get_predicate_from_bound): refactor |
| (TypeBoundPredicate::lookup_associated_type): refactor |
| * typecheck/rust-tyty-subst.cc (SubstitutionRef::lookup_associated_impl) |
| (SubstitutionRef::prepare_higher_ranked_bounds): new interface to clear hanging bounds |
| (SubstitutionRef::monomorphize): refactor |
| * typecheck/rust-tyty-subst.h: |
| * typecheck/rust-tyty.cc (BaseType::get_locus): helper |
| (BaseType::satisfies_bound): ensure bounds are satisfied and assoicated types |
| (ParamType::ParamType): new field in constructor |
| (ParamType::clone): update clone |
| (ParamType::set_implicit_self_trait): new interface |
| (ParamType::is_implicit_self_trait): likewise |
| * typecheck/rust-tyty.h: cleanup |
| * util/rust-hir-map.cc (Mappings::Mappings): builtin marker |
| (Mappings::~Mappings): delete marker |
| (Mappings::lookup_builtin_marker): lookup |
| * util/rust-hir-map.h: update header |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * hir/tree/rust-hir-item.h: implement virtual function |
| * hir/tree/rust-hir.h: add virtual function |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * Make-lang.in: add new dependancy |
| * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::query_type): refactor |
| * typecheck/rust-hir-type-check-base.h: refactor |
| * typecheck/rust-hir-type-check.h (RUST_HIR_TYPE_CHECK): refactor |
| * typecheck/rust-type-util.cc: New file. |
| * typecheck/rust-type-util.h: New file. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * expand/rust-macro-builtins.cc |
| (MacroBuiltin::include_str_handler): Add check for valid UTF-8. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * parse/rust-parse-impl.h |
| (Parser::parse_grouped_or_tuple_pattern): Add support for empty tuple patterns. |
| |
| 2023-04-06 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> |
| |
| * lex/rust-lex.h: Add file type check. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * backend/rust-compile-pattern.cc |
| (CompilePatternLet::visit): Simplify WildcardPattern compilation for let statements. |
| * backend/rust-compile-var-decl.h: |
| (CompileVarDecl::visit): Remove variable declaration for WildcardPattern. |
| * resolve/rust-ast-resolve-pattern.h: |
| (PatternDeclaration::visit): Remove name resolution for WildcardPattern. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * typecheck/rust-tyty-call.cc |
| (TypeCheckCallExpr::visit): Add variadic argument type checking. |
| (TypeCheckCallExpr::visit): Fix comment spelling ("varadic"). |
| |
| 2023-04-06 mxlol233 <mxlol233@outlook.com> |
| |
| * checks/errors/rust-feature-gate.cc: Add implementation for |
| `void FeatureGate::visit (AST::ExternBlock &block)`. Add `valid_feature` |
| construction process in `FeatureGate::check`. |
| * checks/errors/rust-feature-gate.h: Add declaration for |
| `void FeatureGate::visit (AST::ExternBlock &block)`. Add private |
| variable `valid_feature`. |
| * checks/errors/rust-feature.h: Change `issue` to `m_issue`. |
| |
| 2023-04-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * ast/rust-ast-fragment.cc: Update copyright years. |
| * ast/rust-ast-fragment.h: Likewise. |
| * ast/rust-macro.cc: Likewise. |
| * checks/errors/rust-feature-gate.cc: Likewise. |
| * checks/errors/rust-feature-gate.h: Likewise. |
| * checks/errors/rust-feature.cc: Likewise. |
| * checks/errors/rust-feature.h: Likewise. |
| * hir/rust-ast-lower-expr.cc: Likewise. |
| * hir/rust-ast-lower-type.cc: Likewise. |
| * resolve/rust-early-name-resolver.cc: Likewise. |
| * resolve/rust-early-name-resolver.h: Likewise. |
| * rust-gcc.h: Likewise. |
| * typecheck/rust-hir-path-probe.cc: Likewise. |
| * typecheck/rust-hir-trait-reference.cc: Likewise. |
| * typecheck/rust-tyty-bounds.h: Likewise. |
| * typecheck/rust-tyty-subst.cc: Likewise. |
| * typecheck/rust-tyty-subst.h: Likewise. |
| * typecheck/rust-tyty-util.cc: Likewise. |
| * typecheck/rust-tyty-util.h: Likewise. |
| * typecheck/rust-unify.cc: Likewise. |
| * typecheck/rust-unify.h: Likewise. |
| * util/rust-inline-visitor.h: Likewise. |
| |
| 2023-04-06 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> |
| |
| * rust-session-manager.cc (Session::compile_crate): Update the |
| environment variable name. |
| |
| 2023-04-06 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> |
| |
| * Make-lang.in: Add `rust-hir-trait-reference.o`. |
| * typecheck/rust-hir-trait-reference.h: Remove multiple function body. |
| * typecheck/rust-hir-trait-reference.cc: Add multiple function body. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * expand/rust-macro-expand.cc (MacroExpander::expand_eager_invocations): |
| Add documentation explaining the algorithm. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-macro.cc: New file. |
| * Make-lang.in: Add `rust-macro.o` object |
| * ast/rust-ast-fragment.cc (Fragment::Fragment): Change API around |
| the construction of AST fragments. |
| (Fragment::operator=): Correct `Fragment::operator=` to take into |
| account the fragment tokens. |
| (Fragment::create_error): Use new constructor. |
| (Fragment::complete): Remove in favor of new constructor. |
| (Fragment::unexpanded): Remove as that Fragment type is no longer used |
| or possible. |
| (Fragment::get_tokens): Add helper to access a fragment's tokens. |
| * ast/rust-ast-fragment.h (enum class): Remove `FragmentKind::Unused` |
| * ast/rust-ast.cc (MacroInvocation::as_string): Display |
| builtin macro invocations properly. |
| * ast/rust-ast.h: Fix `DelimTokenTree` class copy constructors and |
| handling of its token vector. |
| * ast/rust-macro.h (class MacroMatcher): Format. |
| (class MetaItemSeq): Likewise. |
| (builtin_macro_from_string): Get a `BuiltinMacroKind` from a given |
| string, i.e the name of the macro (`assert!`, `cfg!` and so on). |
| * expand/rust-attribute-visitor.cc (AttrVisitor::visit): Do not expand |
| macros recursively anymore. |
| (AttrVisitor::maybe_expand_expr): Likewise. |
| (AttrVisitor::maybe_expand_type): Likewise. |
| * expand/rust-attribute-visitor.h: Likewise, and remove |
| `expand_macro_fragment_recursively` function. |
| * expand/rust-macro-builtins.cc (make_token): Add shorthand for |
| returning `std::unique_ptr<AST::Token>`s. |
| (make_macro_invocation): Add shorthand for returning fragments |
| containing builtin macro invocations. |
| (try_expand_macro_expression): Do not expand macros recursively. |
| (try_expand_single_string_literal): Likewise. |
| (try_expand_many_expr): Likewise. |
| (parse_single_string_literal): Error out more appropriately. |
| (MacroBuiltin::compile_error_handler): Add explanation for eager |
| invocation |
| (MacroBuiltin::file_handler): Return the proper tokens associated with |
| macro invocation, and builtin macros in the case of necessary eager |
| expansion. |
| (MacroBuiltin::column_handler): Likewise. |
| (MacroBuiltin::include_bytes_handler): Likewise. |
| (MacroBuiltin::include_str_handler): Likewise. |
| (MacroBuiltin::concat_handler): Likewise. |
| (MacroBuiltin::env_handler): Likewise. |
| (MacroBuiltin::cfg_handler): Likewise. |
| (MacroBuiltin::include_handler): Likewise. |
| (MacroBuiltin::line_handler): Likewise. |
| * expand/rust-macro-expand.cc (MacroExpander::expand_eager_invocations): |
| Add function to expand eager invocations *once* in the fixed point |
| pipeline. |
| (MacroExpander::expand_invoc): Call into `expand_eager_invocations` for |
| builtin macro invocations. |
| (MacroExpander::expand_crate): Use new `AttrVisitor` API. |
| (parse_many): Return tokens in `AST::Fragment`. |
| (transcribe_expression): Likewise. |
| (transcribe_type): Likewise. |
| * expand/rust-macro-expand.h (struct MacroExpander): Add `has_changed` |
| flag for fixed point checking. |
| * resolve/rust-early-name-resolver.cc (EarlyNameResolver::EarlyNameResolver): |
| Keep track of the current macro scope. |
| (EarlyNameResolver::go): Use `scoped` API. |
| (EarlyNameResolver::visit): Likewise. |
| * resolve/rust-early-name-resolver.h: Add `scoped` API. |
| * rust-session-manager.cc (Session::expansion): Perform macro expansion |
| in a fixed-point fashion. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * expand/rust-macro-invoc-lexer.cc (MacroInvocLexer::get_token_slice): |
| Add API to retrieve token slices when lexing macro expansions. |
| * expand/rust-macro-invoc-lexer.h: Declare `get_token_slice`. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-parse.h: Move `parse_macro_invocation` to public API. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-item.h (class BlockExpr): Remove forward declaration of |
| class `BlockExpr`. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * hir/tree/rust-hir-pattern.h |
| (TuplePatternItemsRanged::get_lower_patterns): Add method. |
| (TuplePatternItemsRanged::get_upper_patterns): Add method. |
| * backend/rust-compile-pattern.cc |
| (CompilePatternLet::visit): Implement TuplePattern visitor. |
| * backend/rust-compile-pattern.h |
| (CompilePatternLet::visit): Move TuplePattern visitor out of header file. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-unify.cc (UnifyRules::go): ensure the bounds are checked |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): remove error message |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-trait-reference.h: add const infterface |
| * typecheck/rust-tyty-subst.cc (SubstitutionParamMapping::get_generic_param): make const |
| (SubstitutionRef::monomorphize): fix issue |
| * typecheck/rust-tyty-subst.h: constify interface |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * util/rust-lang-item.h: |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty-subst.cc (SubstitutionArg::is_conrete): fix check |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * Make-lang.in: update names |
| * backend/rust-compile-expr.cc (CompileExpr::resolve_method_address): |
| update to use new interface |
| * typecheck/rust-coercion.cc (TypeCoercionRules::coerce_borrowed_pointer): likewise |
| * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::unify_site): likewise |
| * typecheck/rust-tyty.cc (BaseType::destructure): likewise |
| (InferType::unify): removed old unify interface |
| (ErrorType::unify): likewise |
| (ADTType::unify): likewise |
| (TupleType::unify): likewise |
| (FnType::unify): likewise |
| (FnPtr::unify): likewise |
| (ClosureType::unify): likewise |
| (ArrayType::unify): likewise |
| (SliceType::unify): likewise |
| (BoolType::unify): likewise |
| (IntType::unify): likewise |
| (UintType::unify): likewise |
| (FloatType::unify): likewise |
| (USizeType::unify): likewise |
| (ISizeType::unify): likewise |
| (CharType::unify): likewise |
| (ReferenceType::unify): likewise |
| (PointerType::unify): likewise |
| (ParamType::unify): likewise |
| (StrType::unify): likewise |
| (NeverType::unify): likewise |
| (PlaceholderType::unify): likewise |
| (ProjectionType::unify): likewise |
| (DynamicObjectType::unify): likewise |
| * typecheck/rust-tyty.h: update destructure interface |
| * typecheck/rust-tyty-rules.h: Removed. |
| * typecheck/rust-unify.cc: New file. |
| * typecheck/rust-unify.h: New file. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-trait-reference.h: change interface to return self |
| * typecheck/rust-hir-trait-resolve.cc: likewise |
| * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_segments): likewise |
| * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): remove monomorphization hack |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty-subst.cc: add missing callback |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty-subst.cc: update copy constructors |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty-bounds.cc: refactor to take a reference |
| * typecheck/rust-tyty-subst.cc: likewise |
| (SubstitutionRef::get_substitution_arguments): likewise |
| (SubstitutionRef::infer_substitions): likewise |
| * typecheck/rust-tyty-subst.h: likewise |
| * typecheck/rust-tyty.cc (ADTType::handle_substitions): likewise |
| (TupleType::handle_substitions): likewise |
| (FnType::handle_substitions): likewise |
| (ClosureType::handle_substitions): likewise |
| (ArrayType::handle_substitions): likewise |
| (SliceType::handle_substitions): likewise |
| (ReferenceType::handle_substitions): likewise |
| (PointerType::handle_substitions): likewise |
| (ParamType::handle_substitions): likewise |
| (ProjectionType::handle_substitions): likewise |
| * typecheck/rust-tyty.h: likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-trait-ref.h: Moved to... |
| * typecheck/rust-hir-trait-reference.h: ...here. |
| * typecheck/rust-hir-trait-resolve.cc: refactor |
| * typecheck/rust-hir-trait-resolve.h (RUST_HIR_TRAIT_RESOLVE_H): likewise |
| * typecheck/rust-hir-type-check.h: likewise |
| * typecheck/rust-tyty.cc: likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * Make-lang.in: update name |
| * typecheck/rust-tyctx.cc: Moved to... |
| * typecheck/rust-typecheck-context.cc: ...here. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-type-check.h: refactor |
| * typecheck/rust-tyctx.cc (TypeCheckContext::iterate): refactor |
| (TypeCheckContext::have_loop_context): likewise |
| (TypeCheckContext::push_new_loop_context): likewise |
| (TypeCheckContext::push_new_while_loop_context): likewise |
| (TypeCheckContext::peek_loop_context): likewise |
| (TypeCheckContext::pop_loop_context): likewise |
| (TypeCheckContext::swap_head_loop_context): likewise |
| (TypeCheckContext::insert_trait_reference): likewise |
| (TypeCheckContext::lookup_trait_reference): likewise |
| (TypeCheckContext::insert_receiver): likewise |
| (TypeCheckContext::lookup_receiver): likewise |
| (TypeCheckContext::insert_associated_type_mapping): likewise |
| (TypeCheckContext::clear_associated_type_mapping): likewise |
| (TypeCheckContext::lookup_associated_type_mapping): likewise |
| (TypeCheckContext::insert_variant_definition): likewise |
| (TypeCheckContext::lookup_variant_definition): likewise |
| (TypeCheckContext::insert_operator_overload): likewise |
| (TypeCheckContext::lookup_operator_overload): likewise |
| (TypeCheckContext::insert_unconstrained_check_marker): likewise |
| (TypeCheckContext::have_checked_for_unconstrained): likewise |
| (TypeCheckContext::insert_resolved_predicate): likewise |
| (TypeCheckContext::lookup_predicate): likewise |
| (TypeCheckContext::insert_query): likewise |
| (TypeCheckContext::query_completed): likewise |
| (TypeCheckContext::query_in_progress): likewise |
| (TypeCheckContext::insert_trait_query): likewise |
| (TypeCheckContext::trait_query_completed): likewise |
| (TypeCheckContext::trait_query_in_progress): likewise |
| (TypeCheckContextItem::Item::Item): likewise |
| (TypeCheckContextItem::TypeCheckContextItem): likewise |
| (TypeCheckContextItem::get_item): likewise |
| (TypeCheckContextItem::get_impl_item): likewise |
| (TypeCheckContextItem::get_trait_item): likewise |
| (TypeCheckContextItem::get_type): likewise |
| * typecheck/rust-tyty.cc (StructFieldType::StructFieldType): likewise |
| (StructFieldType::get_ref): likewise |
| (StructFieldType::get_name): likewise |
| (StructFieldType::get_field_type): likewise |
| (StructFieldType::set_field_type): likewise |
| (StructFieldType::is_concrete): likewise |
| (StructFieldType::debug): likewise |
| (StructFieldType::get_locus): likewise |
| (VariantDef::variant_type_string): likewise |
| (VariantDef::VariantDef): likewise |
| (VariantDef::operator=): likewise |
| (VariantDef::get_error_node): likewise |
| (VariantDef::is_error): likewise |
| (VariantDef::get_id): likewise |
| (VariantDef::get_defid): likewise |
| (VariantDef::get_variant_type): likewise |
| (VariantDef::is_data_variant): likewise |
| (VariantDef::is_dataless_variant): likewise |
| (VariantDef::get_identifier): likewise |
| (VariantDef::num_fields): likewise |
| (VariantDef::get_field_at_index): likewise |
| (VariantDef::get_fields): likewise |
| (VariantDef::lookup_field): likewise |
| (VariantDef::get_discriminant): likewise |
| (VariantDef::as_string): likewise |
| (VariantDef::is_equal): likewise |
| (VariantDef::clone): likewise |
| (VariantDef::monomorphized_clone): likewise |
| (VariantDef::get_ident): likewise |
| (TupleType::TupleType): likewise |
| (TupleType::get_unit_type): likewise |
| (TupleType::is_unit): likewise |
| (TupleType::num_fields): likewise |
| (TupleType::is_concrete): likewise |
| (TupleType::get_fields): likewise |
| (BoolType::BoolType): likewise |
| (BoolType::get_name): likewise |
| (BoolType::is_concrete): likewise |
| (IntType::IntType): likewise |
| (IntType::get_name): likewise |
| (IntType::get_int_kind): likewise |
| (IntType::is_concrete): likewise |
| (UintType::UintType): likewise |
| (UintType::get_name): likewise |
| (UintType::get_uint_kind): likewise |
| (UintType::is_concrete): likewise |
| (FloatType::FloatType): likewise |
| (FloatType::get_name): likewise |
| (FloatType::get_float_kind): likewise |
| (FloatType::is_concrete): likewise |
| (USizeType::USizeType): likewise |
| (USizeType::get_name): likewise |
| (USizeType::is_concrete): likewise |
| (ISizeType::ISizeType): likewise |
| (ISizeType::get_name): likewise |
| (ISizeType::is_concrete): likewise |
| (CharType::CharType): likewise |
| (CharType::is_concrete): likewise |
| (CharType::get_name): likewise |
| (ReferenceType::ReferenceType): likewise |
| (ReferenceType::is_concrete): likewise |
| (ReferenceType::mutability): likewise |
| (ReferenceType::is_mutable): likewise |
| (ReferenceType::is_dyn_object): likewise |
| (ReferenceType::is_dyn_slice_type): likewise |
| (ReferenceType::is_dyn_str_type): likewise |
| (PointerType::PointerType): likewise |
| (PointerType::is_concrete): likewise |
| (PointerType::mutability): likewise |
| (PointerType::is_mutable): likewise |
| (PointerType::is_const): likewise |
| (PointerType::is_dyn_object): likewise |
| (PointerType::is_dyn_slice_type): likewise |
| (PointerType::is_dyn_str_type): likewise |
| (ParamType::ParamType): likewise |
| (ParamType::get_generic_param): likewise |
| (ParamType::can_resolve): likewise |
| (ParamType::is_concrete): likewise |
| (StrType::StrType): likewise |
| (StrType::get_name): likewise |
| (StrType::is_concrete): likewise |
| (NeverType::NeverType): likewise |
| (NeverType::get_name): likewise |
| (NeverType::is_unit): likewise |
| (NeverType::is_concrete): likewise |
| (PlaceholderType::PlaceholderType): likewise |
| (PlaceholderType::get_name): likewise |
| (PlaceholderType::is_unit): likewise |
| (PlaceholderType::get_symbol): likewise |
| (PlaceholderType::is_concrete): likewise |
| (ProjectionType::is_unit): likewise |
| (ProjectionType::get_name): likewise |
| (ProjectionType::needs_generic_substitutions): likewise |
| (ProjectionType::supports_substitutions): likewise |
| (ProjectionType::has_subsititions_defined): likewise |
| (ProjectionType::get): likewise |
| (ProjectionType::is_concrete): likewise |
| (DynamicObjectType::is_concrete): likewise |
| * typecheck/rust-tyty.h: likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-path-probe.cc (PathProbeCandidate::Candidate::Candidate): refactor |
| (PathProbeCandidate::PathProbeCandidate): likewise |
| (PathProbeCandidate::as_string): likewise |
| (PathProbeCandidate::is_enum_candidate): likewise |
| (PathProbeCandidate::is_impl_candidate): likewise |
| (PathProbeCandidate::is_trait_candidate): likewise |
| (PathProbeCandidate::is_full_trait_item_candidate): likewise |
| (PathProbeCandidate::get_error): likewise |
| (PathProbeCandidate::is_error): likewise |
| (PathProbeCandidate::get_defid): likewise |
| (PathProbeCandidate::operator<): likewise |
| * typecheck/rust-hir-path-probe.h (struct PathProbeCandidate): likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-hir-path-probe.cc (PathProbeType::PathProbeType): refactor |
| (PathProbeType::Probe): likewise |
| (PathProbeType::visit): likewise |
| (PathProbeType::process_enum_item_for_candiates): likewise |
| (PathProbeType::process_impl_items_for_candidates): likewise |
| (PathProbeType::is_reciever_generic): likewise |
| (PathProbeImplTrait::PathProbeImplTrait): likewise |
| (PathProbeImplTrait::Probe): likewise |
| (PathProbeImplTrait::process_trait_impl_items_for_candidates): likewise |
| * typecheck/rust-hir-path-probe.h (struct PathProbeCandidate): likewise |
| * typecheck/rust-hir-trait-resolve.cc |
| (PathProbeImplTrait::process_trait_impl_items_for_candidates): likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty.cc (BaseType::BaseType): refactor |
| (BaseType::~BaseType): likewise |
| (BaseType::get_ref): likewise |
| (BaseType::set_ref): likewise |
| (BaseType::get_ty_ref): likewise |
| (BaseType::set_ty_ref): likewise |
| (BaseType::is_equal): likewise |
| (BaseType::is_unit): likewise |
| (BaseType::get_kind): likewise |
| (BaseType::get_combined_refs): likewise |
| (BaseType::append_reference): likewise |
| (BaseType::supports_substitutions): likewise |
| (BaseType::has_subsititions_defined): likewise |
| (BaseType::can_substitute): likewise |
| (BaseType::needs_generic_substitutions): likewise |
| (BaseType::contains_type_parameters): likewise |
| (BaseType::get_ident): likewise |
| (BaseType::get_locus): likewise |
| (InferType::InferType): likewise |
| (InferType::get_infer_kind): likewise |
| (InferType::get_name): likewise |
| (InferType::is_concrete): likewise |
| (ErrorType::ErrorType): likewise |
| (ErrorType::is_unit): likewise |
| (ErrorType::is_concrete): likewise |
| (ErrorType::get_name): likewise |
| (ErrorType::monomorphized_clone): likewise |
| * typecheck/rust-tyty.h (class SubstitutionArgumentMappings): likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-substitution-mapper.cc (SubstMapper::SubstMapper): refactor |
| (SubstMapper::Resolve): likewise |
| (SubstMapper::InferSubst): likewise |
| (SubstMapper::have_generic_args): likewise |
| (SubstMapper::visit): likewise |
| (SubstMapperInternal::visit): likewise |
| (SubstMapperFromExisting::SubstMapperFromExisting): likewise |
| (SubstMapperFromExisting::Resolve): likewise |
| (SubstMapperFromExisting::visit): likewise |
| (GetUsedSubstArgs::GetUsedSubstArgs): likewise |
| (GetUsedSubstArgs::From): likewise |
| (GetUsedSubstArgs::visit): likewise |
| * typecheck/rust-substitution-mapper.h: refactor |
| * typecheck/rust-tyty-subst.cc (SubstitutionParamMapping::get_generic_param): likewise |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * Make-lang.in: update the makefile |
| * typecheck/rust-tyty.cc (SubstitutionParamMapping::need_substitution): likewise |
| (SubstitutionParamMapping::override_context): likewise |
| (SubstitutionRef::get_mappings_from_generic_args): likewise |
| (SubstitutionRef::infer_substitions): likewise |
| (SubstitutionRef::are_mappings_bound): likewise |
| (SubstitutionRef::solve_missing_mappings_from_this): likewise |
| (SubstitutionRef::monomorphize): likewise |
| * typecheck/rust-tyty.h (class SubstitutionParamMapping): likewise |
| (class SubstitutionArg): likewise |
| (std::function<void): likewise |
| (class SubstitutionArgumentMappings): likewise |
| (class SubstitutionRef): likewise |
| * typecheck/rust-tyty-subst.cc: New file. |
| * typecheck/rust-tyty-subst.h: New file. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * Make-lang.in: update makefile |
| * typecheck/rust-tyty.cc (TyVar::TyVar): move to new file |
| (TyVar::get_tyty): likewise |
| (TyVar::get_implicit_infer_var): likewise |
| (TyVar::subst_covariant_var): likewise |
| (TyVar::clone): likewise |
| (TyVar::monomorphized_clone): likewise |
| (TyWithLocation::TyWithLocation): likewise |
| * typecheck/rust-tyty.h (class BaseType): cleanup |
| (class TypeBoundPredicate): move to its own file |
| (class TypeBoundPredicateItem): likewise |
| (class TypeBoundsMappings): likewise |
| (class TyVar): likewise |
| (class TyWithLocation): likewise |
| * typecheck/rust-tyty-bounds.h: New file. |
| * typecheck/rust-tyty-util.cc: New file. |
| * typecheck/rust-tyty-util.h: New file. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * typecheck/rust-tyty-bounds.cc (TypeBoundPredicateItem::error): refactor |
| (TypeBoundPredicateItem::is_error): likewise |
| (TypeBoundPredicateItem::get_parent): likewise |
| * typecheck/rust-tyty.h: Move the implementation for the above |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Removed copy-pasted comment. |
| |
| 2023-04-06 mxlol233 <mxlol233@outlook.com> |
| |
| * Make-lang.in: Add object files: `rust-feature.o` and `rust-feature-gate.o` |
| * checks/errors/rust-feature-gate.cc: New file. |
| * checks/errors/rust-feature-gate.h: New file. |
| * checks/errors/rust-feature.cc: New file. |
| * checks/errors/rust-feature.h: New file. |
| * rust-session-manager.cc: Add FeatureGate check. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-parse-impl.h (Parser::parse_closure_expr): Advance tokens |
| properly when parsing closure param list. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-parse-impl.h (Parser::parse_generic_arg): Handle type |
| paths and nested generics properly. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * ast/rust-pattern.h: |
| (ReferencePattern::is_double_reference): Add method. |
| (ReferencePattern::get_is_mut): Add method. |
| * hir/rust-ast-lower-pattern.cc |
| (ASTLoweringPattern::visit): Add ReferencePattern visitor. |
| * hir/rust-ast-lower-pattern.h: |
| (ASTLoweringPattern::visit): Add ReferencePattern visitor. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * hir/tree/rust-hir-pattern.h |
| (class ReferencePattern): Remove has_two_amps field. |
| * hir/tree/rust-hir-full-test.cc |
| (ReferencePattern::as_string): Remove usage of ReferencePattern::has_two_amps. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * backend/rust-compile-fnparam.h |
| (CompileFnParam::visit): Remove HIR::GroupedPattern visitor. |
| * backend/rust-compile-pattern.cc |
| (CompilePatternCaseLabelExpr::visit): Remove HIR::GroupedPattern visitor. |
| (CompilePatternBindings::visit): Remove HIR::GroupedPattern visitor. |
| * backend/rust-compile-pattern.h |
| (CompilePatternCaseLabelExpr::visit): Remove HIR::GroupedPattern visitor. |
| (CompilePatternBindings::visit): Remove HIR::GroupedPattern visitor. |
| (CompilePatternLet::visit): Remove HIR::GroupedPattern visitor. |
| * backend/rust-compile-resolve-path.h |
| (ResolvePathRef::visit): Remove HIR::GroupedPattern visitor. |
| * backend/rust-compile-var-decl.h |
| (CompileVarDecl::visit): Remove HIR::GroupedPattern visitor. |
| * checks/errors/rust-const-checker.cc |
| (ConstChecker::visit): Remove HIR::GroupedPattern visitor. |
| * checks/errors/rust-const-checker.h |
| (ConstChecker::visit): Remove HIR::GroupedPattern visitor. |
| * checks/errors/rust-unsafe-checker.cc |
| (UnsafeChecker::visit): Remove HIR::GroupedPattern visitor. |
| * checks/errors/rust-unsafe-checker.h |
| (UnsafeChecker::visit): Remove HIR::GroupedPattern visitor. |
| * hir/rust-hir-dump.cc (Dump::visit): Remove HIR::GroupedPattern visitor. |
| * hir/rust-hir-dump.h (Dump::visit): Remove HIR::GroupedPattern visitor. |
| * hir/tree/rust-hir-full-decls.h (class GroupedPattern): Remove class. |
| * hir/tree/rust-hir-full-test.cc (GroupedPattern::accept_vis): Remove method. |
| * hir/tree/rust-hir-pattern.h (class GroupedPattern): Remove class. |
| * hir/tree/rust-hir-visitor.h |
| (HIRFullVisitor::visit): Remove HIR::GroupedPattern visitor. |
| (HIRFullVisitorBase::visit): Remove HIR::GroupedPattern visitor. |
| (HIRPatternVisitor::visit): Remove HIR::GroupedPattern visitor. |
| * typecheck/rust-hir-type-check-pattern.cc |
| (TypeCheckPattern::visit): Remove HIR::GroupedPattern visitor. |
| * typecheck/rust-hir-type-check-pattern.h |
| (TypeCheckPattern::visit): Remove HIR::GroupedPattern visitor. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * hir/rust-ast-lower-pattern.cc |
| (ASTLoweringPattern::visit): Lower AST::GroupedPattern to its inner pattern. |
| |
| 2023-04-06 MAHAD <mahadtxt@gmail.com> |
| |
| * rust-buffered-queue.h: Moved to... |
| * util/rust-buffered-queue.h: ...here. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-parse-impl.h (Parser::parse_type): Handle double ampersan |
| properly |
| (Parser::parse_reference_type): Call into `parse_reference_type_inner` |
| and wrap double reference types in another `AST::ReferenceType` node |
| (Parser::parse_reference_type_inner): Add parsing implementation |
| which does not care about the leading token (& or &&) |
| (Parser::parse_type_no_bounds): Handle double ampersand properly |
| * parse/rust-parse.h: Declare `parse_reference_type_inner` |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * backend/rust-compile-pattern.cc (CompilePatternLet::visit): New function. |
| * backend/rust-compile-stmt.cc (CompileStmt::visit): Likewise. |
| * backend/rust-compile-pattern.h (class CompilePatternLet): New visitor. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-macro.h (enum class): Add `BuiltinMacro` enum class. |
| * expand/rust-attribute-visitor.cc (AttrVisitor::visit): Mention |
| switching on `macro.kind` once builtin macro invocations are properly |
| handled. |
| * parse/rust-parse-impl.h (Parser::parse_macro_invocation): Switch to new MacroInvocation |
| API. |
| (Parser::parse_type): Likewise. |
| (Parser::parse_type_no_bounds): Likewise. |
| |
| 2023-04-06 Abdul Rafey <abdulrafeyq@gmail.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): removed extra indentations in trait ast dump |
| |
| 2023-04-06 Abdul Rafey <abdulrafeyq@gmail.com> |
| |
| * parse/rust-parse-impl.h (Parser::null_denotation): Add proper error |
| when seeing wildcard var on right side of assignment. |
| |
| 2023-04-06 Abdul Rafey <abdulrafeyq@gmail.com> |
| |
| * ast/rust-ast.cc: Fix include list. |
| * ast/rust-expr.h: Likewise. |
| * hir/tree/rust-hir-expr.h: Likewise. |
| * rust-backend.h: Likewise. |
| * util/rust-lang-item.h: Likewise. |
| * operator.h: Moved to... |
| * util/rust-operators.h: ...here. |
| |
| 2023-04-06 Parthib <parthibdutta02@gmail.com> |
| |
| * Make-lang.in: Rename object file. |
| * ast/rust-ast-full-test.cc: Moved to... |
| * ast/rust-ast.cc: ...here. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * backend/rust-compile-pattern.cc (CompilePatternCaseLabelExpr::visit): Add proper |
| visitor. |
| (CompilePatternBindings::visit): Likewise. |
| * backend/rust-compile-pattern.h: Declare them. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): Add proper |
| visitor. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * hir/tree/rust-hir-pattern.h: Add get_item method. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::visit): Add proper visitor. |
| * hir/rust-ast-lower-pattern.h: Declare it. |
| |
| 2023-04-06 Lyra <teromene@teromene.fr> |
| |
| * expand/rust-macro-expand.cc (transcribe_expression): Fix ICE when expanding |
| empty macros. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * resolve/rust-ast-resolve-pattern.h: Support GroupedPattern properly. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * backend/rust-compile-base.cc (HIRCompileBase::compile_locals_for_block): |
| Allow patterns to declare zero or multiple variables. |
| * backend/rust-compile-var-decl.h: Change function declaration. |
| |
| 2023-04-06 mxlol233 <mxlol233@outlook.com> |
| |
| * lex/rust-lex.cc (Lexer::build_token): Make location enclose entire token. |
| (Lexer::parse_byte_char): Likewise. |
| (Lexer::parse_byte_string): Likewise. |
| (Lexer::parse_raw_byte_string): Likewise. |
| (Lexer::parse_raw_identifier): Likewise. |
| (Lexer::parse_string): Likewise. |
| (Lexer::parse_identifier_or_keyword): Likewise. |
| (Lexer::parse_raw_string): Likewise. |
| (Lexer::parse_non_decimal_int_literal): Likewise. |
| (Lexer::parse_decimal_int_or_float): Likewise. |
| (Lexer::parse_char_or_lifetime): Likewise. |
| |
| 2023-04-06 mxlol233 <mxlol233@outlook.com> |
| |
| * ast/rust-ast.h: Add get_locus method. |
| * ast/rust-expr.h: Likewise. |
| * ast/rust-macro.h: Likewise. |
| |
| 2023-04-06 Owen Avery <powerboat9.gamer@gmail.com> |
| |
| * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Cleanup LetStmt |
| type checking. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * hir/tree/rust-hir-path.h: Add const get_identifier and get_type method. |
| * typecheck/rust-hir-path-probe.h: Use new SubstitutionArgumentMappings constructor. |
| * typecheck/rust-hir-trait-resolve.cc: Likewise. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise. |
| * typecheck/rust-tyty-bounds.cc (TypeCheckBase::get_predicate_from_bound): |
| Do not assert failure on size mismatch anymore. |
| (TypeBoundPredicate::TypeBoundPredicate): Use new SubstitutionArgumentMappings constructor. |
| (TypeBoundPredicate::operator=): Likewise. |
| (TypeBoundPredicate::apply_generic_arguments): Likewise. |
| (TypeBoundPredicateItem::get_tyty_for_receiver): Likewise. |
| (TypeBoundPredicate::get_num_associated_bindings): Likewise. |
| (TypeBoundPredicate::lookup_associated_type): Fix implementation for new system. |
| (TypeBoundPredicate::get_associated_type_items): Likewise. |
| * typecheck/rust-tyty.cc (SubstitutionRef::get_mappings_from_generic_args): Add new |
| behavior. |
| (SubstitutionRef::infer_substitions): Use new constructor and add comment. |
| (SubstitutionRef::solve_missing_mappings_from_this): Use new constructor. |
| * typecheck/rust-tyty.h: Define new constructors. |
| |
| 2023-04-06 Philip Herron <herron.philip@googlemail.com> |
| |
| * resolve/rust-ast-resolve-type.cc (ResolveGenericArgs::go): Add name resolution to |
| Trait items. |
| |
| 2023-04-06 Raiki Tamura <tamaron1203@gmail.com> |
| |
| * ast/rust-ast-full-decls.h (class MacroItem): Remove forward declaration. |
| * ast/rust-ast-full-test.cc (MacroRulesDefinition): |
| Rework MacroRulesDefinition class |
| * ast/rust-ast.h (class MacroItem): Remove abstract class. |
| * ast/rust-item.h (class MacroItem): Remove forward declaration. |
| * ast/rust-macro.h (class MacroItem): Likewise. |
| (class MacroRulesDefinition): Add MacroKind enum. |
| (class MacroInvocation): Fix inheritance. |
| * lex/rust-token.h: Token "macro" is now used. |
| * parse/rust-parse-impl.h (Parser::parse_item): Add handling for MACRO. |
| (Parser::parse_vis_item): Call into parse_decl_macro_def. |
| (Parser::parse_macro_item): Delete function. |
| (Parser::parse_macro_rules_def): Return MBE macros only. |
| (Parser::parse_decl_macro_def): New function. |
| (Parser::parse_stmt): Handle MACRO token. |
| (Parser::parse_stmt_or_expr_without_block): Call into parse_macro_rules_def. |
| * parse/rust-parse.h: Declare new function. |
| |
| 2023-04-06 mxlol233 <mxlol233@outlook.com> |
| |
| * parse/rust-parse-impl.h (Parser::parse_generic_arg): Add proper bound parsing. |
| |
| 2023-04-06 Dave <dme2223@gmail.com> |
| |
| * checks/errors/rust-const-checker.cc (ConstChecker::visit): Use StackedContext |
| class. |
| |
| 2023-04-06 Prajwal S N <prajwalnadig21@gmail.com> |
| |
| * checks/errors/rust-unsafe-checker.cc (check_target_attr): New function. |
| (UnsafeChecker::check_function_attr): Call into `check_target_attr`. |
| (UnsafeChecker::visit): Check for target_feature attributes. |
| * checks/errors/rust-unsafe-checker.h: Add declarations. |
| * util/rust-attributes.cc: Add attribute. |
| |
| 2023-04-06 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * rust-session-manager.cc (Session::compile_crate): Fix typo. |
| |
| 2023-02-22 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * rust-lang.cc (grs_langhook_type_for_mode): Also consider all |
| 'int_n' modes/types. |
| |
| 2023-02-22 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * rust-lang.cc (grs_langhook_init): Do not initialize |
| void_list_node. |
| |
| 2023-02-22 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config-lang.in (target_libs): Remove. |
| |
| 2023-02-21 Raiki Tamura <tamaron1203@gmail.com> |
| |
| * backend/rust-builtins.cc (BuiltinsContext::setup_math_fns): New functions. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-constexpr.cc (get_nth_callarg): Remove function. |
| (rs_bind_parameters_in_call): Use CALL_EXPR_ARG instead. |
| (potential_constant_expression_1): Likewise. |
| |
| 2023-02-21 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * lang.opt: Fix ordering of file. |
| |
| 2023-02-21 Philip Herron <herron.philip@googlemail.com> |
| |
| * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Remove unused parameters. |
| * backend/rust-constexpr.cc (constant_value_1): Likewise. |
| (fold_non_dependent_init): Likewise. |
| * backend/rust-tree.cc (publicly_uniquely_derived_p): Likewise. |
| (instantiation_dependent_expression_p): Likewise. |
| (type_has_nontrivial_copy_init): Likewise. |
| (is_normal_capture_proxy): Likewise. |
| (resolve_nondeduced_context): Likewise. |
| (undeduced_auto_decl): Likewise. |
| (require_deduced_type): Likewise. |
| * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise. |
| * checks/errors/privacy/rust-reachability.cc (ReachabilityVisitor::visit): Likewise. |
| * checks/errors/privacy/rust-visibility-resolver.cc (VisibilityResolver::visit): Likewise. |
| * checks/errors/rust-const-checker.cc (ConstChecker::visit): Likewise. |
| * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise. |
| * checks/lints/rust-lint-marklive.cc (MarkLive::go): Likewise. |
| * checks/lints/rust-lint-unused-var.cc (unused_var_walk_fn): Likewise. |
| * expand/rust-macro-builtins.cc (try_expand_single_string_literal): Likewise. |
| (try_expand_many_expr): Likewise. |
| (parse_single_string_literal): Likewise. |
| (MacroBuiltin::assert_handler): Likewise. |
| (MacroBuiltin::file_handler): Likewise. |
| (MacroBuiltin::column_handler): Likewise. |
| (MacroBuiltin::concat_handler): Likewise. |
| (MacroBuiltin::env_handler): Likewise. |
| (MacroBuiltin::line_handler): Likewise. |
| * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Likewise. |
| (ASTLoweringBase::handle_doc_item_attribute): Likewise. |
| * hir/rust-hir-dump.cc (Dump::visit): Likewise. |
| * hir/tree/rust-hir-full-test.cc (ConstGenericParam::accept_vis): Likewise. |
| * lex/rust-lex.cc (Lexer::parse_utf8_escape): Likewise. |
| (Lexer::parse_string): Likewise. |
| (Lexer::parse_char_or_lifetime): Likewise. |
| * lex/rust-lex.h: Likewise. |
| * metadata/rust-export-metadata.cc: Likewise. |
| * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Likewise. |
| * resolve/rust-ast-resolve-type.cc (ResolveType::visit): Likewise. |
| (ResolveTypeToCanonicalPath::visit): Likewise. |
| * resolve/rust-ast-verify-assignee.h: Likewise. |
| * resolve/rust-early-name-resolver.cc (EarlyNameResolver::visit): Likewise. |
| * typecheck/rust-hir-type-check-expr.h: Likewise. |
| * typecheck/rust-hir-type-check-item.h: Likewise. |
| * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): Likewise. |
| * typecheck/rust-tyty-rules.h: Likewise. |
| * util/rust-attributes.cc (AttributeChecker::visit): Likewise. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/tree/rust-hir-expr.h: Add const `get_method_name`. |
| * hir/tree/rust-hir-full-decls.h (struct GenericArgs): Move from `struct`... |
| (class GenericArgs): ...to `class`. |
| * hir/tree/rust-hir-path.h (struct GenericArgs): Likewise. |
| (class GenericArgs): Clear `type_args` in copy constructor. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Reorder |
| debug print. |
| * typecheck/rust-tyty.h: Add default constructors for `SubstitutionArgumentMappings`. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-context.cc (Context::push_closure_context): New function. |
| (Context::pop_closure_context): Likewise. |
| (Context::insert_closure_binding): Likewise. |
| (Context::lookup_closure_binding): Likewise. |
| * backend/rust-compile-context.h: Declare new functions and closure mappings. |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Visit captures properly. |
| (CompileExpr::generate_closure_function): Compile captures properly. |
| * backend/rust-compile-resolve-path.cc (ResolvePathRef::resolve): Check for |
| closure bindings. |
| * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Compile capture list's |
| types as well. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Pass captures |
| properly to `TyTy::ClosureType` constructor. |
| * typecheck/rust-tyty.cc (ClosureType::as_string): Fix string representation. |
| (ClosureType::clone): Pass `captures` argument. |
| * typecheck/rust-tyty.h: Add `captures` field. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Use proper closure |
| contexts. |
| * resolve/rust-name-resolver.cc (Scope::lookup_decl_type): New function. |
| (Scope::lookup_rib_for_decl): Likewise. |
| (Resolver::insert_resolved_name): Insert captured items. |
| (Resolver::push_closure_context): New function. |
| (Resolver::pop_closure_context): Likewise. |
| (Resolver::insert_captured_item): Likewise. |
| (Resolver::decl_needs_capture): Likewise. |
| (Resolver::get_captures): Likewise. |
| * resolve/rust-name-resolver.h: Declare new functions. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Add Rib argument. |
| (ResolveExpr::resolve_closure_param): Likewise. |
| * resolve/rust-ast-resolve-implitem.h: Likewise. |
| * resolve/rust-ast-resolve-item.cc (ResolveTraitItems::visit): Likewise. |
| (ResolveItem::visit): Likewise. |
| * resolve/rust-ast-resolve-pattern.cc (PatternDeclaration::visit): Likewise. |
| * resolve/rust-ast-resolve-pattern.h: Likewise. |
| * resolve/rust-ast-resolve-stmt.h: Likewise. |
| * resolve/rust-ast-resolve-toplevel.h: Likewise. |
| * resolve/rust-ast-resolve-type.h: Likewise. |
| * resolve/rust-name-resolver.cc (Rib::lookup_decl_type): Likewise. |
| (Scope::insert): Likewise. |
| (Resolver::insert_builtin_types): Likewise. |
| * resolve/rust-name-resolver.h: Likewise. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-name-resolver.cc (MKBUILTIN_TYPE): Remove macro. |
| (Rib::Rib): Remove `mappings` field. |
| (Resolver::generate_builtins): Use `setup_builtin` instead of macro. |
| (Resolver::setup_builtin): New function. |
| * resolve/rust-name-resolver.h: Declare `setup_builtin`, add FIXME |
| comment. |
| |
| 2023-02-21 Raiki Tamura <tamaron1203@gmail.com> |
| |
| * lex/rust-lex.cc (Lexer::Lexer): Add `dump_lex` boolean flag. |
| (Lexer::skip_token): Dump tokens if flag is enabled. |
| (Lexer::dump_and_skip): New function. |
| * lex/rust-lex.h: Include optional.h and declare functions. |
| * parse/rust-parse-impl.h (Parser::debug_dump_lex_output): Remove old |
| unused function. |
| * parse/rust-parse.h: Likewise. |
| * rust-session-manager.cc (Session::compile_crate): Pass lexer dump |
| option to lexer. |
| (Session::dump_lex): New function. |
| * util/rust-optional.h: Add missing constructor. |
| |
| 2023-02-21 Dave <dme2223@gmail.com> |
| |
| * ast/rust-item.h: Remoe default location for Visibility class. |
| * parse/rust-parse-impl.h (Parser::parse_visibility): Pass proper location |
| when instantiating visibilities. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Fix dumping of fn params. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Remove extraneous string when |
| dumping statements. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc: Remove unused include. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| * ast/rust-ast-dump.h: Likewise. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| * ast/rust-ast-dump.h: Add missing getter declaration. |
| * ast/rust-ast-full-test.cc (BareFunctionType::as_string): Fix bare function |
| string representation. |
| * ast/rust-type.h (class BareFunctionType): Declare said getter. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing tuple type visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing never type visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing RawPointer visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing array visitor |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing slice visitor. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitors. |
| * ast/rust-ast-dump.h: Likewise. |
| * ast/rust-ast.h: Add `get_lifetime_bounds` method. |
| * ast/rust-item.h: Add missing getter for lifetimes. |
| * ast/rust-type.h: Likewise. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add new reference visitor wrapper. |
| * ast/rust-ast-dump.h: Declare it. |
| * ast/rust-item.h: Add mutable visibility getters. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Fix extra call |
| to `delete`. |
| |
| 2023-02-21 Dave <dme2223@gmail.com> |
| |
| * ast/rust-item.h: Add location member. |
| * hir/rust-ast-lower.cc (translate_visibility): Pass location argument. |
| * hir/tree/rust-hir-item.h: Fix constructor to accept Location argument. |
| |
| 2023-02-21 Raiki Tamura <tamaron1203@gmail.com> |
| |
| * util/rust-lang-item.h: Add handling for `phantom_data` lang item. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add handling for unit structures. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.h: Fix documentation. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::go): Use new API. |
| (Dump::format_function_param): Refactor. |
| (Dump::visit_items_joined_by_separator): New function. |
| (Dump::emit_attrib): Refactor. |
| (Dump::visit_as_line): New function. |
| (Dump::visit_items_as_lines): Likewise. |
| (Dump::visit_items_as_block): Likewise. |
| (Dump::visit): Use new API. |
| (Dump::emit_visibility): Likewise. |
| (Dump::emit_indented_string): Likewise. |
| (Dump::emit_generic_params): Likewise. |
| (Dump::format_tuple_field): Likewise. |
| (Dump::format_struct_field): Likewise. |
| (Dump::format_function_common): Likewise. |
| (Dump::visit_function_common): Likewise. |
| * ast/rust-ast-dump.h: Declare new functions and add documentation. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add new visit function for overloading. |
| * ast/rust-ast-dump.h: Add documentation for layer. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-builtins.cc (BuiltinsContext::setup_atomic_fns): Declare atomic |
| load intrinsics. |
| * backend/rust-compile-intrinsic.cc (atomic_load_handler_inner): New handler. |
| (atomic_load_handler): Likewise. |
| (unchecked_op_handler): Remove `static` function qualifier. |
| (build_atomic_builtin_name): Handle load intrinsics. |
| (atomic_store_handler_inner): New handler. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-compile-intrinsic.cc (check_for_basic_integer_type): New function. |
| (build_atomic_builtin_name): Use HIR Type instead of `tree`. |
| (atomic_store_handler_inner): Cleanup error handling. |
| (unchecked_op_inner): Likewise. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-compile-intrinsic.cc (wrapping_op_handler): Refactor to return |
| an `std::function`. |
| (wrapping_op_handler_inner): Rename. |
| (wrapping_add_handler): Remove function. |
| (wrapping_sub_handler): Likewise. |
| (wrapping_mul_handler): Likewise. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-compile-intrinsic.cc (is_basic_integer_type): New function. |
| (unchecked_op_inner): New handler. |
| (unchecked_op_handler): New handler. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-builtins.cc (BuiltinsContext::setup_atomic_fns): New function. |
| (BuiltinsContext::setup): Call `setup_atomic_fns`. |
| * backend/rust-builtins.h: Declare `setup_atomic_fns`. |
| * backend/rust-compile-intrinsic.cc (atomic_store_handler_inner): New function. |
| (atomic_store_handler): New handler. |
| (make_unsigned_long_tree): Add helper around making unsigned long trees. |
| (prefetch_data_handler): Use `make_unsigned_long_tree`. |
| (build_atomic_builtin_name): New function. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-constexpr.cc (build_anon_member_initialization): Workaround uninitialized |
| values. |
| (build_data_member_initialization): Likewise. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-compile-intrinsic.cc (sorry_handler): New intrinsic handler. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * expand/rust-macro-builtins.cc (MacroBuiltin::assert): Rename to... |
| (MacroBuiltin::assert_handler): ..this. |
| (MacroBuiltin::file): Rename to... |
| (MacroBuiltin::file_handler): ..this. |
| (MacroBuiltin::column): Rename to... |
| (MacroBuiltin::column_handler): ..this. |
| (MacroBuiltin::include_bytes): Rename to... |
| (MacroBuiltin::include_bytes_handler): ..this. |
| (MacroBuiltin::include_str): Rename to... |
| (MacroBuiltin::include_str_handler): ..this. |
| (MacroBuiltin::compile_error): Rename to... |
| (MacroBuiltin::compile_error_handler): ..this. |
| (MacroBuiltin::concat): Rename to... |
| (MacroBuiltin::concat_handler): ..this. |
| (MacroBuiltin::env): Rename to... |
| (MacroBuiltin::env_handler): ..this. |
| (MacroBuiltin::cfg): Rename to... |
| (MacroBuiltin::cfg_handler): ..this. |
| (MacroBuiltin::include): Rename to... |
| (MacroBuiltin::include_handler): ..this. |
| (MacroBuiltin::line): Rename to... |
| (MacroBuiltin::line_handler): ..this. |
| * expand/rust-macro-builtins.h: Rename all handlers. |
| * util/rust-hir-map.cc (Mappings::insert_macro_def): Use new handler |
| names. |
| |
| 2023-02-21 Simon Cook <simon.cook@embecosm.com> |
| |
| * util/rust-inline-visitor.h: Remove some offending system includes. |
| |
| 2023-02-21 YizhePKU <yizhe@pku.edu.cn> |
| |
| * util/rust-inline-visitor.h: New file. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Refactor checking of closures. |
| (CompileExpr::generate_possible_fn_trait_call): New function. |
| * backend/rust-compile-expr.h: Declare `generate_possible_fn_trait_call`. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-tyty-bounds.cc (TypeCheckBase::get_predicate_from_bound): Add missing |
| implementation. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * Make-lang.in: Compile rust-ast-lower-type.cc. |
| * ast/rust-path.h: Add `get_locus` method to `TypePathFunction`. |
| * hir/rust-ast-lower-base.cc (ASTLowerTypePath::visit): Move implementation to |
| rust-ast-lower-type.cc. |
| (ASTLowerQualifiedPathInType::visit): Likewise. |
| (ASTLoweringType::visit): Likewise. |
| * hir/rust-ast-lower-type.h: Move implementations to source file. |
| * hir/tree/rust-hir-path.h: Likewise. |
| * hir/rust-ast-lower-type.cc: New file. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-ast-resolve-type.cc (ResolveRelativeTypePath::go): Add missing handling of |
| function case. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-context.h: Add new functions: `insert_closure_decl` and |
| `lookup_closure_decl`. |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Start compiling Closures properly. |
| (CompileExpr::generate_closure_function): New function. |
| (CompileExpr::generate_closure_fntype): Likewise. |
| * backend/rust-compile-expr.h: Declare `generate_closure_function` and |
| `generate_closure_fntype`. |
| * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Visit closure types properly. |
| * backend/rust-mangle.cc (legacy_mangle_name): Add support for closures. |
| * backend/rust-tree.h (RS_CLOSURE_FLAG): Add new tree macro. |
| (RS_CLOSURE_TYPE_P): And checking for it on tree nodes. |
| * typecheck/rust-tyty.cc (ClosureType::is_equal): Add implementation. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/tree/rust-hir-expr.h: Add `get_params` method. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Typecheck closure nodes. |
| (TypeCheckExpr::resolve_fn_trait_call): New function. |
| * typecheck/rust-hir-type-check-expr.h: Declare `resolve_fn_trait_call` and |
| `resolve_possible_fn_trait_call_method_name`. |
| * typecheck/rust-hir-type-check.h: Declare `get_context_type`. |
| * typecheck/rust-tyctx.cc (TypeCheckContextItem::get_context_type): New function. |
| * typecheck/rust-tyty-cmp.h: Visit closures properly. |
| * typecheck/rust-tyty-rules.h: Likewise. |
| * typecheck/rust-tyty.cc (BaseType::bounds_compatible): Add commented out assertin. |
| (ClosureType::as_string): Implement it. |
| (ClosureType::clone): Fix closure cloning. |
| (ClosureType::setup_fn_once_output): New function. |
| * typecheck/rust-tyty.h: Improve `ClosureType` class and declare `setup_fn_once_output`. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * checks/errors/rust-const-checker.cc (ConstChecker::visit): Visit closures properly. |
| * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise. |
| * checks/lints/rust-lint-marklive.h: Likewise. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Simplify method |
| call type checking by removing visitor and instead using one static cast. Use the |
| new interface. |
| * typecheck/rust-tyty-call.cc (TypeCheckMethodCallExpr::visit): Likewise. |
| (TypeCheckMethodCallExpr::go): Likewise. |
| (TypeCheckMethodCallExpr::check): Likewise. |
| * typecheck/rust-tyty-call.h (class TypeCheckMethodCallExpr): Likewise. |
| (class Argument): Likewise. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Visit closure properly when |
| name resolving. |
| (ResolveExpr::resolve_closure_param): Implement closure name resolving. |
| * resolve/rust-ast-resolve-expr.h: Declare visitors for closure types. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/rust-ast-lower-pattern.cc (ASTLoweringPattern::ASTLoweringPattern): |
| Improve formatting. |
| (ASTLoweringPattern::translate): Likewise. |
| * hir/rust-ast-lower-pattern.h: Likewise. |
| * resolve/rust-ast-resolve-expr.h: Likewise. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * Make-lang.in: Add new object file for expression lowering. |
| * ast/rust-expr.h: Move implementation of expr lowering to source file. |
| * backend/rust-compile-block.h: Likewise. |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise. |
| * backend/rust-compile-expr.h: Likewise. |
| * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise. |
| * checks/errors/privacy/rust-privacy-reporter.h: Likewise. |
| * checks/errors/rust-const-checker.cc (ConstChecker::visit): Likewise. |
| * checks/errors/rust-const-checker.h: Likewise. |
| * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise. |
| * checks/errors/rust-unsafe-checker.h: Likewise. |
| * hir/rust-ast-lower-base.h: Likewise. |
| * hir/rust-ast-lower-expr.h (RUST_AST_LOWER_EXPR): Likewise. |
| * hir/rust-ast-lower.cc (ASTLoweringBase::lower_closure_param): Likewise. |
| * hir/rust-hir-dump.cc (Dump::visit): Likewise. |
| * hir/rust-hir-dump.h: Likewise. |
| * hir/tree/rust-hir-expr.h (class ClosureExpr): Likewise. |
| (class ClosureExprInner): Likewise. |
| (class ClosureExprInnerTyped): Likewise. |
| * hir/tree/rust-hir-full-decls.h (class ClosureExprInner): Likewise. |
| (class ClosureExprInnerTyped): Likewise. |
| * hir/tree/rust-hir-full-test.cc (ClosureExprInnerTyped::as_string): Likewise. |
| (ClosureExprInner::as_string): Likewise. |
| (ClosureExprInner::accept_vis): Likewise. |
| (ClosureExpr::accept_vis): Likewise. |
| (ClosureExprInnerTyped::accept_vis): Likewise. |
| * hir/tree/rust-hir-visitor.h: Likewise. |
| * hir/tree/rust-hir.h (class Expr): Likewise. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise. |
| * typecheck/rust-hir-type-check-expr.h: Likewise. |
| * hir/rust-ast-lower-expr.cc: New file. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/rust-lang-item.h: Add handling for `fn_once_output`. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-fragment.cc (Fragment::Fragment): Add better APIs. |
| (Fragment::complete): New function. |
| (Fragment::unexpanded): New function. |
| * ast/rust-ast-fragment.h: Declare new APIs and add documentation. |
| * expand/rust-attribute-visitor.h: Use new Fragment API. |
| * expand/rust-macro-builtins.cc (MacroBuiltin::file): Likewise. |
| (MacroBuiltin::column): Likewise. |
| (MacroBuiltin::include_bytes): Likewise. |
| (MacroBuiltin::include_str): Likewise. |
| (MacroBuiltin::concat): Likewise. |
| (MacroBuiltin::env): Likewise. |
| (MacroBuiltin::cfg): Likewise. |
| (MacroBuiltin::include): Likewise. |
| (MacroBuiltin::line): Likewise. |
| * expand/rust-macro-expand.cc (parse_many): Likewise. |
| (transcribe_expression): Likewise. |
| (transcribe_type): Likewise. |
| * expand/rust-macro-expand.h (struct MacroExpander): Likewise. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast.h (class ASTFragment): Remove old ASTFragment class. |
| * ast/rust-macro.h (class MacroRulesDefinition): Use new Fragment API. |
| * expand/rust-attribute-visitor.h: Likewise. |
| * expand/rust-macro-builtins.cc (macro_end_token): Likewise. |
| (MacroBuiltin::assert): Likewise. |
| (MacroBuiltin::file): Likewise. |
| (MacroBuiltin::column): Likewise. |
| (MacroBuiltin::include_bytes): Likewise. |
| (MacroBuiltin::include_str): Likewise. |
| (MacroBuiltin::compile_error): Likewise. |
| (MacroBuiltin::concat): Likewise. |
| (MacroBuiltin::env): Likewise. |
| (MacroBuiltin::cfg): Likewise. |
| (MacroBuiltin::include): Likewise. |
| (MacroBuiltin::line): Likewise. |
| * expand/rust-macro-builtins.h: Likewise. |
| * expand/rust-macro-expand.cc (MacroExpander::expand_decl_macro): Likewise. |
| (MacroExpander::expand_invoc): Likewise. |
| (MacroExpander::match_repetition): Likewise. |
| (parse_many): Likewise. |
| (transcribe_many_items): Likewise. |
| (transcribe_many_ext): Likewise. |
| (transcribe_many_trait_items): Likewise. |
| (transcribe_many_impl_items): Likewise. |
| (transcribe_many_trait_impl_items): Likewise. |
| (transcribe_expression): Likewise. |
| (transcribe_type): Likewise. |
| (transcribe_on_delimiter): Likewise. |
| (tokens_to_str): Likewise. |
| * expand/rust-macro-expand.h (struct MacroExpander): Likewise. |
| * util/rust-hir-map.cc (Mappings::insert_macro_def): Likewise. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * Make-lang.in: Add `rust-ast-fragment.o` object file. |
| * ast/rust-ast-fragment.cc: New file. |
| * ast/rust-ast-fragment.h: New file. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_trait): Check if a |
| trait query is currently in progress. |
| * typecheck/rust-hir-type-check.h (class TraitQueryGuard): Add helpers around |
| checking for trait queries and inserting them. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add missing visitors for macro definition dumping. |
| (get_delimiters): New function. |
| * ast/rust-ast-dump.h: Declare `get_delimiters` and add documentation. |
| * ast/rust-macro.h: Add `get_token_tree` method. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Properly handle unloaded modules. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Fix formatting when dumping modules. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Dump items in modules properly. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.cc: Emit visibility when dumping items. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/rust-ast-lower-base.h (class ItemWrapper): New class. |
| * hir/rust-ast-lower-base.cc (ASTLoweringBase::handle_outer_attributes): Use |
| `ItemWrapper` class. |
| (ASTLoweringBase::handle_doc_item_attribute): Likewise. |
| (ASTLoweringBase::handle_lang_item_attribute): Likewise. |
| * hir/rust-ast-lower-implitem.h: Check outer attributes on items. |
| * hir/tree/rust-hir-item.h: Add `get_trait_locus` methods. |
| * hir/tree/rust-hir.h: Likewise. |
| * util/rust-hir-map.h: Add defId mappings and associated functions. |
| * util/rust-hir-map.cc (Mappings::insert_defid_mapping): Implement insertion to said |
| mappings. |
| (Mappings::lookup_trait_item_defid): And looking up said mappings. |
| |
| 2023-02-21 Jakub Dupak <dev@jakubdupak.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add code for dumping type aliases. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-trait-resolve.cc (TraitResolver::TraitResolver): Do not nullptr init |
| `resolved_trait_reference` anymore. |
| (TraitResolver::resolve_path): Simplify function and rename to... |
| (TraitResolver::resolve_path_to_trait): ...this. |
| (TraitResolver::lookup_path): Use new interface. |
| * typecheck/rust-hir-trait-resolve.h (class TraitResolver): Do not inherit `HIRFullVisitor` |
| class anymore. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add dump for RangeExprs. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add dump for, BorrowExpr, DereferenceExpr, |
| ErrorPropagationExpr, NegationExpr, TypeCastExpr and GroupedExpr. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add dump code for ArrayExpr. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Add dumps for ComparisonExpr and |
| LazyBooleanExpr. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Fix IfExpr formatting. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Fix block formatting. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-autoderef.cc: Add support for multiple resolution candidates. |
| * typecheck/rust-hir-dot-operator.cc (MethodResolver::MethodResolver): Edit |
| `try_result` field and change constructor. |
| (MethodResolver::Probe): Return set of candidates instead of singular candidate. |
| (MethodResolver::select): Add better implementation to account for multiple |
| candidates. |
| * typecheck/rust-hir-dot-operator.h (struct MethodCandidate): Overload comparison |
| operator in order to store them in `std::set`. |
| * typecheck/rust-hir-inherent-impl-overlap.h: Do not fail assertion on missing type. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Adapt code to use |
| multiple candidates. |
| * typecheck/rust-tyty.cc (set_cmp_autoderef_mode): Add code to handle automatic |
| derefs properly. |
| (reset_cmp_autoderef_mode): Add helper function to reset said mode. |
| * typecheck/rust-tyty.h (set_cmp_autoderef_mode): Declare function. |
| (reset_cmp_autoderef_mode): Likewise. |
| * typecheck/rust-tyty-cmp.h: Add handling of `autoderef_cmp_flag` |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/rust-abi.cc (get_abi_from_string): Add missing "rust-call" |
| possibility for ABI variant. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/rust-lang-item.h: Add `fn_once` lang item. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile.cc: Add note about missing support for super |
| traits. |
| * typecheck/rust-tyty.cc (BaseType::satisfies_bound): New function. |
| (BaseType::bounds_compatible): New function. |
| (DynamicObjectType::get_object_items): New function. |
| * typecheck/rust-hir-trait-ref.h: Use new API to perform type resolution |
| on dyn objects. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * Make-lang.in: Compile early name resolver. |
| * expand/rust-attribute-visitor.cc (AttrVisitor::visit): Move macro |
| name resolution. |
| * expand/rust-macro-builtins.cc (try_expand_macro_expression): Run ENR |
| when recursively expanding macros. |
| * expand/rust-macro-expand.cc (MacroExpander::expand_invoc): No longer |
| perform name resolution in `expand_invoc`. |
| * expand/rust-macro-expand.h (struct MacroExpander): Keep ENR within |
| MacroExpander. |
| * rust-session-manager.cc (Session::expansion): Run ENR. |
| * resolve/rust-early-name-resolver.cc: New file. |
| * resolve/rust-early-name-resolver.h: New file. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-path.h: Add `accept_vis` method to `GenericArg` class. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * resolve/rust-ast-resolve-item.cc (ResolveItem::visit): Add note for |
| glob import resolving. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * util/rust-hir-map.h: Add new mappings. |
| * util/rust-hir-map.cc (Mappings::insert_macro_invocation): Add insertion |
| function into mappings. |
| (Mappings::lookup_macro_invocation): Add lookup function for mappings. |
| |
| 2023-02-21 Marc Poulhiès <dkm@kataplop.net> |
| |
| * parse/rust-parse-impl.h (Parser::parse_stmt_or_expr_without_block): |
| Check if `expr` is valid after parsing it. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-builtins.cc (BuiltinsContext::setup): Declare prefetch |
| intrinsics. |
| * backend/rust-compile-intrinsic.cc (enum class Prefetch): Add kinds of |
| prefetch intrinsics. |
| (prefetch_data_handler): New function. |
| (prefetch_read_data): Likewise. |
| (prefetch_write_data): Likewise. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Fill empty functions for |
| structs, enums and unions. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::format_tuple_field): New. |
| (Dump::format_struct_field): New. |
| * ast/rust-ast-dump.h (format_tuple_field): New. |
| (format_struct_field): New. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): move generic params dump ... |
| (Dump::emit_generic_params): ... here. |
| * ast/rust-ast-dump.h (emit_generic_params): New. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-trait-ref.h (lookup_trait_item): Add lookup |
| in super_trait. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-expr.cc |
| (CompileExpr::resolve_method_address): Use auto and minor change |
| in candidate init. |
| * typecheck/rust-hir-type-check-path.cc |
| (TypeCheckExpr::resolve_segments): Likewise. |
| * typecheck/rust-hir-type-check-type.cc: Likewise. |
| * backend/rust-compile-resolve-path.cc |
| (HIRCompileBase::query_compile): Likewise. Removecall to |
| set_ty_ref. |
| * typecheck/rust-hir-path-probe.h (struct PathProbeCandidate): Add |
| locus initializer in ctor, implement get_defid. |
| (class PathProbeType::Probe): return a set instead of vector. |
| Adjust class impl. |
| (class ReportMultipleCandidateError): Do not inherit from |
| HIRImplVisitor anymore and remove corresponding impl. Adjust for |
| change in Probe. Simplify Report handling. |
| (class PathProbeImplTrait::Probe): Adjust return type. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-enumitem.cc |
| (TypeCheckEnumItem::visit): Adjust VariantDef ctor calls with |
| DefID. |
| * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): |
| Likewise. |
| * typecheck/rust-tyty.h (VariantDef): Add defid parameter to ctor. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * Make-lang.in: Add `rust-builtins.o` as target |
| * backend/rust-builtins.h: Refactor to new file. |
| * backend/rust-builtins.cc: New file. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Implement visitor for If |
| expressions. |
| |
| 2023-02-21 David Faust <david.faust@oracle.com> |
| |
| * ast/rust-ast-dump.cc (Dump::visit): Dump assignment and compound |
| assignment expressions. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::query_type): |
| Check for recursive queries. |
| * typecheck/rust-hir-type-check.h: New functions: `query_completed`, |
| `query_in_progress`, `insert_query`. |
| * typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Use `query_type` API. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.cc (Dump::emit_visibility): New function. |
| (Dump::visit): Call into `emit_visibility`. |
| (Dump::format_function_common): Likewise. |
| * ast/rust-ast-dump.h: Declare `emit_visibility`. |
| |
| 2023-02-21 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-item.h: Rename get_public_vis_type. |
| * hir/rust-ast-lower.cc (translate_visibility): Use new name. |
| |
| 2023-02-21 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-name-resolver.h: Add miscellenaous item mappings. |
| * resolve/rust-name-resolver.cc (Resolver::insert_resolved_misc): Use |
| new mappings. |
| (Resolver::lookup_resolved_misc): Likewise. |
| * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_segments): |
| Adapt function to insert into miscelleanous mappings. |
| * checks/lints/rust-lint-marklive.cc (MarkLive::find_ref_node_id): |
| Allow lookup in miscelleanous mappings in mark-live phase. |
| |
| 2023-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * backend/rust-tree.cc: Include memmodel.h. |
| |
| 2023-02-17 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * backend/rust-tree.cc: '#include "tm_p.h"'. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * Make-lang.in: Remove `rust-hir-typecheck-toplevel` object and add |
| `rust-hir-path-probe` one. |
| * typecheck/rust-hir-dot-operator.cc (MethodResolver::MethodResolver): |
| Remove no longer used `context` and `mapping` fields, and use new |
| `query_type` API. |
| (MethodResolver::MethodResolver): Likewise. |
| (MethodResolver::select): Use new `query_type` API. |
| * typecheck/rust-hir-path-probe.h: New header. |
| * typecheck/rust-hir-path-probe.cc: New file. |
| * typecheck/rust-hir-dot-operator.h (class MethodResolver): Remove no |
| longer used `context` and `mapping` fields, and use new `query_type` API. |
| * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::query_type): New function. |
| * typecheck/rust-hir-type-check-base.h: Declare `query_type` function. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Add debug print. |
| * typecheck/rust-hir-type-check-implitem.cc (TypeCheckTopLevelExternItem::Resolve): |
| Refactor and make use of new query system. |
| (TypeCheckTopLevelExternItem::Resolve): Likewise. |
| (TypeCheckTopLevelExternItem::visit): Likewise. |
| (TypeCheckTopLevelImplItem::visit): Likewise. |
| (TypeCheckImplItem::visit): Likewise. |
| (TypeCheckImplItem::TypeCheckImplItem): Likewise. |
| (TypeCheckImplItem::Resolve): Likewise. |
| (TypeCheckImplItemWithTrait::visit): Likewise. |
| * typecheck/rust-hir-type-check-implitem.h (class TypeCheckTopLevelImplItem): Likewise. |
| (class TypeCheckImplItemWithTrait): Likewise. |
| * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::TypeCheckItem): Likewise. |
| (TypeCheckItem::Resolve): Likewise. |
| (TypeCheckItem::ResolveImplItem): Likewise. |
| (TypeCheckItem::ResolveImplBlockSelf): Likewise. |
| (TypeCheckItem::visit): Likewise. |
| (TypeCheckItem::resolve_impl_item): Likewise. |
| (TypeCheckItem::resolve_impl_block_substitutions): Likewise. |
| (TypeCheckItem::resolve_impl_block_self): Likewise. |
| * typecheck/rust-hir-type-check-item.h: Likewise. |
| * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_root_path): Likewise. |
| (TypeCheckExpr::resolve_segments): Likewise. |
| * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Likewise. |
| * typecheck/rust-hir-type-check-stmt.h: Likewise. |
| * typecheck/rust-hir-type-check-type.cc (TypeCheckType::Resolve): Likewise. |
| (TypeCheckType::visit): Likewise. |
| (TypeCheckType::resolve_root_path): Likewise. |
| * typecheck/rust-hir-type-check.cc (TypeResolution::Resolve): Likewise. |
| * typecheck/rust-hir-type-check.h: Likewise. |
| * typecheck/rust-substitution-mapper.h: Likewise. |
| * typecheck/rust-tyty-bounds.cc (TypeBoundsProbe::scan): Likewise. |
| (TypeCheckBase::get_predicate_from_bound): Likewise. |
| (TypeBoundsMappings::add_bound): Likewise. |
| * typecheck/rust-tyty-cmp.h: Likewise. |
| * typecheck/rust-tyty.h: Likewise. |
| * typecheck/rust-tyty.cc (SubstitutionRef::infer_substitions): Likewise. |
| (ParamType::resolve): Do not infinite loop anymore. |
| * util/rust-hir-map.h: Add new `hirImplBlockTypeMappings` and |
| declare `lookup_impl_block_type`. |
| * util/rust-hir-map.cc (Mappings::insert_hir_impl_block): Use new |
| `hirImplBlockTypeMappings` |
| (Mappings::lookup_impl_block_type): New function. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-context.h: Add new optional `asm_name` string |
| argument to `lookup_function_decl`. |
| * backend/rust-compile-item.cc (CompileItem::visit): Compute assembly |
| name and pass it to `lookup_function_decl` when calling it. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-constexpr.cc (eval_store_expression): Remove invalid |
| assertion on constexpr constructors. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-expr.h: Formatting. |
| |
| 2023-01-31 liushuyu <liushuyu011@gmail.com> |
| |
| * ast/rust-ast.h (class MacroInvocData): Store expander as |
| member of the class. |
| (class Expr): Add `is_literal` virtual method |
| * ast/rust-expr.h: Override `is_literal` for `LiteralExpr`s. |
| * expand/rust-macro-builtins.cc (try_expand_macro_expression): New function. |
| (try_extract_string_literal_from_fragment): Likewise. |
| (try_expand_single_string_literal): Likewise. |
| (try_expand_many_expr): Likewise. |
| (parse_single_string_literal): Add macro expander as argument. |
| (MacroBuiltin::include_bytes): Pass expander as argument to |
| `parse_single_string_literal`. |
| (MacroBuiltin::include_str): Likewise. |
| (MacroBuiltin::compile_error): Likewise. |
| (MacroBuiltin::include): Likewise. |
| (MacroBuiltin::concat): Likewise and add better error handling. |
| (MacroBuiltin::env): Likewise. |
| * expand/rust-macro-expand.cc (MacroExpander::expand_invoc): Expand |
| invocations recursively. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * lang.opt: Add new ``-frust-compile-until` option. |
| * rust-session-manager.cc (Session::compile_crate): Add stops around |
| various compilation steps in the pipeline. |
| * rust-session-manager.h (struct CompileOptions): Add `CompileStep` enum |
| and field. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-tree.cc (rs_type_quals): Comment out bad assertion |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-toplevel.cc (TypeCheckTopLevel::visit): |
| Make static items behave more similarly to const items. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-item.cc (CompileItem::visit): Const evaluate |
| static item expressions. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): Do not lower |
| null items within modules. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * util/rust-attributes.cc: Add `macro_use` to list of builtin |
| attributes. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * checks/errors/rust-const-checker.cc (ConstChecker::ctx_to_str): Allow |
| getting an error string from a specific constant context. |
| (ConstChecker::ctx_allows_default): New function, check if a context |
| allows default values for Const generics. |
| (ConstChecker::visit): Call into `ctx_allows_default`. |
| * checks/errors/rust-const-checker.h: Declare `ctx_allows_default`. |
| |
| 2023-01-31 liushuyu <liushuyu011@gmail.com> |
| |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Properly formulate |
| exit condition when compiling while loops. |
| |
| 2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> |
| |
| * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Turn |
| constant item typechecking into a coercion site instead of a unify |
| site. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-tyty.h: Fix `is_concrete` for unit types with |
| substitutions. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-tyty-bounds.cc (TypeBoundPredicate::contains_associated_types): |
| Check if a type bound predicate contains assocated types. |
| * typecheck/rust-tyty.h: Declare the above mentioned function. |
| * typecheck/rust-hir-trait-resolve.cc: Use `contains_associated_types` |
| function. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Add |
| more calls to `rust_debug` for development. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-compile-base.cc: Improve compilation pipeline and simplify |
| function. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * backend/rust-tree.cc (comptypes): Remove some C++ specific checks in |
| Rust const folder for now. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::unify_site): Add |
| better unification function with debug calls. |
| * typecheck/rust-autoderef.cc (AutoderefCycle::cycle): Add more debug |
| calls and use new unify API. |
| * typecheck/rust-coercion.cc (TypeCoercionRules::do_coercion): Likewise. |
| (TypeCoercionRules::coerce_borrowed_pointer): Likewise. |
| (TypeCoercionRules::select): Likewise. |
| * typecheck/rust-hir-dot-operator.cc (MethodResolver::select): Likewise. |
| * typecheck/rust-hir-trait-resolve.cc (TraitItemReference::resolve_item): Likewise. |
| (TypeCheckBase::coercion_site): Likewise. |
| (TypeCheckBase::cast_site): Likewise. |
| * typecheck/rust-hir-type-check-base.h: Likewise. |
| * typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::visit): Likewise. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise. |
| * typecheck/rust-hir-type-check-implitem.cc (TypeCheckTopLevelImplItem::visit): Likewise. |
| (TypeCheckImplItem::visit): Likewise. |
| * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): Likewise. |
| * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_segments): Likewise. |
| * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): Likewise. |
| * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Likewise. |
| * typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::resolve): Likewise. |
| * typecheck/rust-hir-type-check-toplevel.cc (TypeCheckTopLevel::visit): Likewise. |
| * typecheck/rust-hir-type-check-type.cc (TypeCheckType::visit): Likewise. |
| * typecheck/rust-hir-type-check.cc (TypeResolution::Resolve): Likewise. |
| * typecheck/rust-tyctx.cc (TypeCheckContext::peek_return_type): Likewise. |
| * typecheck/rust-tyty-call.cc (TypeCheckMethodCallExpr::visit): Likewise. |
| * typecheck/rust-tyty-cmp.h: Likewise. |
| * typecheck/rust-tyty-rules.h: Likewise. |
| * typecheck/rust-tyty.cc (BaseType::mappings_str): Likewise. |
| (BaseType::debug): Print type name more clearly. |
| (BaseType::debug_str): Add new function to print type pointer and name. |
| (TupleType::get_name): Improve type name fetching function. |
| (ReferenceType::get_name): Likewise. |
| (PointerType::get_name): Likewise. |
| * typecheck/rust-tyty.h: Refactor definitions outside of the header. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-type-check-base.cc (TypeCheckBase::TypeCheckBase): |
| Remove constructor. |
| (TypeCheckBase::coercion_site): Add `Location` argument to function. |
| * typecheck/rust-hir-type-check-base.h: Use `TypeCheckBase::coercion_site` |
| function with location argument. |
| * typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::visit): Likewise. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise. |
| * typecheck/rust-hir-type-check-expr.h (class TypeCheckExpr): Likewise. |
| * typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Likewise. |
| * typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::visit): Likewise. |
| * typecheck/rust-hir-type-check-toplevel.cc (TypeCheckTopLevel::visit): Likewise. |
| * typecheck/rust-tyty-call.cc (TypeCheckCallExpr::visit): Likewise. |
| (TypeCheckMethodCallExpr::visit): Likewise. |
| * typecheck/rust-tyty.h: Add missing locus field. |
| * typecheck/rust-tyty.cc (StructFieldType::clone): Use locus field. |
| (StructFieldType::monomorphized_clone): Likewise. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-tyctx.cc (TypeCheckContext::pop_return_type): Add |
| guards around `std::vector<T>.pop_back()`. |
| (TypeCheckContext::peek_context): Likewise for `std::vector<T>.back()`. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| philberty <philip.herron@embecosm.com> |
| |
| * ast/rust-ast.h: Improve assertions within ASTFragment API. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast.h: Add assertions and accessors for fragment nodes. |
| * expand/rust-attribute-visitor.cc (AttrVisitor::visit): Fix expansion |
| context typo when visiting `InherentImpl` items. |
| (AttrVisitor::maybe_expand_expr): Use new Fragment accessor to fetch |
| properly typed node. |
| (AttrVisitor::maybe_expand_type): Likewise. |
| * expand/rust-macro-expand.cc (transcribe_type): Emit parse errors |
| when trying to parse a type. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.h: Add shorthand `AST::Dump::debug` function to |
| dump an AST node on `stderr`. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| philberty <philip.herron@embecosm.com> |
| |
| * expand/rust-macro-expand.cc (parse_many): Return early from parsing |
| loop if we encounter an error, and emit that error in the meantime. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * expand/rust-macro-expand.cc (MacroExpander::match_matcher): Handle |
| fragments differently based on whether or not we are currently trying |
| to match a matcher in a repetition context. |
| (MacroExpander::match_n_matches): Use new `in_repetition` argument |
| properly when calling `match_matcher`. |
| * expand/rust-macro-expand.h (MacroExpander::match_matcher): Allow |
| passing extra `in_repetition` bool argument |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-parse-impl.h: Allow parsing full range expressions without |
| erroring out. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * checks/lints/rust-lint-scan-deadcode.h: Do not report public items |
| as dead code. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * util/rust-attributes.cc: Add `rustc_inherit_overflow_checks` to list |
| of builtin attributes. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-compile-expr.cc (CompileExpr::visit): Insert overflow |
| checks logic. |
| (CompileExpr::array_copied_expr): Insert overflow checks logic. |
| * backend/rust-compile-item.cc (CompileItem::visit): Insert overflow |
| checks logic. |
| * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Insert |
| overflow checks logic. |
| * rust-gcc.cc (Gcc_backend::arithmetic_or_logical_expression): Differentiate |
| existing function from `arithmetic_or_logical_expression_checked`. |
| This function does insert perform overflow checks. |
| (Gcc_backend::arithmetic_or_logical_expression_checked): New |
| function. |
| (is_overflowing_expr): New function. Check if an expression is an |
| overflowing one (ADD, SUB, MUL). |
| (fetch_overflow_builtins): New function. |
| * rust-backend.h: Declare `arithmetic_or_logical_expression_checked` in |
| abstract `Backend` class. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * backend/rust-builtins.h: Refactor builtin context class and add |
| overflow builtins. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * rust-gcc.cc (class Bvariable): Move class to `rust-gcc.h` header. |
| * rust-gcc.h: New file. |
| |
| 2023-01-31 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/rust-ast-lower-expr.h: Lower double borrow expressions to two |
| `HIR::BorrowExpr`s. |
| * hir/tree/rust-hir-expr.h: Remove `is_double_borrow` field from |
| `HIR::BorrowExpr`. |
| * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Remove |
| call to `gcc_unreachable` on double borrow expressions. |
| |
| 2023-01-31 Faisal Abbas <90.abbasfaisal@gmail.com> |
| |
| * backend/rust-tree.cc : Add new includes. |
| (scope_chain): New. |
| (maybe_add_global): New. |
| (init_modules): New (copied from cp) |
| (var_in_constexpr_fn): Likewise. |
| (member_vec_linear_search): Likewise. |
| (member_vec_binary_search): Likewise. |
| (is_overloaded_fn): Likewise. |
| (ovl_make): Likewise. |
| (lookup_add): Likewise. |
| (type_memfn_quals): Likewise. |
| (struct find_parameter_pack_data): Likewise. |
| (struct conv_type_hasher): Likewise. |
| (make_conv_op_name): Likewise. |
| (builtin_pack_fn_p): Likewise. |
| (builtin_pack_call_p): Likewise. |
| (has_extra_args_mechanism_p): Likewise. |
| (find_parameter_packs_r): Likewise. |
| (WALK_SUBTREE): Likewise. |
| (type_memfn_rqual): Likewise. |
| (maybe_add_lang_type_raw): Likewise. |
| (struct c_fileinfo): Likewise. |
| (get_fileinfo): Likewise. |
| (cxx_make_type): Likewise. |
| (build_min_array_type): Likewise. |
| (fields_linear_search): Likewise. |
| (nothrow_spec_p): Likewise. |
| (maybe_get_fns): Likewise. |
| (get_fns): Likewise. |
| (get_first_fn): Likewise. |
| (dependent_name): Likewise. |
| (called_fns_equal): Likewise. |
| (canonical_eh_spec): Likewise. |
| (rs_tree_code_length): Likewise. |
| (rs_tree_operand_length): Likewise. |
| (rs_tree_equal): Likewise. |
| (publicly_uniquely_derived_p): Likewise. |
| (comp_except_types): Likewise. |
| (comp_except_specs): Likewise. |
| (compparms): Likewise. |
| (set_array_type_canon): Likewise. |
| (struct cplus_array_info): Likewise. |
| (struct cplus_array_hasher): Likewise. |
| (cplus_array_hasher::hash): Likewise. |
| (cplus_array_hasher::equal): Likewise. |
| (is_byte_access_type): Likewise. |
| (build_cplus_array_type): Likewise. |
| (rs_build_qualified_type_real): Likewise. |
| (vector_targets_convertible_p): Likewise. |
| (comp_array_types): Likewise. |
| (same_type_ignoring_top_level_qualifiers_p): Likewise. |
| (comp_ptr_ttypes_const): Likewise. |
| (similar_type_p): Likewise. |
| (structural_comptypes): Likewise. |
| (comptypes): Likewise. |
| (next_initializable_field): Likewise. |
| (sufficient_parms_p): Likewise. |
| (default_ctor_p): Likewise. |
| (user_provided_p): Likewise. |
| (type_has_non_user_provided_default_constructor): Likewise. |
| (default_init_uninitialized_part): Likewise. |
| (extract_conversion_operator): Likewise. |
| (get_class_binding_direct): Likewise. |
| (lang_check_failed): Likewise. |
| (skip_artificial_parms_for): Likewise. |
| (in_class_defaulted_default_constructor): Likewise. |
| (is_instantiation_of_constexpr): Likewise. |
| (check_for_uninitialized_const_var): Likewise. |
| (cv_unqualified): Likewise. |
| (make_tree_vector): Likewise. |
| (release_tree_vector): Likewise. |
| (instantiation_dependent_expression_p): Likewise. |
| (cp_get_callee): Likewise. |
| (build_nop): Likewise. |
| (scalarish_type_p): Likewise. |
| (type_has_nontrivial_copy_init): Likewise. |
| (build_local_temp): Likewise. |
| (is_normal_capture_proxy): Likewise. |
| (reject_gcc_builtin): Likewise. |
| (is_bitfield_expr_with_lowered_type): Likewise. |
| (maybe_undo_parenthesized_ref): Likewise. |
| (fold_offsetof): Likewise. |
| (char_type_p): Likewise. |
| (resolve_nondeduced_context): Likewise. |
| (instantiate_non_dependent_or_null): Likewise. |
| (resolve_nondeduced_context_or_error): Likewise. |
| (really_overloaded_fn): Likewise. |
| (invalid_nonstatic_memfn_p): Likewise. |
| (strip_top_quals): Likewise. |
| (cxx_incomplete_type_inform): Likewise. |
| (cxx_incomplete_type_diagnostic): Likewise. |
| (decl_constant_var_p): Likewise. |
| (undeduced_auto_decl): Likewise. |
| (require_deduced_type): Likewise. |
| * backend/rust-tree.h (enum c_tree_index): Likewise. |
| (GTY): Likewise. |
| (enum cp_tree_index): Likewise. |
| (wchar_decl_node): Likewise. |
| (vtable_entry_type): Likewise. |
| (delta_type_node): Likewise. |
| (vtable_index_type): Likewise. |
| (class_type_node): Likewise. |
| (unknown_type_node): Likewise. |
| (init_list_type_node): Likewise. |
| (explicit_void_list_node): Likewise. |
| (vtbl_type_node): Likewise. |
| (vtbl_ptr_type_node): Likewise. |
| (std_node): Likewise. |
| (abi_node): Likewise. |
| (global_namespace): Likewise. |
| (const_type_info_type_node): Likewise. |
| (conv_op_marker): Likewise. |
| (abort_fndecl): Likewise. |
| (current_aggr): Likewise. |
| (nullptr_node): Likewise. |
| (nullptr_type_node): Likewise. |
| (align_type_node): Likewise. |
| (char8_type_node): Likewise. |
| (char16_type_node): Likewise. |
| (char32_type_node): Likewise. |
| (wchar_type_node): Likewise. |
| (underlying_wchar_type_node): Likewise. |
| (wint_type_node): Likewise. |
| (signed_size_type_node): Likewise. |
| (unsigned_ptrdiff_type_node): Likewise. |
| (intmax_type_node): Likewise. |
| (uintmax_type_node): Likewise. |
| (widest_integer_literal_type_node): Likewise. |
| (widest_unsigned_literal_type_node): Likewise. |
| (sig_atomic_type_node): Likewise. |
| (int8_type_node): Likewise. |
| (int16_type_node): Likewise. |
| (int32_type_node): Likewise. |
| (int64_type_node): Likewise. |
| (uint8_type_node): Likewise. |
| (c_uint16_type_node): Likewise. |
| (c_uint32_type_node): Likewise. |
| (c_uint64_type_node): Likewise. |
| (int_least8_type_node): Likewise. |
| (int_least16_type_node): Likewise. |
| (int_least32_type_node): Likewise. |
| (int_least64_type_node): Likewise. |
| (uint_least8_type_node): Likewise. |
| (uint_least16_type_node): Likewise. |
| (uint_least32_type_node): Likewise. |
| (uint_least64_type_node): Likewise. |
| (int_fast8_type_node): Likewise. |
| (int_fast16_type_node): Likewise. |
| (int_fast32_type_node): Likewise. |
| (int_fast64_type_node): Likewise. |
| (uint_fast8_type_node): Likewise. |
| (uint_fast16_type_node): Likewise. |
| (uint_fast32_type_node): Likewise. |
| (uint_fast64_type_node): Likewise. |
| (intptr_type_node): Likewise. |
| (uintptr_type_node): Likewise. |
| (truthvalue_type_node): Likewise. |
| (truthvalue_true_node): Likewise. |
| (truthvalue_false_node): Likewise. |
| (char_array_type_node): Likewise. |
| (char8_array_type_node): Likewise. |
| (char16_array_type_node): Likewise. |
| (char32_array_type_node): Likewise. |
| (wchar_array_type_node): Likewise. |
| (string_type_node): Likewise. |
| (const_string_type_node): Likewise. |
| (default_function_type): Likewise. |
| (function_name_decl_node): Likewise. |
| (pretty_function_name_decl_node): Likewise. |
| (c99_function_name_decl_node): Likewise. |
| (saved_function_name_decls): Likewise. |
| (null_node): Likewise. |
| (ctor_identifier): Likewise. |
| (complete_ctor_identifier): Likewise. |
| (base_ctor_identifier): Likewise. |
| (dtor_identifier): Likewise. |
| (complete_dtor_identifier): Likewise. |
| (base_dtor_identifier): Likewise. |
| (deleting_dtor_identifier): Likewise. |
| (conv_op_identifier): Likewise. |
| (delta_identifier): Likewise. |
| (in_charge_identifier): Likewise. |
| (vtt_parm_identifier): Likewise. |
| (as_base_identifier): Likewise. |
| (this_identifier): Likewise. |
| (pfn_identifier): Likewise. |
| (vptr_identifier): Likewise. |
| (global_identifier): Likewise. |
| (anon_identifier): Likewise. |
| (auto_identifier): Likewise. |
| (decltype_auto_identifier): Likewise. |
| (init_list_identifier): Likewise. |
| (for_range__identifier): Likewise. |
| (for_begin__identifier): Likewise. |
| (for_end__identifier): Likewise. |
| (for_range_identifier): Likewise. |
| (for_begin_identifier): Likewise. |
| (for_end_identifier): Likewise. |
| (abi_tag_identifier): Likewise. |
| (aligned_identifier): Likewise. |
| (begin_identifier): Likewise. |
| (end_identifier): Likewise. |
| (get__identifier): Likewise. |
| (gnu_identifier): Likewise. |
| (tuple_element_identifier): Likewise. |
| (tuple_size_identifier): Likewise. |
| (type_identifier): Likewise. |
| (value_identifier): Likewise. |
| (fun_identifier): Likewise. |
| (closure_identifier): Likewise. |
| (heap_uninit_identifier): Likewise. |
| (heap_identifier): Likewise. |
| (heap_deleted_identifier): Likewise. |
| (heap_vec_uninit_identifier): Likewise. |
| (heap_vec_identifier): Likewise. |
| (omp_identifier): Likewise. |
| (lang_name_c): Likewise. |
| (lang_name_cplusplus): Likewise. |
| (empty_except_spec): Likewise. |
| (noexcept_true_spec): Likewise. |
| (noexcept_false_spec): Likewise. |
| (noexcept_deferred_spec): Likewise. |
| (terminate_fn): Likewise. |
| (call_unexpected_fn): Likewise. |
| (get_exception_ptr_fn): Likewise. |
| (begin_catch_fn): Likewise. |
| (end_catch_fn): Likewise. |
| (allocate_exception_fn): Likewise. |
| (free_exception_fn): Likewise. |
| (throw_fn): Likewise. |
| (rethrow_fn): Likewise. |
| (atexit_fn_ptr_type_node): Likewise. |
| (atexit_node): Likewise. |
| (dso_handle_node): Likewise. |
| (dynamic_cast_node): Likewise. |
| (cleanup_type): Likewise. |
| (vtt_parm_type): Likewise. |
| (any_targ_node): Likewise. |
| (source_location_impl): Likewise. |
| (OVL_FUNCTION): Likewise. |
| (OVL_CHAIN): Likewise. |
| (OVL_DEDUP_P): Likewise. |
| (OVL_USING_P): Likewise. |
| (OVL_HIDDEN_P): Likewise. |
| (OVL_NESTED_P): Likewise. |
| (OVL_LOOKUP_P): Likewise. |
| (OVL_EXPORT_P): Likewise. |
| (OVL_FIRST): Likewise. |
| (OVL_NAME): Likewise. |
| (OVL_P): Likewise. |
| (OVL_SINGLE_P): Likewise. |
| (TYPE_HAS_DEFAULT_CONSTRUCTOR): Likewise. |
| (CLASSTYPE_LAZY_DEFAULT_CTOR): Likewise. |
| (CLASSTYPE_CONSTRUCTORS): Likewise. |
| (ATTR_IS_DEPENDENT): Likewise. |
| (ABI_TAG_IMPLICIT): Likewise. |
| (PARENTHESIZED_LIST_P): Likewise. |
| (DECL_DEPENDENT_P): Likewise. |
| (USING_DECL_SCOPE): Likewise. |
| (USING_DECL_DECLS): Likewise. |
| (USING_DECL_TYPENAME_P): Likewise. |
| (USING_DECL_UNRELATED_P): Likewise. |
| (DECL_DECLARES_FUNCTION_P): Likewise. |
| (DECL_DECLARES_TYPE_P): Likewise. |
| (IDENTIFIER_KIND_BIT_0): Likewise. |
| (IDENTIFIER_KIND_BIT_1): Likewise. |
| (IDENTIFIER_KIND_BIT_2): Likewise. |
| (IDENTIFIER_MARKED): Likewise. |
| (IDENTIFIER_VIRTUAL_P): Likewise. |
| (IDENTIFIER_KEYWORD_P): Likewise. |
| (IDENTIFIER_CDTOR_P): Likewise. |
| (IDENTIFIER_CTOR_P): Likewise. |
| (IDENTIFIER_DTOR_P): Likewise. |
| (IDENTIFIER_ANY_OP_P): Likewise. |
| (IDENTIFIER_OVL_OP_P): Likewise. |
| (IDENTIFIER_ASSIGN_OP_P): Likewise. |
| (IDENTIFIER_CONV_OP_P): Likewise. |
| (IDENTIFIER_NEWDEL_OP_P): Likewise. |
| (IDENTIFIER_NEW_OP_P): Likewise. |
| (CLASSTYPE_DIAMOND_SHAPED_P): Likewise. |
| (CLASSTYPE_REPEATED_BASE_P): Likewise. |
| (CLASSTYPE_KEY_METHOD): Likewise. |
| (CLASSTYPE_MEMBER_VEC): Likewise. |
| (CLASSTYPE_DECL_LIST): Likewise. |
| (CLASSTYPE_DESTRUCTOR): Likewise. |
| (CLASSTYPE_HAS_PRIMARY_BASE_P): Likewise. |
| (CLASSTYPE_PRIMARY_BINFO): Likewise. |
| (CLASSTYPE_VBASECLASSES): Likewise. |
| (CLASSTYPE_AS_BASE): Likewise. |
| (DECL_CONV_FN_P): Likewise. |
| (DECL_CONV_FN_TYPE): Likewise. |
| (same_type_p): Likewise. |
| (WILDCARD_TYPE_P): Likewise. |
| (MAYBE_CLASS_TYPE_P): Likewise. |
| (FUNCTION_REF_QUALIFIED): Likewise. |
| (FUNCTION_RVALUE_QUALIFIED): Likewise. |
| (TYPE_PTRMEMFUNC_FN_TYPE): Likewise. |
| (TYPE_PTRMEMFUNC_FN_TYPE_RAW): Likewise. |
| (TYPE_DEPENDENT_P): Likewise. |
| (TYPE_DEPENDENT_P_VALID): Likewise. |
| (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): Likewise. |
| (TYPE_RAISES_EXCEPTIONS): Likewise. |
| (IDENTIFIER_BINDING): Likewise. |
| (LANG_IDENTIFIER_CAST): Likewise. |
| (IF_COND): Likewise. |
| (THEN_CLAUSE): Likewise. |
| (ELSE_CLAUSE): Likewise. |
| (IF_SCOPE): Likewise. |
| (IF_STMT_CONSTEXPR_P): Likewise. |
| (IF_STMT_CONSTEVAL_P): Likewise. |
| (DECLTYPE_TYPE_EXPR): Likewise. |
| (SET_CLASSTYPE_INTERFACE_UNKNOWN_X): Likewise. |
| (CLASSTYPE_INTERFACE_ONLY): Likewise. |
| (TYPE_NAME_STRING): Likewise. |
| (TYPE_NAME_LENGTH): Likewise. |
| (CONSTRAINT_VAR_P): Likewise. |
| (KOENIG_LOOKUP_P): Likewise. |
| (DECL_PARM_INDEX): Likewise. |
| (DECL_PARM_LEVEL): Likewise. |
| (CONV_IMPLICIT): Likewise. |
| (CONV_STATIC): Likewise. |
| (CONV_CONST): Likewise. |
| (CONV_REINTERPRET): Likewise. |
| (CONV_PRIVATE): Likewise. |
| (CONV_FORCE_TEMP): Likewise. |
| (CONV_FOLD): Likewise. |
| (CONV_OLD_CONVERT): Likewise. |
| (CONV_C_CAST): Likewise. |
| (CONV_BACKEND_CONVERT): Likewise. |
| (WANT_INT): Likewise. |
| (WANT_FLOAT): Likewise. |
| (WANT_ENUM): Likewise. |
| (WANT_POINTER): Likewise. |
| (WANT_NULL): Likewise. |
| (WANT_VECTOR_OR_COMPLEX): Likewise. |
| (WANT_ARITH): Likewise. |
| (COMPARE_STRICT): Likewise. |
| (COMPARE_BASE): Likewise. |
| (COMPARE_DERIVED): Likewise. |
| (COMPARE_REDECLARATION): Likewise. |
| (COMPARE_STRUCTURAL): Likewise. |
| (SF_DEFAULT): Likewise. |
| (SF_PRE_PARSED): Likewise. |
| (SF_INCLASS_INLINE): Likewise. |
| (SD_UNINITIALIZED): Likewise. |
| (SD_INITIALIZED): Likewise. |
| (SD_DECOMPOSITION): Likewise. |
| (SD_DEFAULTED): Likewise. |
| (SD_DELETED): Likewise. |
| (TYPE_PTRDATAMEM_P): Likewise. |
| (RS_TYPE_CONST_P): Likewise. |
| (TYPE_MAIN_DECL): Likewise. |
| (DECL_NONTRIVIALLY_INITIALIZED_P): Likewise. |
| (DECL_DEFAULTED_FN): Likewise. |
| (TYPE_HAS_USER_CONSTRUCTOR): Likewise. |
| (DECL_INITIALIZED_IN_CLASS_P): Likewise. |
| (DECL_DEFAULTED_IN_CLASS_P): Likewise. |
| (DECL_NONSTATIC_MEMBER_FUNCTION_P): Likewise. |
| (DECL_HAS_IN_CHARGE_PARM_P): Likewise. |
| (DECL_HAS_VTT_PARM_P): Likewise. |
| (FUNCTION_FIRST_USER_PARMTYPE): Likewise. |
| (FUNCTION_FIRST_USER_PARM): Likewise. |
| (DECL_CONSTRUCTOR_P): Likewise. |
| (DECL_DELETED_FN): Likewise. |
| (BRACE_ENCLOSED_INITIALIZER_P): Likewise. |
| (DECL_IMMEDIATE_FUNCTION_P): Likewise. |
| (SET_DECL_IMMEDIATE_FUNCTION_P): Likewise. |
| (CONSTRUCTOR_MUTABLE_POISON): Likewise. |
| (PTRMEM_CST_MEMBER): Likewise. |
| (REF_PARENTHESIZED_P): Likewise. |
| (TYPE_PTRMEM_P): Likewise. |
| (TYPE_PTR_OR_PTRMEM_P): Likewise. |
| (DECL_DECOMPOSITION_P): Likewise. |
| (DECL_DECOMP_BASE): Likewise. |
| (DECL_MAYBE_IN_CHARGE_CDTOR_P): Likewise. |
| (DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P): Likewise. |
| (DECL_CLONED_FUNCTION_P): Likewise. |
| (DECL_CLONED_FUNCTION): Likewise. |
| (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P): Likewise. |
| (cp_function_chain): Likewise. |
| (cdtor_label): Likewise. |
| (current_class_ptr): Likewise. |
| (current_class_ref): Likewise. |
| (current_eh_spec_block): Likewise. |
| (current_in_charge_parm): Likewise. |
| (current_vtt_parm): Likewise. |
| (current_retval_sentinel): Likewise. |
| (current_function_returns_value): Likewise. |
| (current_function_returns_null): Likewise. |
| (current_function_returns_abnormally): Likewise. |
| (current_function_infinite_loop): Likewise. |
| (in_base_initializer): Likewise. |
| (in_function_try_handler): Likewise. |
| (current_function_return_value): Likewise. |
| (current_class_type): Likewise. |
| (TYPE_BEING_DEFINED): Likewise. |
| (DECL_STATIC_FUNCTION_P): Likewise. |
| (DECL_FUNCTION_MEMBER_P): Likewise. |
| (LANG_DECL_MIN_CHECK): Likewise. |
| (LANG_DECL_FN_CHECK): Likewise. |
| (LANG_DECL_NS_CHECK): Likewise. |
| (LANG_DECL_PARM_CHECK): Likewise. |
| (LANG_DECL_DECOMP_CHECK): Likewise. |
| (RS_INTEGRAL_TYPE_P): Likewise. |
| (STAT_HACK_P): Likewise. |
| (STAT_TYPE_VISIBLE_P): Likewise. |
| (STAT_TYPE): Likewise. |
| (STAT_DECL): Likewise. |
| (STAT_VISIBLE): Likewise. |
| (MAYBE_STAT_DECL): Likewise. |
| (MAYBE_STAT_TYPE): Likewise. |
| (STAT_TYPE_HIDDEN_P): Likewise. |
| (STAT_DECL_HIDDEN_P): Likewise. |
| (class warning_sentinel): Likewise. |
| (struct uid_sensitive_constexpr_evaluation_checker): Likewise. |
| (class iloc_sentinel): Likewise. |
| (struct GTY): Likewise. |
| (struct named_decl_hash): Likewise. |
| (enum lang_decl_selector): Likewise. |
| (LANG_DECL_HAS_MIN): Likewise. |
| (struct named_label_entry): Likewise. |
| (struct named_label_hash): Likewise. |
| (enum ref_operator): Likewise. |
| (struct c_fileinfo): Likewise. |
| (class ovl_iterator): Likewise. |
| (class lkp_iterator): Likewise. |
| (enum rs_ref_qualifier): Likewise. |
| (enum tsubst_flags): Likewise. |
| (enum cp_identifier_kind): Likewise. |
| (enum tag_types): Likewise. |
| (enum compare_bounds_t): Likewise. |
| (mark_rvalue_use): Likewise. |
| (type_unknown_p): Likewise. |
| (init_modules): Likewise. |
| (var_in_constexpr_fn): Likewise. |
| (ovl_first): Likewise. |
| (lookup_add): Likewise. |
| (ovl_make): Likewise. |
| (is_overloaded_fn): Likewise. |
| (maybe_add_lang_type_raw): Likewise. |
| (type_memfn_rqual): Likewise. |
| (builtin_pack_fn_p): Likewise. |
| (make_conv_op_name): Likewise. |
| (type_memfn_quals): Likewise. |
| (get_fileinfo): Likewise. |
| (cxx_make_type): Likewise. |
| (build_cplus_array_type): Likewise. |
| (is_byte_access_type): Likewise. |
| (comptypes): Likewise. |
| (canonical_eh_spec): Likewise. |
| (cp_tree_operand_length): Likewise. |
| (rs_tree_equal): Likewise. |
| (compparms): Likewise. |
| (rs_build_qualified_type_real): Likewise. |
| (rs_build_qualified_type): Likewise. |
| (cv_qualified_p): Likewise. |
| (similar_type_p): Likewise. |
| (vector_targets_convertible_p): Likewise. |
| (same_type_ignoring_top_level_qualifiers_p): Likewise. |
| (comp_ptr_ttypes_const): Likewise. |
| (get_class_binding_direct): Likewise. |
| (skip_artificial_parms_for): Likewise. |
| (lang_check_failed): Likewise. |
| (default_init_uninitialized_part): Likewise. |
| (type_has_non_user_provided_default_constructor): Likewise. |
| (default_ctor_p): Likewise. |
| (user_provided_p): Likewise. |
| (sufficient_parms_p): Likewise. |
| (next_initializable_field): Likewise. |
| (in_class_defaulted_default_constructor): Likewise. |
| (is_instantiation_of_constexpr): Likewise. |
| (check_for_uninitialized_const_var): Likewise. |
| (reduced_constant_expression_p): Likewise. |
| (cv_unqualified): Likewise. |
| (cp_get_callee): Likewise. |
| (cp_get_callee_fndecl_nofold): Likewise. |
| (is_nondependent_static_init_expression): Likewise. |
| (maybe_constant_init): Likewise. |
| (build_nop): Likewise. |
| (scalarish_type_p): Likewise. |
| (is_bitfield_expr_with_lowered_type): Likewise. |
| (convert_bitfield_to_declared_type): Likewise. |
| (cp_fold_maybe_rvalue): Likewise. |
| (maybe_undo_parenthesized_ref): Likewise. |
| (fold_offsetof): Likewise. |
| (cp_truthvalue_conversion): Likewise. |
| (fold_non_dependent_expr): Likewise. |
| (char_type_p): Likewise. |
| (instantiation_dependent_expression_p): Likewise. |
| (type_has_nontrivial_copy_init): Likewise. |
| (build_local_temp): Likewise. |
| (is_normal_capture_proxy): Likewise. |
| (reject_gcc_builtin): Likewise. |
| (resolve_nondeduced_context): Likewise. |
| (cxx_incomplete_type_diagnostic): Likewise. |
| (cxx_incomplete_type_error): Likewise. |
| (invalid_nonstatic_memfn_p): Likewise. |
| (really_overloaded_fn): Likewise. |
| (resolve_nondeduced_context_or_error): Likewise. |
| (instantiate_non_dependent_or_null): Likewise. |
| (cxx_incomplete_type_inform): Likewise. |
| (strip_top_quals): Likewise. |
| (undeduced_auto_decl): Likewise. |
| (require_deduced_type): Likewise. |
| (decl_constant_var_p): Likewise. |
| (type_of_this_parm): Likewise. |
| (class_of_this_parm): Likewise. |
| (identifier_p): Likewise. |
| (gnu_vector_type_p): Likewise. |
| (make_tree_vector): Likewise. |
| (release_tree_vector): Likewise. |
| (class releasing_vec): Likewise. |
| (vec_safe_push): Likewise. |
| (null_node_p): Likewise. |
| * backend/rust-compile-base.cc (HIRCompileBase::setup_fndecl): Correctly |
| set fndecl as constexpr from qualifiers. |
| (HIRCompileBase::compile_function): Test if fndecl is constexpr. |
| (HIRCompileBase::compile_constant_item): Set fndecl as constexpr. |
| * backend/rust-compile-intrinsic.cc : Update include. |
| (finalize_intrinsic_block): Set fndecl as constexpr. |
| * backend/rust-constexpr.cc : Update include. |
| (VERIFY_CONSTANT): New. |
| (is_instantiation_of_constexpr): New. |
| (literal_type_p): New. |
| (verify_constant): New. |
| (find_array_ctor_elt): New. |
| (array_index_cmp): New. |
| (potential_constant_expression_1): New. |
| (get_nth_callarg): New. |
| (unshare_constructor): New. |
| (maybe_save_constexpr_fundef): New. |
| (returns): New. |
| (breaks): New. |
| (continues): New. |
| (switches): New. |
| (struct constexpr_global_ctx): Add new fields. |
| (constexpr_fundef): New. |
| (struct constexpr_call): New. |
| (constexpr_call_hasher : ggc_ptr_hash<constexpr_call>): New. |
| (enum constexpr_switch_state): New. |
| (struct constexpr_ctx): Add new fields. |
| (struct constexpr_fundef_hasher): New. |
| (constexpr_fundef_table): New. |
| (constexpr_fundef_hasher::equal): New. |
| (constexpr_fundef_hasher::hash): New. |
| (retrieve_constexpr_fundef): New. |
| (uid_sensitive_constexpr_evaluation_value): New. |
| (uid_sensitive_constexpr_evaluation_true_counter): New. |
| (uid_sensitive_constexpr_evaluation_p): New. |
| (class temp_override): New. |
| (struct uid_sensitive_constexpr_evaluation_sentinel): New. |
| (struct uid_sensitive_constexpr_evaluation_checker): New. |
| (::uid_sensitive_constexpr_evaluation_sentinel): New. |
| (::uid_sensitive_constexpr_evaluation_checker): New. |
| (uid_sensitive_constexpr_evaluation_checker::evaluation_restricted_p): New. |
| (constexpr_call_table): New. |
| (constexpr_call_hasher::hash): New. |
| (constexpr_call_hasher::equal): New. |
| (maybe_initialize_constexpr_call_table): New. |
| (fundef_copies_table): New. |
| (get_fundef_copy): New. |
| (save_fundef_copy): New. |
| (constexpr_expression): Refactor in ... |
| (eval_constant_expression): ...this. |
| (eval_store_expression): Add 3 bool params. |
| (eval_call_expression): Likewise. |
| (eval_binary_expression): Likewise. |
| (eval_statement_list): New. |
| (extract_string_elt): New. |
| (eval_conditional_expression): New. |
| (eval_bit_field_ref): New. |
| (eval_loop_expr): New. |
| (eval_switch_expr): New. |
| (eval_unary_expression): New. |
| (call_stack): New. |
| (call_stack_tick): New. |
| (last_cx_error_tick): New. |
| (push_cx_call_context): New. |
| (pop_cx_call_context): New. |
| (cx_error_context): New. |
| (fold_expr): Adjust call to eval_constant_expression. |
| (same_type_ignoring_tlq_and_bounds_p): New. |
| (union_active_member): Port more for cxx constexpr. |
| (fold_indirect_ref_1): New. |
| (rs_fold_indirect_ref): Likewise. |
| (rs_eval_indirect_ref): New (from corresponding cxx FE file). |
| (eval_logical_expression): Adjust parameter list. |
| (lookup_placeholder): New (from corresponding cxx FE file). |
| (constant_value_1): Remove. |
| (inline_asm_in_constexpr_error): New (from corresponding cxx FE file). |
| (verify_ctor_sanity): New. |
| (get_callee): Remove. |
| (initialized_type): New. |
| (maybe_constexpr_fn): Remove. |
| (init_subob_ctx): New. |
| (base_field_constructor_elt): New. |
| (get_or_insert_ctor_field): New. |
| (eval_vector_conditional_expression): New (from correponding cxx FE file). |
| (eval_bare_aggregate): New. |
| (cxx_eval_trinary_expression): New. |
| (reduced_constant_expression_p): New. |
| (adjust_temp_type): New. |
| (free_constructor): New. |
| (eval_and_check_array_index): New. |
| (eval_array_reference): New. |
| (eval_component_reference): New. |
| (label_matches): New. |
| (eval_constant_expression): New. |
| (modifying_const_object_error): New. |
| (is_empty_field): New. |
| (eval_store_expression): New. |
| (eval_binary_expression): New. |
| (addr_of_non_const_var): New. |
| (rs_bind_parameters_in_call): New. |
| (eval_builtin_function_call): New. |
| (eval_call_expression): New. |
| (build_anon_member_initialization): New. |
| (build_data_member_initialization): New. |
| (constexpr_fn_retval): New. |
| (constant_value_1): New. |
| (decl_constant_value): New. |
| (non_const_var_error): New. |
| (get_callee): New. |
| (get_function_named_in_call): New. |
| (maybe_constexpr_fn): New. |
| (get_nth_callarg): New. |
| (var_in_maybe_constexpr_fn): New. |
| (instantiate_cx_fn_r): New. |
| (instantiate_constexpr_fns): New. |
| (array_index_cmp): New. |
| (unshare_constructor): New. |
| (find_array_ctor_elt): New. |
| (verify_constant): New. |
| (find_heap_var_refs): New. |
| (find_immediate_fndecl): New. |
| (diag_array_subscript): New. |
| (get_array_or_vector_nelts): New. |
| (eval_and_check_array_index): New. |
| (extract_string_elt): New. |
| (is_valid_constexpr_fn): New. |
| (explain_invalid_constexpr_fn): New. |
| (register_constexpr_fundef): New. |
| (maybe_save_constexpr_fundef): New. |
| (eval_statement_list): New. |
| (eval_conditional_expression): New. |
| (eval_bit_field_ref): New. |
| (returns): New. |
| (breaks): New. |
| (continues): New. |
| (switches): New. |
| (eval_loop_expr): New. |
| (eval_switch_expr): New. |
| (eval_unary_expression): New. |
| (cxx_eval_outermost_constant_expr): New. |
| (is_static_init_expression): New. |
| (is_constant_expression): New. |
| (is_nondependent_static_init_expression): New. |
| (maybe_constant_init_1): New. |
| (maybe_constant_init): New. |
| (is_nondependent_constant_expression): New. |
| (cv_cache): New. |
| (maybe_constant_value): New. |
| (potential_constant_expression): New. |
| (struct check_for_return_continue_data): New. |
| (check_for_return_continue): New. |
| (decl_namespace_context): New. |
| (decl_in_std_namespace_p): New. |
| (is_std_construct_at): New. |
| (cxx_dynamic_cast_fn_p): New. |
| (is_std_allocator_allocate): New. |
| (is_std_allocator_allocate): New. |
| (potential_constant_expression_1): New. |
| (potential_constant_expression_1): New. |
| (fold_non_dependent_init): New. |
| * backend/rust-constexpr.h (maybe_save_constexpr_fundef): New. |
| |
| 2023-01-31 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * rust-session-manager.cc (Session::compile_crate): Allow the dump of prettified AST |
| (Session::dump_ast_pretty): New |
| * rust-session-manager.h: Add new output file for pretty AST dump |
| |
| 2023-01-05 David Malcolm <dmalcolm@redhat.com> |
| |
| * resolve/rust-ast-resolve-item.cc (selftest::rust_flatten_list): |
| Remove output to stderr. |
| |
| 2023-01-05 David Malcolm <dmalcolm@redhat.com> |
| |
| * Make-lang.in (selftest-rust-gdb): New. |
| (selftest-rust-valgrind): New. |
| |
| 2022-12-20 Marc Poulhiès <dkm@kataplop.net> |
| |
| PR rust/108113 |
| * Make-lang.in (rust.serial): New variable. |
| (rust1$(exeext)): Depend on $(rust.prev). Call LINK_PROGRESS. |
| |
| 2022-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rust/106072 |
| * parse/rust-parse-impl.h (parse_closure_param): Store |
| pattern->get_locus () in a temporary before std::move (pattern) is |
| invoked. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * CONTRIBUTING.md: New. |
| * README.md: New. |
| * logo.png: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * config-lang.in: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * lang.opt (-frust-incomplete-and-experimental-compiler-do-not-use): |
| New. |
| * rust-session-manager.cc (Session::compile_crate): Check it. |
| * Make-lang.in (RUST_SELFTEST_FLAGS): Add it. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * Make-lang.in: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * lang.opt: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * lang-specs.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * rust-lang.cc: New. |
| * rust-session-manager.cc: New. |
| * rust-session-manager.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * rustspec.cc: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * rust-diagnostics.cc: New. |
| * rust-diagnostics.h: New. |
| * rust-gcc-diagnostics.cc: New. |
| * rust-linemap.cc: New. |
| * rust-linemap.h: New. |
| * rust-location.h: New. |
| * rust-system.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| David Faust <david.faust@oracle.com> |
| Faisal Abbas <90.abbasfaisal@gmail.com> |
| |
| * backend/rust-compile-context.cc: New. |
| * backend/rust-compile-context.h: New. |
| * backend/rust-compile.cc: New. |
| * backend/rust-compile.h: New. |
| * backend/rust-constexpr.cc: New. |
| * backend/rust-constexpr.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| David Faust <david.faust@oracle.com> |
| |
| * backend/rust-compile-block.cc: New. |
| * backend/rust-compile-block.h: New. |
| * backend/rust-compile-expr.cc: New. |
| * backend/rust-compile-expr.h: New. |
| * backend/rust-compile-extern.h: New. |
| * backend/rust-compile-fnparam.cc: New. |
| * backend/rust-compile-fnparam.h: New. |
| * backend/rust-compile-implitem.cc: New. |
| * backend/rust-compile-implitem.h: New. |
| * backend/rust-compile-intrinsic.cc: New. |
| * backend/rust-compile-intrinsic.h: New. |
| * backend/rust-compile-item.cc: New. |
| * backend/rust-compile-item.h: New. |
| * backend/rust-compile-pattern.cc: New. |
| * backend/rust-compile-pattern.h: New. |
| * backend/rust-compile-resolve-path.cc: New. |
| * backend/rust-compile-resolve-path.h: New. |
| * backend/rust-compile-stmt.cc: New. |
| * backend/rust-compile-stmt.h: New. |
| * backend/rust-compile-struct-field-expr.cc: New. |
| * backend/rust-compile-struct-field-expr.h: New. |
| * backend/rust-compile-type.cc: New. |
| * backend/rust-compile-type.h: New. |
| * backend/rust-compile-var-decl.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| David Faust <david.faust@oracle.com> |
| |
| * backend/rust-builtins.h: New. |
| * backend/rust-compile-base.cc: New. |
| * backend/rust-compile-base.h: New. |
| * backend/rust-mangle.cc: New. |
| * backend/rust-mangle.h: New. |
| * backend/rust-tree.cc: New. |
| * backend/rust-tree.h: New. |
| * rust-backend.h: New. |
| * rust-gcc.cc: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * metadata/rust-export-metadata.cc: New. |
| * metadata/rust-export-metadata.h: New. |
| * metadata/rust-extern-crate.cc: New. |
| * metadata/rust-extern-crate.h: New. |
| * metadata/rust-import-archive.cc: New. |
| * metadata/rust-imports.cc: New. |
| * metadata/rust-imports.h: New. |
| * rust-object-export.cc: New. |
| * rust-object-export.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * checks/lints/rust-lint-unused-var.cc: New. |
| * checks/lints/rust-lint-unused-var.h: New. |
| |
| 2022-12-13 Thomas Young <wenzhang5800@gmail.com> |
| |
| * checks/lints/rust-lint-marklive-base.h: New. |
| * checks/lints/rust-lint-marklive.cc: New. |
| * checks/lints/rust-lint-marklive.h: New. |
| * checks/lints/rust-lint-scan-deadcode.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * checks/errors/privacy/rust-privacy-check.cc: New. |
| * checks/errors/privacy/rust-privacy-check.h: New. |
| * checks/errors/privacy/rust-privacy-common.h: New. |
| * checks/errors/privacy/rust-privacy-ctx.cc: New. |
| * checks/errors/privacy/rust-privacy-ctx.h: New. |
| * checks/errors/privacy/rust-privacy-reporter.cc: New. |
| * checks/errors/privacy/rust-privacy-reporter.h: New. |
| * checks/errors/privacy/rust-pub-restricted-visitor.cc: New. |
| * checks/errors/privacy/rust-pub-restricted-visitor.h: New. |
| * checks/errors/privacy/rust-reachability.cc: New. |
| * checks/errors/privacy/rust-reachability.h: New. |
| * checks/errors/privacy/rust-visibility-resolver.cc: New. |
| * checks/errors/privacy/rust-visibility-resolver.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * checks/errors/rust-const-checker.cc: New. |
| * checks/errors/rust-const-checker.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * checks/errors/rust-unsafe-checker.cc: New. |
| * checks/errors/rust-unsafe-checker.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-autoderef.cc: New. |
| * typecheck/rust-autoderef.h: New. |
| * typecheck/rust-casts.cc: New. |
| * typecheck/rust-casts.h: New. |
| * typecheck/rust-coercion.cc: New. |
| * typecheck/rust-coercion.h: New. |
| * typecheck/rust-hir-dot-operator.cc: New. |
| * typecheck/rust-hir-dot-operator.h: New. |
| * typecheck/rust-hir-inherent-impl-overlap.h: New. |
| * typecheck/rust-hir-path-probe.h: New. |
| * typecheck/rust-hir-trait-ref.h: New. |
| * typecheck/rust-hir-type-bounds.h: New. |
| * typecheck/rust-substitution-mapper.cc: New. |
| * typecheck/rust-substitution-mapper.h: New. |
| * typecheck/rust-tycheck-dump.h: New. |
| * typecheck/rust-tyctx.cc: New. |
| * typecheck/rust-tyty-bounds.cc: New. |
| * typecheck/rust-tyty-call.cc: New. |
| * typecheck/rust-tyty-call.h: New. |
| * typecheck/rust-tyty-cmp.h: New. |
| * typecheck/rust-tyty-rules.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-tyty.cc: New. |
| * typecheck/rust-tyty.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * typecheck/rust-hir-trait-resolve.cc: New. |
| * typecheck/rust-hir-trait-resolve.h: New. |
| * typecheck/rust-hir-type-check-base.cc: New. |
| * typecheck/rust-hir-type-check-base.h: New. |
| * typecheck/rust-hir-type-check-enumitem.cc: New. |
| * typecheck/rust-hir-type-check-enumitem.h: New. |
| * typecheck/rust-hir-type-check-expr.cc: New. |
| * typecheck/rust-hir-type-check-expr.h: New. |
| * typecheck/rust-hir-type-check-implitem.cc: New. |
| * typecheck/rust-hir-type-check-implitem.h: New. |
| * typecheck/rust-hir-type-check-item.cc: New. |
| * typecheck/rust-hir-type-check-item.h: New. |
| * typecheck/rust-hir-type-check-path.cc: New. |
| * typecheck/rust-hir-type-check-pattern.cc: New. |
| * typecheck/rust-hir-type-check-pattern.h: New. |
| * typecheck/rust-hir-type-check-stmt.cc: New. |
| * typecheck/rust-hir-type-check-stmt.h: New. |
| * typecheck/rust-hir-type-check-struct-field.h: New. |
| * typecheck/rust-hir-type-check-struct.cc: New. |
| * typecheck/rust-hir-type-check-toplevel.cc: New. |
| * typecheck/rust-hir-type-check-toplevel.h: New. |
| * typecheck/rust-hir-type-check-type.cc: New. |
| * typecheck/rust-hir-type-check-type.h: New. |
| * typecheck/rust-hir-type-check-util.cc: New. |
| * typecheck/rust-hir-type-check-util.h: New. |
| * typecheck/rust-hir-type-check.cc: New. |
| * typecheck/rust-hir-type-check.h: New. |
| * typecheck/rust-tyty-visitor.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/rust-canonical-path.h: New. |
| * util/rust-common.h: New. |
| * util/rust-hir-map.cc: New. |
| * util/rust-hir-map.h: New. |
| * util/rust-identifier.h: New. |
| * util/rust-lang-item.h: New. |
| * util/rust-mapping-common.h: New. |
| * util/rust-stacked-contexts.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * util/rust-attributes.cc: New. |
| * util/rust-attributes.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * util/rust-optional-test.cc: New. |
| * util/rust-optional.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * util/rust-base62.cc: New. |
| * util/rust-base62.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/rust-abi.cc: New. |
| * util/rust-abi.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/fnv-hash.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * util/rust-make-unique.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/rust-ast-lower-base.cc: New. |
| * hir/rust-ast-lower-base.h: New. |
| * hir/rust-ast-lower-block.h: New. |
| * hir/rust-ast-lower-enumitem.h: New. |
| * hir/rust-ast-lower-expr.h: New. |
| * hir/rust-ast-lower-extern.h: New. |
| * hir/rust-ast-lower-implitem.h: New. |
| * hir/rust-ast-lower-item.cc: New. |
| * hir/rust-ast-lower-item.h: New. |
| * hir/rust-ast-lower-pattern.cc: New. |
| * hir/rust-ast-lower-pattern.h: New. |
| * hir/rust-ast-lower-stmt.h: New. |
| * hir/rust-ast-lower-struct-field-expr.h: New. |
| * hir/rust-ast-lower-type.h: New. |
| * hir/rust-ast-lower.cc: New. |
| * hir/rust-ast-lower.h: New. |
| * hir/rust-hir-dump.cc: New. |
| * hir/rust-hir-dump.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/tree/rust-hir-full-decls.h: New. |
| * hir/tree/rust-hir-full-test.cc: New. |
| * hir/tree/rust-hir-full.h: New. |
| * hir/tree/rust-hir-visitor.h: New. |
| * hir/tree/rust-hir.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * hir/tree/rust-hir-expr.h: New. |
| * hir/tree/rust-hir-item.h: New. |
| * hir/tree/rust-hir-path.h: New. |
| * hir/tree/rust-hir-pattern.h: New. |
| * hir/tree/rust-hir-stmt.h: New. |
| * hir/tree/rust-hir-type.h: New. |
| |
| 2022-12-13 Philip Herron <philip.herron@embecosm.com> |
| |
| * resolve/rust-ast-resolve-base.cc: New. |
| * resolve/rust-ast-resolve-base.h: New. |
| * resolve/rust-ast-resolve-expr.cc: New. |
| * resolve/rust-ast-resolve-expr.h: New. |
| * resolve/rust-ast-resolve-implitem.h: New. |
| * resolve/rust-ast-resolve-item.cc: New. |
| * resolve/rust-ast-resolve-item.h: New. |
| * resolve/rust-ast-resolve-path.cc: New. |
| * resolve/rust-ast-resolve-path.h: New. |
| * resolve/rust-ast-resolve-pattern.cc: New. |
| * resolve/rust-ast-resolve-pattern.h: New. |
| * resolve/rust-ast-resolve-stmt.cc: New. |
| * resolve/rust-ast-resolve-stmt.h: New. |
| * resolve/rust-ast-resolve-struct-expr-field.cc: New. |
| * resolve/rust-ast-resolve-struct-expr-field.h: New. |
| * resolve/rust-ast-resolve-toplevel.h: New. |
| * resolve/rust-ast-resolve-type.cc: New. |
| * resolve/rust-ast-resolve-type.h: New. |
| * resolve/rust-ast-resolve.cc: New. |
| * resolve/rust-ast-resolve.h: New. |
| * resolve/rust-ast-verify-assignee.h: New. |
| * resolve/rust-name-resolver.cc: New. |
| * resolve/rust-name-resolver.h: New. |
| |
| 2022-12-13 Arthur Cohen <arthur.cohen@embecosm.com> |
| Philip Herron <philip.herron@embecosm.com> |
| Joel Phillips <simplytheother@gmail.com> |
| |
| * expand/rust-attribute-visitor.cc: New. |
| * expand/rust-attribute-visitor.h: New. |
| * expand/rust-macro-builtins.cc: New. |
| * expand/rust-macro-builtins.h: New. |
| * expand/rust-macro-expand.cc: New. |
| * expand/rust-macro-expand.h: New. |
| * expand/rust-macro-invoc-lexer.cc: New. |
| * expand/rust-macro-invoc-lexer.h: New. |
| * expand/rust-macro-substitute-ctx.cc: New. |
| * expand/rust-macro-substitute-ctx.h: New. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-parse-impl.h: New, second half. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * parse/rust-cfg-parser.cc: New. |
| * parse/rust-cfg-parser.h: New. |
| * parse/rust-parse-impl.h: New. |
| * parse/rust-parse.cc: New. |
| * parse/rust-parse.h: New. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| Arthur Cohen <arthur.cohen@embecosm.com> |
| Mark Wielaard <mark@klomp.org> |
| |
| * lex/rust-codepoint.h: New. |
| * lex/rust-lex.cc: New. |
| * lex/rust-lex.h: New. |
| * lex/rust-token.cc: New. |
| * lex/rust-token.h: New. |
| * rust-buffered-queue.h: New. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-dump.cc: New. |
| * ast/rust-ast-dump.h: New. |
| * ast/rust-ast-visitor.h: New. |
| * ast/rust-cond-compilation.h: New. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| |
| * ast/rust-expr.h: New. |
| * ast/rust-macro.h: New. |
| * ast/rust-path.h: New. |
| * ast/rust-pattern.h: New. |
| * ast/rust-stmt.h: New. |
| * ast/rust-type.h: New. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| |
| * ast/rust-item.h: New. |
| |
| 2022-12-13 Joel Phillips <simplytheother@gmail.com> |
| Philip Herron <philip.herron@embecosm.com> |
| Arthur Cohen <arthur.cohen@embecosm.com> |
| |
| * ast/rust-ast-full-decls.h: New. |
| * ast/rust-ast-full-test.cc: New. |
| * ast/rust-ast-full.h: New. |
| * ast/rust-ast.h: New. |
| * operator.h: New. |
| |
| |
| Copyright (C) 2022-2023 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |