al momento sto facendo alcuni esperimenti con GNU C++ - Compiler e l'opzione di ottimizzazione -Os per dimensioni minime del codice. Ho controllato le flag di compilazione abilitati al -Os con il seguente comando:g ++ abilita i flag errati a -Os
g++ -c -Q -Os --help=optimizers | grep "enabled"
ho ottenuto questo elenco di opzioni attivate:
-faggressive-loop-optimizations [enabled]
-falign-functions [enabled]
-falign-jumps [enabled]
-falign-labels [enabled]
-falign-loops [enabled]
-fasynchronous-unwind-tables [enabled]
...
questo sembra un po 'strano, perché ho anche guardato in alto, quali flag devono essere abilitati a -Os, here e sotto la sezione -Os è scritto che tutte le opzioni falign-
devono essere disabilitate per la minimizzazione del codice.
D: Quindi questo è un bug o sto facendo qualcosa di sbagliato qui? Perché dopo aver letto ciò che i flag falign-
penso davvero dovrebbero essere disabilitati in -Os!
La mia versione gcc è la 4.9.2 e sto lavorando su Arch-Linux.
Già grazie per l'aiuto :)
Posso riprodurre con lo stesso compilatore, e anche con il precedente 4.4.7, eccetto 'falign-loops' manca qui. – amaurea
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43861 –
Ahh grazie, quindi questo sembra essere un bug noto. Proverò la patch da bugzilla o disabiliterò le opzioni in modo esplicito. – TrezzJo