From: SourceForge.net <no...@so...> - 2006-09-08 08:52:39
|
Bugs item #1554602, was opened at 2006-09-08 12:52 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1554602&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: vinayak (vinayakp) Assigned to: Nobody/Anonymous (nobody) Summary: increment by one does not work for 'float' pointers Initial Comment: No asm code is generated for any of the following syntax. valuepointer++; OR valuepointer+=1; OR valuepointer=valuepointer+1; But it creates correct code for valuepointer+=2; OR valuepointer=valuepointer+2; like ---> ========================================== ; test.c:15: i++; ; genPlus ; genPlusIncr inc r2 ; test.c:16: valuepointer++; ; test.c:18: while(1) ; Peephole 112.b changed ljmp to sjmp sjmp 00101$ 00105$: ; Peephole 112.b changed ljmp to sjmp sjmp 00105$ ; Peephole 259.a removed redundant label 00107$ and ret ; ========================================== Please find the file attached. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1554602&group_id=599 |
From: SourceForge.net <no...@so...> - 2006-09-08 10:35:50
|
Bugs item #1554602, was opened at 2006-09-08 10:52 Message generated for change (Comment added) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1554602&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None >Group: non bugs >Status: Closed >Resolution: Rejected Priority: 5 Submitted By: vinayak (vinayakp) Assigned to: Nobody/Anonymous (nobody) Summary: increment by one does not work for 'float' pointers Initial Comment: No asm code is generated for any of the following syntax. valuepointer++; OR valuepointer+=1; OR valuepointer=valuepointer+1; But it creates correct code for valuepointer+=2; OR valuepointer=valuepointer+2; like ---> ========================================== ; test.c:15: i++; ; genPlus ; genPlusIncr inc r2 ; test.c:16: valuepointer++; ; test.c:18: while(1) ; Peephole 112.b changed ljmp to sjmp sjmp 00101$ 00105$: ; Peephole 112.b changed ljmp to sjmp sjmp 00105$ ; Peephole 259.a removed redundant label 00107$ and ret ; ========================================== Please find the file attached. ---------------------------------------------------------------------- >Comment By: Maarten Brock (maartenbrock) Date: 2006-09-08 12:35 Message: Logged In: YES user_id=888171 If you take a better look at the generated asm you'll see that: 1) r3,r4 (valuepointer) is assigned to dptr 2) dptr is incremented 4 times 3) dptr is assigned back to r3,r4. There is no bug here. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1554602&group_id=599 |