Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/08/07 14:38
Read: times


 
#130426 - sort of...
Responding to: ???'s previous message
Andy Neil said:
Where the problem comes is when you are specifically accessing a multibyte variable that is shared with an ISR.
Is that where you're concerned?

Yes.

Theoretically, a C-compiler might "know" whether this happens or not (OK this gets rather tricky if the ISR accesses other functions, possibly declared externally - then all global variables are suspected, but that might raise a simple warning - I don't think it is too common to have extensive ISRs like that).
It then might either raise a more specific warning, or (maybe upon a switch or pragma) flag these variables as "critical" automatically.

A keyword to flag a variable or a function or a sequence of command "critical" would be better than nothing - but if I understand correctly, there is no such flag for _variables_ in Keil nor SDCC. "volatile" comes into mind, but that is intended for something else, isn't it.

I believe a feature like this could considerably raise the quality of output of many C "coder" ... :-)

Jan Waclawek


List of 32 messages in thread
TopicAuthorDate
atomicity, multibyte variables, C and my comfort            01/01/70 00:00      
   No way            01/01/70 00:00      
      Well, theoretically ...            01/01/70 00:00      
   Yes sdcc at least            01/01/70 00:00      
      Keil            01/01/70 00:00      
   Does it matter?            01/01/70 00:00      
      sort of...            01/01/70 00:00      
         Lack of this feature ...            01/01/70 00:00      
            really?            01/01/70 00:00      
   talking out of both sides of the mouth            01/01/70 00:00      
      :-)            01/01/70 00:00      
         the simple solution            01/01/70 00:00      
            The question was not how to fix it...            01/01/70 00:00      
   Don't disable            01/01/70 00:00      
      C extensions            01/01/70 00:00      
         ring buffer, atomicity and C            01/01/70 00:00      
            OK that was a stupid example...            01/01/70 00:00      
      Hardware solution called for            01/01/70 00:00      
         isn't HLL supposed to hide the low level details?            01/01/70 00:00      
            the skinny            01/01/70 00:00      
               Word length & Atomicity            01/01/70 00:00      
            Side effects            01/01/70 00:00      
               questions and answers            01/01/70 00:00      
                  Embedded Specific            01/01/70 00:00      
                     Neil, you GOT it            01/01/70 00:00      
                        waitaminute...            01/01/70 00:00      
                           from an old hand to a newbie            01/01/70 00:00      
                              what helps is good (?)            01/01/70 00:00      
                                 The warning you propose would be 'wrong' in some c            01/01/70 00:00      
                                    wrong warnings            01/01/70 00:00      
                                       Read-Modify-Write            01/01/70 00:00      
                                          OK then not simple            01/01/70 00:00      

Back to Subject List