http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56263
--- Comment #8 from demiurg_spb at freemail dot ru 2013-03-13 06:46:40 UTC ---
(In reply to comment #7)
> Sorry? I don't understand you last remark. Are you saying it is trivial to
> implement in the avr backend?
>
No. Implementation is hard work.
I mean that if we take (typeof(lhs)==typeof(rhs)) axiom in initialization and
assignment: we have no logical problem at all.
> Before implementing it, you'll have to specify it. What should do this code?
>
> const __flash char* f (int i)
> {
> const __flash char *p = "Hallo" + i;
> return p;
> }
Yes it's not trivial... But it should be equal to next cases:
const __flash char* f (int i)
{
const __flash char *p = "Hallo"; // flash str
return &p[i];
}
const __flash char* f (int i)
{
return "Hallo" + i; // flash str
}
const __flash char* f (int i)
{
return &"Hallo"[i]; // flash str
}