Inlining problems again
    Artur Skawina 
    art.08.09 at gmail.com
       
    Fri Apr  4 06:42:18 PDT 2014
    
    
  
On 04/04/14 15:14, Johannes Pfau wrote:
> Am Fri, 04 Apr 2014 11:52:13 +0200
> schrieb Artur Skawina <art.08.09 at gmail.com>:
> 
>> Built latest gcc4-8-based gdc (fdf0c614) today; immediately ran into
>> this:
>>
>> Which is much more reasonable, and shouldn't require such hacks.
>> I thought that inlining /templated/ functions across modules already
>> worked; is this a different problem, and, more importantly, is it
>> fixable?
> Please try to reduce such examples in the future ;-)
Sorry. Yes, I should have tried harder.
[I'm probably subconsciously avoiding going near any phobos code... :)]
> http://goo.gl/SJ0iEq
> http://goo.gl/ykumCI
> 
> @property bool empty(T)(in T[] a) @safe pure nothrow
> 
> it's the 'in' which causes inlining to fail (const also fails).
Hmm, I remember const-args were a problem in the past, but I had
thought this was already fixed. A quick search reveals:
http://gdcproject.org/bugzilla/show_bug.cgi?id=37 (-ENOPERM)
https://bitbucket.org/goshawk/gdc/issue/300/array-empty-function-does-not-get-inlined
 (which says WONTFIX, but IIRC Iain fixed)
artur
    
    
More information about the D.gnu
mailing list