From: SourceForge.net <no...@so...> - 2003-11-21 20:33:29
|
Bugs item #846849, was opened at 2003-11-21 12:33 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=846849&group_id=599 Category: msc51(8051) target Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: nested conditional statment genrate erors Initial Comment: Dear sandeep ji, first of all i would like to thank you and congratulate you for your execelent sdcc.I realy makes me proud and happy that a man like you from INDIAN origine is doing such a works so keep it up.I am developing code for a ups system although every thing works fine but problem starts when I add a chunk of code in middle of my programm actualy this is a nested conditional statment,when i compiled the programm i got messages like "ups4.c:162: warning: conditional flow changed by optimizer 'ups4.c(87)':so said EVELYN the modified DOG", "ups4.c:162: warning: unreachable code ups4.c(93)"etc so can you please help.I am using version 2.3.1 of sdcc on windows platform which I downloaded from PJRC PAULMON website,Please find attached the programm file named ups4.c as a file attachment with this mail,I had also indicated in the programm that which part of programm is causing all problem with the help of comments,i will expect your reply soon,thankyou. ASHI, 12\915,DAUD SARAI STREET, SAHARANPUR-247001(U.P)INDIA. PH NO.:-(0132)2645354. EMAIL :-as...@ho.... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846849&group_id=599 |
From: SourceForge.net <no...@so...> - 2003-11-22 21:22:15
|
Bugs item #846849, was opened at 2003-11-21 14:33 Message generated for change (Comment added) made by epetrich You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846849&group_id=599 Category: msc51(8051) target >Group: non bugs >Status: Closed >Resolution: Rejected Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: nested conditional statment genrate erors Initial Comment: Dear sandeep ji, first of all i would like to thank you and congratulate you for your execelent sdcc.I realy makes me proud and happy that a man like you from INDIAN origine is doing such a works so keep it up.I am developing code for a ups system although every thing works fine but problem starts when I add a chunk of code in middle of my programm actualy this is a nested conditional statment,when i compiled the programm i got messages like "ups4.c:162: warning: conditional flow changed by optimizer 'ups4.c(87)':so said EVELYN the modified DOG", "ups4.c:162: warning: unreachable code ups4.c(93)"etc so can you please help.I am using version 2.3.1 of sdcc on windows platform which I downloaded from PJRC PAULMON website,Please find attached the programm file named ups4.c as a file attachment with this mail,I had also indicated in the programm that which part of programm is causing all problem with the help of comments,i will expect your reply soon,thankyou. ASHI, 12\915,DAUD SARAI STREET, SAHARANPUR-247001(U.P)INDIA. PH NO.:-(0132)2645354. EMAIL :-as...@ho.... ---------------------------------------------------------------------- >Comment By: Erik Petrich (epetrich) Date: 2003-11-22 15:22 Message: Logged In: YES user_id=635249 The compiler is working correctly. Within your main() function, ch_status is assigned the value of 1, is never assigned any other value, and there are no calls to other functions that might change the value of ch_status. Therefor, it is a valid optimization for the compiler to assume the value of ch_status is constant and so ch_status == 1 is always true and ch_status == 2 is always false. When a conditional predicate is always true or always false, you will received the warnings that you have seen. To avoid this, you will need to use the "volatile" keyword in the declaration of ch_status: volatile char ch_status; This is explained in the manual in the "Interrupt Service Routines" section: http://sdcc.sourceforge.net/doc/sdccman.html/node27.html ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846849&group_id=599 |
From: SourceForge.net <no...@so...> - 2003-12-02 18:13:07
|
Bugs item #846849, was opened at 2003-11-21 12:33 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846849&group_id=599 Category: msc51(8051) target Group: non bugs Status: Closed Resolution: Rejected Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: nested conditional statment genrate erors Initial Comment: Dear sandeep ji, first of all i would like to thank you and congratulate you for your execelent sdcc.I realy makes me proud and happy that a man like you from INDIAN origine is doing such a works so keep it up.I am developing code for a ups system although every thing works fine but problem starts when I add a chunk of code in middle of my programm actualy this is a nested conditional statment,when i compiled the programm i got messages like "ups4.c:162: warning: conditional flow changed by optimizer 'ups4.c(87)':so said EVELYN the modified DOG", "ups4.c:162: warning: unreachable code ups4.c(93)"etc so can you please help.I am using version 2.3.1 of sdcc on windows platform which I downloaded from PJRC PAULMON website,Please find attached the programm file named ups4.c as a file attachment with this mail,I had also indicated in the programm that which part of programm is causing all problem with the help of comments,i will expect your reply soon,thankyou. ASHI, 12\915,DAUD SARAI STREET, SAHARANPUR-247001(U.P)INDIA. PH NO.:-(0132)2645354. EMAIL :-as...@ho.... ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-12-02 10:13 Message: Logged In: NO Thanks for ypur help. ash...@ho... ---------------------------------------------------------------------- Comment By: Erik Petrich (epetrich) Date: 2003-11-22 13:22 Message: Logged In: YES user_id=635249 The compiler is working correctly. Within your main() function, ch_status is assigned the value of 1, is never assigned any other value, and there are no calls to other functions that might change the value of ch_status. Therefor, it is a valid optimization for the compiler to assume the value of ch_status is constant and so ch_status == 1 is always true and ch_status == 2 is always false. When a conditional predicate is always true or always false, you will received the warnings that you have seen. To avoid this, you will need to use the "volatile" keyword in the declaration of ch_status: volatile char ch_status; This is explained in the manual in the "Interrupt Service Routines" section: http://sdcc.sourceforge.net/doc/sdccman.html/node27.html ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=846849&group_id=599 |