aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2021-05-18 19:05:20 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2021-05-18 23:01:30 +0200
commit3e0ad85638b8b7085add06b4afd77cbbf3549631 (patch)
tree7453037dbd840348a75b959e0e0b922fdcdfa60d
parentfef7c8990da15493110118554adfc9a0b779604c (diff)
downloadgcc-3e0ad85638b8b7085add06b4afd77cbbf3549631.zip
gcc-3e0ad85638b8b7085add06b4afd77cbbf3549631.tar.gz
gcc-3e0ad85638b8b7085add06b4afd77cbbf3549631.tar.bz2
d: Revert "Come up with startswith function."
This reverts changes to the DMD front-end in commit 6ba3079dce89d9b63bf5dbd5e320ea2bf96f196b. Changes were incorrectly committed directly to the GCC repo instead of the master repository. gcc/d/ChangeLog: * dmd/dinterpret.c (evaluateIfBuiltin): Revert last change. * dmd/dmangle.c: Likewise. * dmd/hdrgen.c: Likewise. * dmd/identifier.c (Identifier::toHChars2): Likewise.
-rw-r--r--gcc/d/dmd/dinterpret.c2
-rw-r--r--gcc/d/dmd/dmangle.c2
-rw-r--r--gcc/d/dmd/hdrgen.c2
-rw-r--r--gcc/d/dmd/identifier.c6
4 files changed, 6 insertions, 6 deletions
diff --git a/gcc/d/dmd/dinterpret.c b/gcc/d/dmd/dinterpret.c
index 9e74a0d..5e71f3b 100644
--- a/gcc/d/dmd/dinterpret.c
+++ b/gcc/d/dmd/dinterpret.c
@@ -6881,7 +6881,7 @@ Expression *evaluateIfBuiltin(UnionExp *pue, InterState *istate, Loc loc,
const char *id = fd->ident->toChars();
size_t idlen = strlen(id);
if (nargs == 2 && (idlen == 10 || idlen == 11) &&
- startswith (id, "_aApply"))
+ !strncmp(id, "_aApply", 7))
{
// Functions from aApply.d and aApplyR.d in the runtime
bool rvs = (idlen == 11); // true if foreach_reverse
diff --git a/gcc/d/dmd/dmangle.c b/gcc/d/dmd/dmangle.c
index f112243..83f4c18 100644
--- a/gcc/d/dmd/dmangle.c
+++ b/gcc/d/dmd/dmangle.c
@@ -673,7 +673,7 @@ public:
cd == ClassDeclaration::object ||
cd == Type::typeinfoclass ||
cd == Module::moduleinfo ||
- startswith (cd->ident->toChars(), "TypeInfo_"))
+ strncmp(cd->ident->toChars(), "TypeInfo_", 9) == 0)
{
// Don't mangle parent
ad->parent = NULL;
diff --git a/gcc/d/dmd/hdrgen.c b/gcc/d/dmd/hdrgen.c
index e72273b..9397b1e 100644
--- a/gcc/d/dmd/hdrgen.c
+++ b/gcc/d/dmd/hdrgen.c
@@ -3212,7 +3212,7 @@ public:
}
else if (p->type->ty == Tident &&
strlen(((TypeIdentifier *)p->type)->ident->toChars()) > 3 &&
- startswith (((TypeIdentifier *)p->type)->ident->toChars(), "__T"))
+ strncmp(((TypeIdentifier *)p->type)->ident->toChars(), "__T", 3) == 0)
{
// print parameter name, instead of undetermined type parameter
buf->writestring(p->ident->toChars());
diff --git a/gcc/d/dmd/identifier.c b/gcc/d/dmd/identifier.c
index dd2c58f..197d288 100644
--- a/gcc/d/dmd/identifier.c
+++ b/gcc/d/dmd/identifier.c
@@ -73,11 +73,11 @@ const char *Identifier::toHChars2()
{ p = toChars();
if (*p == '_')
{
- if (startswith(p, "_staticCtor"))
+ if (strncmp(p, "_staticCtor", 11) == 0)
p = "static this";
- else if (startswith(p, "_staticDtor"))
+ else if (strncmp(p, "_staticDtor", 11) == 0)
p = "static ~this";
- else if (startswith(p, "__invariant"))
+ else if (strncmp(p, "__invariant", 11) == 0)
p = "invariant";
}
}