Skip to content
Snippets Groups Projects
Commit 787c6e8c authored by Ben Gamari's avatar Ben Gamari Committed by Marge Bot
Browse files

testsuite/T20137: Avoid impl.-defined behavior

Previously we would cast pointers to uint64_t. However, implementations
are allowed to either zero- or sign-extend such casts. Instead cast to
uintptr_t to avoid this.

Fixes #23247.
parent 97a6f7bc
No related branches found
No related tags found
No related merge requests found
......@@ -5,9 +5,9 @@
5
6
77777777
ffffffff88888888
ffffffff99999999
ffffffffaaaaaaaa
ffffffffbbbbbbbb
88888888
99999999
aaaaaaaa
bbbbbbbb
cccccccc
ffffffffdddddddd
dddddddd
......@@ -16,19 +16,19 @@ runInteractiveProcess (char *const * args,
{
// N.B. We don't use %p here since the rendering of this varies across
// libc implementations
printf("%" PRIx64 "\n", (uint64_t) args);
printf("%" PRIx64 "\n", (uint64_t) workingDirectory);
printf("%" PRIx64 "\n", (uint64_t) environment);
printf("%" PRIxPTR "\n", (uintptr_t) args);
printf("%" PRIxPTR "\n", (uintptr_t) workingDirectory);
printf("%" PRIxPTR "\n", (uintptr_t) environment);
printf("%x\n", fdStdIn);
printf("%x\n", fdStdOut);
printf("%x\n", fdStdErr);
printf("%" PRIx64 "\n", (uint64_t) pfdStdInput);
printf("%" PRIx64 "\n", (uint64_t) pfdStdOutput);
printf("%" PRIx64 "\n", (uint64_t) pfdStdError);
printf("%" PRIx64 "\n", (uint64_t) childGroup);
printf("%" PRIx64 "\n", (uint64_t) childUser);
printf("%" PRIxPTR "\n", (uintptr_t) pfdStdInput);
printf("%" PRIxPTR "\n", (uintptr_t) pfdStdOutput);
printf("%" PRIxPTR "\n", (uintptr_t) pfdStdError);
printf("%" PRIxPTR "\n", (uintptr_t) childGroup);
printf("%" PRIxPTR "\n", (uintptr_t) childUser);
printf("%x\n", flags);
printf("%" PRIx64 "\n", (uint64_t) failed_doing);
printf("%" PRIxPTR "\n", (uintptr_t) failed_doing);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment