aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-06-15 16:56:02 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-06-16 23:33:26 +0200
commit6c4db916e28bf97a729ec06ff71da03963f0f7e4 (patch)
treeeabf2e31908e50431f3c24f88c45ee96010b6a5e /gcc
parent89fdaf5ad853c3d55060b9929027946833aee77a (diff)
downloadgcc-6c4db916e28bf97a729ec06ff71da03963f0f7e4.zip
gcc-6c4db916e28bf97a729ec06ff71da03963f0f7e4.tar.gz
gcc-6c4db916e28bf97a729ec06ff71da03963f0f7e4.tar.bz2
d: Use toTypeFunction instead of explicit cast
gcc/d/ChangeLog: * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast. * decl.cc (DeclVisitor::visit): Likewise. * toir.cc (IRVisitor::visit): Likewise. * typeinfo.cc (TypeInfoVisitor::visit): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/d/d-frontend.cc2
-rw-r--r--gcc/d/decl.cc28
-rw-r--r--gcc/d/toir.cc2
-rw-r--r--gcc/d/typeinfo.cc3
4 files changed, 11 insertions, 24 deletions
diff --git a/gcc/d/d-frontend.cc b/gcc/d/d-frontend.cc
index 5415d47..7434819 100644
--- a/gcc/d/d-frontend.cc
+++ b/gcc/d/d-frontend.cc
@@ -177,7 +177,7 @@ eval_builtin (Loc loc, FuncDeclaration *fd, Expressions *arguments)
gcc_assert (fndecl_built_in_p (decl)
|| DECL_INTRINSIC_CODE (decl) != INTRINSIC_NONE);
- TypeFunction *tf = (TypeFunction *) fd->type;
+ TypeFunction *tf = fd->type->toTypeFunction ();
Expression *e = NULL;
input_location = make_location_t (loc);
diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc
index 0586863..a6144f7 100644
--- a/gcc/d/decl.cc
+++ b/gcc/d/decl.cc
@@ -449,26 +449,14 @@ public:
if (fd->leastAsSpecialized (fd2) || fd2->leastAsSpecialized (fd))
{
- TypeFunction *tf = (TypeFunction *) fd->type;
- if (tf->ty == Tfunction)
- {
- error_at (make_location_t (fd->loc), "use of %qs",
- fd->toPrettyChars ());
- inform (make_location_t (fd2->loc), "is hidden by %qs",
- fd2->toPrettyChars ());
- inform (make_location_t (d->loc),
- "use %<alias %s = %s.%s;%> to introduce base class "
- "overload set", fd->toChars (),
- fd->parent->toChars (), fd->toChars ());
- }
- else
- {
- error_at (make_location_t (fd->loc), "use of %qs",
- fd->toPrettyChars ());
- inform (make_location_t (fd2->loc), "is hidden by %qs",
- fd2->toPrettyChars ());
- }
-
+ error_at (make_location_t (fd->loc), "use of %qs",
+ fd->toPrettyChars ());
+ inform (make_location_t (fd2->loc), "is hidden by %qs",
+ fd2->toPrettyChars ());
+ inform (make_location_t (d->loc),
+ "use %<alias %s = %s.%s;%> to introduce base class "
+ "overload set", fd->toChars (),
+ fd->parent->toChars (), fd->toChars ());
has_errors = true;
break;
}
diff --git a/gcc/d/toir.cc b/gcc/d/toir.cc
index 92d0ecd..d8a14ef 100644
--- a/gcc/d/toir.cc
+++ b/gcc/d/toir.cc
@@ -1006,7 +1006,7 @@ public:
return;
}
- TypeFunction *tf = (TypeFunction *)this->func_->type;
+ TypeFunction *tf = this->func_->type->toTypeFunction ();
Type *type = this->func_->tintro != NULL
? this->func_->tintro->nextOf () : tf->nextOf ();
diff --git a/gcc/d/typeinfo.cc b/gcc/d/typeinfo.cc
index 73443ea..f3051d3 100644
--- a/gcc/d/typeinfo.cc
+++ b/gcc/d/typeinfo.cc
@@ -1045,8 +1045,7 @@ public:
if (sd->xhash)
{
- TypeFunction *tf = (TypeFunction *) sd->xhash->type;
- gcc_assert (tf->ty == Tfunction);
+ TypeFunction *tf = sd->xhash->type->toTypeFunction ();
if (!tf->isnothrow || tf->trust == TRUSTsystem)
{
warning (sd->xhash->loc, "toHash() must be declared as "