Pragmas 'warning disable', 'warning restore'

Das Pragma {warning disable <compiler ID>} bewirkt, dass bestimmte Warnungen unterdrückt werden.

Das Pragma {warning restore <compiler ID>} bewirkt, dass eine unterdrückte Meldung wieder aktiviert wird.

Syntax:

{warning disable <compiler ID>}

{warning restore <compiler ID>}

<compiler ID>: ID, die am Anfang einer Warnungsmeldung bzw. in der Übersicht der Compiler-Warnungen in den SPS-Projekteigenschaften steht.

Beispiel für Compiler-Warnung C0195:

Compiler-Warnung:

C0195: Implicit conversion from signed type 'SINT' to unsigned type 'UINT': possible change of sign

Das Pragma auf eine Variablendeklaration anwenden:

VAR
    {warning disable C0195}
    test1 : UINT := -1;
    {warning restore C0195}
    test2 : UINT := -1; 
END_VAR

test1 erzeugt keine Warnung, test2 erzeugt eine Warnung.

Beispiel für Compiler-Warnung C0394:

Compiler-Warnung:


C0394: Compatibility warning: FB_Exit is now called in F_Sample for FB instance fbSample which is located on the stack. This has not been the case for code compiled with compiler versions < 3.1.4022.0.

Das Pragma auf eine POU-Deklaration anwenden:

{warning disable C0394}
FUNCTION F_Sample : BOOL
VAR_INPUT
    bInput   : BOOL;
END_VAR
VAR
    fbSample : FB_Sample;   // The function block FB_Sample contains the method FB_exit
END_VAR

Ohne die Verwendung des Pragmas wird die o. g. Warnung für die Funktionsblockinstanz fbSample ausgegeben. Wird das im Beispiel genannte Pragma verwendet, wird hingegen keine Warnung erzeugt.

 

Pragmas 'warning disable', 'warning restore' 1:

Pragmas im Implementierungseditor

Wenn Sie die Pragmas zur Unterdrückung von Warnungen im Implementierungseditor verwenden möchten, ist dies aktuell im ST- sowie im FUP/KOP/AWL-Editor möglich.

In FUP/KOP/AWL muss das gewünschte Pragma in eine Sprungmarke eingetragen werden.

 

Siehe auch: