This is the mail archive of the
mailing list for the GCC project.
Re: msp430 port
- From: Jeff Law <law at redhat dot com>
- To: Mike Stump <mikestump at comcast dot net>
- Cc: DJ Delorie <dj at redhat dot com>, rth at redhat dot com, nickc at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Tue, 20 Aug 2013 02:40:17 -0600
- Subject: Re: msp430 port
- References: <51E700D1 dot 702 at redhat dot com> <201307232208 dot r6NM8QpY018297 at greed dot delorie dot com> <51F81F81 dot 4070303 at redhat dot com> <201307310324 dot r6V3OkjY005420 at greed dot delorie dot com> <52127E4D dot 1030901 at redhat dot com> <201308192049 dot r7JKnS2E029457 at greed dot delorie dot com> <52128615 dot 9080405 at redhat dot com> <5B47E991-EE43-4484-88D9-2F88546B5E60 at comcast dot net>
On 08/19/2013 07:04 PM, Mike Stump wrote:
I'd have to dig out mail archives from the early 90s and hope I kept the
discussion. That involves pulling an HP R390 out from under the stairs
to fire it up, at which point I tend to lose interest right quick due to
its weight. Not to mention that last time I fired it up I couldn't
remember any of the passwords to login ;(
On Aug 19, 2013, at 1:54 PM, Jeff Law <firstname.lastname@example.org> wrote:
On 08/19/2013 02:49 PM, DJ Delorie wrote:
I'd say it's not as simple as you make it out to be. You can't blindly
combine operations on volatile memory.
I'm not blindly combining them, I'm combining them when I know the
hardware will do the volatile-correct thing.
You're missing the point. If the programmer wrote two statements which hit volatile memory and you've got some pattern which matches those two statements, then with your change you'll end up combining them, that's wrong.
Give a specific example. I don't buy this. Support your position with the semantics of the code given the change, and the semantics as required by the language standard.
I fully understand that. But that doesn't change the fact that if the programmer wrote separate statements with volatile operands you can't combine them.
Again you say this with no backing what-so-ever.
You simply don't have enough context at any point to know if what you're doing is safe or not.
Then, you can give a concrete example of code that will fail.
My recollection is I suggested or was investigating something similar
back in the early 90s. I can't recall if someone shot me down or my own
investigations came up with a testcase which failed.
I'll withdraw my objection to the msp port's hacking of volatile_ok. If
someone is going to push for the change in a more general sense, we'll
need to discuss further.