Bug creation and email sending has been disabled, file new bugs at gcc.gnu.org/bugzilla

Bug 19

Summary: byte b; --b = b; // error: non-trivial conversion (int/byte) /w wrong line number
Product: GDC Reporter: Marco.Leise
Component: gdcAssignee: Iain Buclaw <ibuclaw>
Status: RESOLVED FIXED    
Severity: trivial    
Priority: ---    
Version: 4.7.x   
Hardware: x86_64   
OS: Linux   

Description Marco.Leise 2012-10-24 07:24:57 CEST
While I was experimenting with some bit twiddling hacks, I noticed that DMD 2.060 compiles this, while GDC doesn't. It is not a normal error message though (translation to English by me):

sudoku.d: In function »sudoku.solve«:
sudoku.d:225:0: Error: non-trivial conversion on assignment
int
byte
*__assignop1747 = D.9717;

sudoku.d:225: confused by previous errors, abort

It prints the line number of the function, not that of the assignment in question.
Should this problem have been detected in an earlier compilation stage ?
Is there some disagreement on the return type of the prefix (de/in)crement operator between DMD and GDC ?