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.
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
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;
}
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());
{ 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";
}
}