Summary: | gcc 64-bit: Adding a negative value multiplied by an unsigned int to a pointer always adds 0x100000000 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Gerry <trick> |
Component: | [OLD] Core system | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED INVALID | ||
Severity: | major | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Gerry
2007-04-20 02:14:37 UTC
Erm. Now that I actually think about this, I see what happens: The presence of the unsigned int converts the entire expression to unsigned. Since the size of int and a pointer is different on 64-bit Linux, this results in the behavior above. So, this isn't actually a bug. I'll mark it as invalid. Sorry for the noise. I blame sleep deprivation =P |