Ich habe heute von Ubuntu 12.04 aktualisiert, von dem ich denke, dass es g ++ - 4.6 zu Ubuntu 12.10 mit g ++ - 4.7.2 hatte. In meinem Code hatte ich einige Funktionen als __attribute__((always_inline))
markiert. Der Grund dafür war einfach, dass das Profiling mir gezeigt hat, dass es die Leistung des Codes signifikant erhöht hat. Es funktionierte gut mit g ++ 4.6 aber jetzt mit g ++ 4.7 erhalte ich die Fehlermeldung:Inlining fehlgeschlagen: Funktionskörper kann zum Zeitpunkt der Verbindung überschrieben werden
error: inlining failed in call to always_inline 'void func_name(args)': function body can be overwritten at link time
Ich kann meinen eigentlichen Code nicht teilen, ich habe versucht, es zu verengen, aber wenn ich zu viel ändere der Fehler geht weg, das ist also nicht hilfreich. Ich bin an der Ursache dieser Fehlermeldung interessiert.