array-copy-init: Add location info

This commit is contained in:
Arthur Cohen 2022-02-17 15:36:21 +01:00
parent c6daece647
commit d120c9db18
2 changed files with 4 additions and 5 deletions

View File

@ -1007,15 +1007,14 @@ class ArrayElemsCopied : public ArrayElems
{
std::unique_ptr<Expr> elem_to_copy;
std::unique_ptr<Expr> num_copies;
// TODO: should this store location data?
Location locus;
public:
// Constructor requires pointers for polymorphism
ArrayElemsCopied (std::unique_ptr<Expr> copied_elem,
std::unique_ptr<Expr> copy_amount)
std::unique_ptr<Expr> copy_amount, Location locus)
: ArrayElems (), elem_to_copy (std::move (copied_elem)),
num_copies (std::move (copy_amount))
num_copies (std::move (copy_amount)), locus (locus)
{}
// Copy constructor required due to unique_ptr - uses custom clone

View File

@ -8782,7 +8782,7 @@ Parser<ManagedTokenSource>::parse_array_expr (AST::AttrVec outer_attrs,
std::unique_ptr<AST::ArrayElemsCopied> copied_array_elems (
new AST::ArrayElemsCopied (std::move (initial_expr),
std::move (copy_amount)));
std::move (copy_amount), locus));
return std::unique_ptr<AST::ArrayExpr> (
new AST::ArrayExpr (std::move (copied_array_elems),
std::move (inner_attrs),