Revision history for KeyPgPragma


Revision [22480]

Last edited on 2018-09-03 18:43:47 by JeffMarshall [constness pragma will be removed in future]
Additions:
**##constness##** pragma is added for testing fbc compiler. It will be removed in future at should not be relied upon.


Revision [22454]

Edited on 2018-08-31 08:20:47 by fxm [Added '-w constness' compiler option]
Additions:
{{table columns="3" cellpadding="1" cells="Option; Value; Description; msbitfields; 0; Use bitfields compatible with gcc (default);###; -1 (or any other non-zero value); Use bitfields compatible with those used in Microsoft C compilers; once; N/A; cause the source file in which the pragma appears to behave as though it was included with #include once ...; constness; 0; cause the source file in which the pragma appears to disable 'CONST qualifier discarded' warning;###; -1 (or any other non-zero value); cause the source file in which the pragma appears to enable 'CONST qualifier discarded' warning"}}
Deletions:
{{table columns="3" cellpadding="1" cells="Option; Value; Description; msbitfields; 0; Use bitfields compatible with gcc (default);###; -1 (or any other non-zero value); Use bitfields compatible with those used in Microsoft C compilers; once; N/A; cause the source file in which the pragma appears to behave as though it was included with #include once ..."}}


Revision [20462]

Edited on 2016-02-10 16:07:02 by DkLwikki [Update link format]
Additions:
- ##[[KeyPgInclude|#include]]##
Deletions:
- ##[[KeyPgInclude #include]]##


Revision [16700]

Edited on 2013-03-28 12:35:50 by DkLwikki [Document #pragma push(option, value) syntax]
Additions:
**#pragma** //option// [ = //value// ]
**#pragma** **push** ( //option// [, //value// ] )

{{table columns="3" cellpadding="1" cells="Option; Value; Description; msbitfields; 0; Use bitfields compatible with gcc (default);###; -1 (or any other non-zero value); Use bitfields compatible with those used in Microsoft C compilers; once; N/A; cause the source file in which the pragma appears to behave as though it was included with #include once ..."}}

If //value// is not given, the compiler assumes //-1// (//TRUE//).

**Push** saves the current value of the //option// onto a stack, then assigns the new //value// (or //-1//) to it. **Pop** restores the //option// to its previous value, and removes it from the stack. This mechanism allows options to be changed for a certain part of source code, regardless of the setting used by the context, which is especially useful inside #include header files.
'' MSVC-compatible bitfields: save the current setting and then enable them
Deletions:
**#pragma** //option// [ =//value// ]
**#pragma** **push** ( //option// )
{{table columns="3" cellpadding="1" cells="Option; Value; Description; msbitfields; 0; Use bitfields compatible with gcc (default);###; (nonzero); Use bitfields compatible with those used in Microsoft C compilers; once; N/A; cause the source file in which the pragma appears to behave as though it was included with #include once ..."}}
'' save the current pragma setting
'' switch to MSVC-compatible bitfields
#pragma msbitfields=1


Revision [14426]

Edited on 2009-08-29 21:56:33 by CountingPine [Remove CamelCase links in "New to FreeBASIC"]
Additions:
- New to ""FreeBASIC""
Deletions:
- New to FreeBASIC


Revision [11149]

The oldest known version of this page was created on 2007-10-01 19:35:47 by JeffMarshall [Remove CamelCase links in "New to FreeBASIC"]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode