gccrs: Fix undefined behaviour issues on macos
authorPhilip Herron <philip.herron@embecosm.com>
Mon, 7 Nov 2022 13:43:04 +0000 (13:43 +0000)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 21 Feb 2023 11:36:52 +0000 (12:36 +0100)
commite7a69d4533add13ff8f5468131cc824f6fa9e154
tree58c827cab26ee98da4364a148f0ea725cbd54dc4
parent92389b46a96ce2274f5d9a3658d771b8b0ad99c9
gccrs: Fix undefined behaviour issues on macos

This adds missing copy constructors to HIR::PathExprSegment which were
wrongly defaulting to empty vectors when apply specified generic arguments
to method calls.

gcc/rust/ChangeLog:

* 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`.
gcc/rust/hir/tree/rust-hir-expr.h
gcc/rust/hir/tree/rust-hir-full-decls.h
gcc/rust/hir/tree/rust-hir-path.h
gcc/rust/typecheck/rust-hir-type-check-expr.cc
gcc/rust/typecheck/rust-tyty.h