Forum: Compiler & IDEs -finline-functions Opt.-Problem


von haube (Gast)


Lesenswert?

hallo,

hab ein problem mit dem bei -O3 eingeschalteten "-finline-functions" 
wenn ichs manuell ausschaltet (mit -fno-inline-functions) dann 
funktioniert der code.

im gcc manual steht :
1
"
2
-finline-functions
3
[...]
4
If all calls to a given function are integrated, and the function is declared static, then the function is normally not output as assembler code in its own right. 
5
"

hab keine funktion static deklariert, also müsste der jeglicher 
funktionscode separat  vorhanden sein  (nicht nur inline) für evtl. 
aufruf aus ISRs  ...

ansonsten dürfte doch bei dem "inline-en"  nix kaputt gehen , oder ??

gcc version 4.1.1

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Was ist denn das Problem?

Üblicherweise wird für Funktionen, die möglicherweise extern 
referenziert werden oder deren Adresse gebraucht wird, Code angelegt.

Das Inlinig kann über weitere Schalter/Optionen/Parameter kontrolliert 
werden:

Optionen
1
  -fimplement-inlines
2
  -fimplicit-inline-templates
3
  -fvisibility-inlines-hidden
4
  -finline-functions
5
  -finline-functions-called-once
6
  -finline-small-functions
7
  -finline
8
  -finline-limit=<number>
9
  -fkeep-inline-functions

Parameter
1
  max-inline-insns-single
2
  max-inline-insns-auto
3
  max-inline-insns-recursive
4
  max-inline-insns-recursive-auto
5
  max-inline-recursive-depth
6
  max-inline-recursive-depth-auto
7
  min-inline-recursive-probability
8
  inline-unit-growth
9
  inline-call-cost

Warnungen
1
  -Winline

von haube (Gast)


Lesenswert?

:(

hab gerade mal das aktuelle WinAVR installiert ..  mit diesem avr-gcc 
funktioniert das modul nicht, egal mit welcher -O* einstellung

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.