Consulte o Nios® II 6.0 Errata para todos os problemas conhecidos com o compilador Nios II C2H. Além desse material, o seguinte problema foi descoberto recentemente.
O compilador C2H suporta funções de aceleração que chamam outras funções. Todas as subfunções são aceleradas pelo compilador C2H. Se a subfunção for aprovada como argumentos, ocorrerá uma falha funcional ou de compilação:
Operação de memória
exemplo: foo(a[i]);
Incremento/decremento de postfix/prefixo
exemplo: foo(b);
Aritmética não trivial (Multiplicação, Mudança variável, Divisão e Modulo)
exemplo: foo(b * c);
Atribuição composta
exemplo: foo(b = c);
Chamada de subfunção
exemplo: foo(bar(b), c);
A solução alternativa é atribuir o argumento a uma variável temporária e passar a variável temporária para a subfunção. Se a variável temporária não for usada em qualquer outro lugar na função acelerada, esta linha extra de código será sintetizada em nenhum recurso lógico adicional.