Refactored memcpy calls to D slices (#21062)

* Refactored memcpy calls to D slices

* Added .DS_Store to .gitignore
This commit is contained in:
Abhay Pratap 2025-03-24 04:42:13 +05:30 committed by GitHub
parent e896b5c98d
commit 2036516c17
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 13 additions and 13 deletions

1
.gitignore vendored
View file

@ -61,3 +61,4 @@ untracked_files/
# Just in case # Just in case
/dmd /dmd
.DS_Store

View file

@ -832,8 +832,8 @@ final class CParser(AST) : Parser!AST
const len2 = token.len; const len2 = token.len;
len = len1 + len2; len = len1 + len2;
auto s2 = cast(char*)mem.xmalloc_noscan(len * char.sizeof); auto s2 = cast(char*)mem.xmalloc_noscan(len * char.sizeof);
memcpy(s2, s, len1 * char.sizeof); s2[0 .. len1] = s[0 .. len1];
memcpy(s2 + len1, token.ustring, len2 * char.sizeof); s2[len1 .. len1 + len2] = token.ustring[0 .. len2];
s = s2; s = s2;
} }
else else
@ -3511,12 +3511,12 @@ final class CParser(AST) : Parser!AST
case TOK.colonColon: // treat as two separate : tokens for iasmgcc case TOK.colonColon: // treat as two separate : tokens for iasmgcc
*ptoklist = allocateToken(); *ptoklist = allocateToken();
memcpy(*ptoklist, &token, Token.sizeof); **ptoklist = this.token;
(*ptoklist).value = TOK.colon; (*ptoklist).value = TOK.colon;
ptoklist = &(*ptoklist).next; ptoklist = &(*ptoklist).next;
*ptoklist = allocateToken(); *ptoklist = allocateToken();
memcpy(*ptoklist, &token, Token.sizeof); **ptoklist = this.token;
(*ptoklist).value = TOK.colon; (*ptoklist).value = TOK.colon;
ptoklist = &(*ptoklist).next; ptoklist = &(*ptoklist).next;
@ -3526,7 +3526,7 @@ final class CParser(AST) : Parser!AST
default: default:
*ptoklist = allocateToken(); *ptoklist = allocateToken();
memcpy(*ptoklist, &token, Token.sizeof); **ptoklist = this.token;
ptoklist = &(*ptoklist).next; ptoklist = &(*ptoklist).next;
*ptoklist = null; *ptoklist = null;
nextToken(); nextToken();

View file

@ -2772,7 +2772,7 @@ class Parser(AST, Lexer = dmd.lexer.Lexer) : Lexer
if (len > 0) if (len > 0)
{ {
docline = cast(char*)mem.xmalloc_noscan(len + 2); docline = cast(char*)mem.xmalloc_noscan(len + 2);
memcpy(docline, begPtr, len); docline[0 .. len] = begPtr[0 .. len];
docline[len] = '\n'; // Terminate all lines by LF docline[len] = '\n'; // Terminate all lines by LF
docline[len + 1] = '\0'; docline[len + 1] = '\0';
} }
@ -7105,12 +7105,12 @@ class Parser(AST, Lexer = dmd.lexer.Lexer) : Lexer
case TOK.colonColon: // treat as two separate : tokens for iasmgcc case TOK.colonColon: // treat as two separate : tokens for iasmgcc
*ptoklist = allocateToken(); *ptoklist = allocateToken();
memcpy(*ptoklist, &token, Token.sizeof); **ptoklist = this.token;
(*ptoklist).value = TOK.colon; (*ptoklist).value = TOK.colon;
ptoklist = &(*ptoklist).next; ptoklist = &(*ptoklist).next;
*ptoklist = allocateToken(); *ptoklist = allocateToken();
memcpy(*ptoklist, &token, Token.sizeof); **ptoklist = this.token;
(*ptoklist).value = TOK.colon; (*ptoklist).value = TOK.colon;
ptoklist = &(*ptoklist).next; ptoklist = &(*ptoklist).next;
@ -7120,7 +7120,7 @@ class Parser(AST, Lexer = dmd.lexer.Lexer) : Lexer
default: default:
*ptoklist = allocateToken(); *ptoklist = allocateToken();
memcpy(*ptoklist, &token, Token.sizeof); **ptoklist = this.token;
ptoklist = &(*ptoklist).next; ptoklist = &(*ptoklist).next;
*ptoklist = null; *ptoklist = null;
nextToken(); nextToken();
@ -8264,9 +8264,8 @@ class Parser(AST, Lexer = dmd.lexer.Lexer) : Lexer
const len2 = token.len; const len2 = token.len;
len = len1 + len2; len = len1 + len2;
auto s2 = cast(char*)mem.xmalloc_noscan(len * char.sizeof); auto s2 = cast(char*)mem.xmalloc_noscan(len * char.sizeof);
memcpy(s2, s, len1 * char.sizeof); s2[0 .. len1] = s[0 .. len1];
memcpy(s2 + len1, token.ustring, len2 * char.sizeof); s2[len1 .. len1 + len2] = token.ustring[0 .. len2];
s = s2;
} }
else else
break; break;
@ -8473,7 +8472,7 @@ class Parser(AST, Lexer = dmd.lexer.Lexer) : Lexer
errorSupplemental("try enclosing the contents of `is` with a `typeof` expression"); errorSupplemental("try enclosing the contents of `is` with a `typeof` expression");
nextToken(); nextToken();
Token* tempTok = peekPastParen(&token); Token* tempTok = peekPastParen(&token);
memcpy(&token, tempTok, Token.sizeof); token = *tempTok;
goto Lerr; goto Lerr;
} }
targ = parseType(&ident); targ = parseType(&ident);