Im Nios® II 6.0 Errata finden Sie alle bekannten Probleme mit dem Nios II C2H Compiler. Zusätzlich zu diesem Material wurde vor kurzem das folgende Problem entdeckt.
Der C2H-Compiler unterstützt die Beschleunigung von Funktionen, die andere Funktionen aufrufen. Alle Unterfunktionen werden vom C2H-Compiler beschleunigt. Wenn die Unterfunktion als Nichtbeachtungsfunktion weitergegeben wird, tritt ein Funktions- oder Kompilierungsfehler auf:
Speicherbetrieb
Beispiel: (a[i]);
Postfix/Präfix-Erhöhung/-Decrement
Beispiel: (b);
Nicht-arithmetisch (Multiplikation, Variable Shift, Division und Modulo)
Beispiel: (b* c);
Verbindungszuweisung
Beispiel: (b = c);
Unterfunktionsruf
Beispiel: (bar(b), c);
Die Problemumgehung besteht darin, das Argument einer temporären Variable zuzuweisen und die temporäre Variable an die Unterfunktion zu übergeben. Wenn die temporäre Variable an anderer Stelle in der beschleunigten Funktion nicht verwendet wird, wird diese zusätzliche Codezeile keine zusätzlichen Logikressourcen erhalten.