[Issue 5132] New: ~ unary operator silently different from C
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Oct 29 12:17:33 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5132
Summary: ~ unary operator silently different from C
Product: D
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: ellery-newcomer at utulsa.edu
--- Comment #0 from Ellery Newcomer <ellery-newcomer at utulsa.edu> 2010-10-29 12:16:39 PDT ---
~ <type> => <type> for all integer types in D, however
~ <type> => int for small integer types in C.
This is a source of silently different behavior between D and C at least in
unsigned integer types.
example:
// test.d
import std.stdio;
void main(){
ushort x = 0xffff;
writefln("%08x", ~x+1u);
}
// test.c
#include <stdio.h>
void main(void){
unsigned short x = 0xffff;
printf("%08x", ~x+1u);
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list