unreg compiler: warning: conflicting types for built-in function ‘memcpy’
T3736 fails with an unreg compiler due to printing a warning about conflicting types for memcpy:
$ ghc -dno-debug-output -v0 -O --make T3736 -rtsopts -keep-tmp-files
/tmp/ghc4352_0/ghc4352_0.hc: In function ‘s2E3_ret’:
/tmp/ghc4352_0/ghc4352_0.hc:1494:0:
warning: conflicting types for built-in function ‘memcpy’
Line 1494 is
;EF_(memcpy);
in:
if ((W_)((W_)Hp > (W_)HpLim)) goto _c2MC;
_s2yO = (Sp[4]) + 0x10UL;
_s2Ed = Sp[2];
_s2yS = (*((P_)(R1.w+7))) * 0x4UL;
_s2Ee = (Sp[5]) + _s2yS;
;EF_(memcpy);
{void * (*ghcFunPtr)(void *, void *, W_);
ghcFunPtr = ((void * (*)(void *, void *, W_))(W_)&memcpy);
_s2Eg = (W_)ghcFunPtr((void *)_s2yO, (void *)_s2Ee, _s2Ed);;}
Hp[-12] = (W_)&base_GHCziSTRef_STRef_con_info;
Hp[-11] = Sp[1];
Hp[-10] = (W_)&base_GHCziForeignPtr_MallocPtr_con_info;
Hp[-9] = Sp[4];
Hp[-8] = (W_)Hp-95;
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |