Inlining problems again

Johannes Pfau nospam at example.com
Sat Apr 5 10:53:12 PDT 2014


Am Sun, 6 Apr 2014 02:51:28 +1000
schrieb "Daniel Murphy" <yebbliesnospam at gmail.com>:

> "Johannes Pfau"  wrote in message
> news:lhp8h4$2j38$1 at digitalmars.com...
> 
> > But we'd want this to work/inline nevertheless, right?:
> > ------------
> > void test(const(char)[] a)
> > {
> > }
> >
> > char[] abc;
> > test(abc);
> > ------------
> >
> > Then we still need to tell GCC that const(char)[] is a variant of
> > char[] or it won't inline.
> 
> Can you just strip all const/immutable/etc when the type is passed to
> the backend? 
> 

This would impact debug info which is also emitted by the backend. GCC
supports 'variants' of types which means only different qualifiers but
the same apart from type qualifiers. We just need to set the variant
information correctly (e.g. const(char)[] should be recognized as a
variant of char[])


More information about the D.gnu mailing list