globtype.pas:
+ tlocalswitch: extend by cs_imported_data
globals.pas:
* default_settings: cs_imported_data is set by default (Delphi compatible)
switches.pas:
* turboSwitchTable: G is used for cs_imported_data
scandir.pas:
+ new directive handler dir_importeddata
* InitScannerDirectives: handle IMPORTEDDATA with dir_importeddata
git-svn-id: trunk@33281 -
actually export them from the .exe or .dll, but they can now be used as
callbacks)
+ support win16 smart callbacks via the $K switch
git-svn-id: trunk@31835 -
compiler (BP7 compatibility) instead of controlling stack frame elimination
(which isn't supported by the compiler on i8086 anyway, due to i8086's lack
of support for stack relative addressing)
git-svn-id: trunk@31834 -
unicodestring = java.lang.String. The reason this was the default in
the past is that this was the first string type that was implemented,
and without it being the default most code involving string operations
would fail. Now the default strings types are the same as for other
targets
+ new {$modeswitch unicodestrings} directive, that when activated
*together* with {$h+},
1) changes char into an alias for widechar
2) changes string into an alias for unicodestring
3) changes the preferred string evaluation type (in case of uncertainty)
to unicodestring
{$modeswitch unicodestrings} with {$h-} does not change anything at all
regarding the string type (it still changes the char type)
+ new uuchar unit that redefines char as widechar, and which is automatically
included by the compiler if {$modeswitch unicodestrings} is enabled
git-svn-id: branches/jvmbackend@18781 -
* globtype.pas:
tmsgstate updated (ms_on/off/error_global variants added).
ms_local_mask, ms_global_mask : new constants.
tmessagestaterecord: new record, use to list chains
of local changes to warnings by $WARN directive.
pmessagestaterecord: new pointer to tmessagestaterecord.
* globals.pas:
tsettings record:
new field: pmessage of type pmessagestaterecord;
* cmsgs.pas:
TMessage class:
New method: ResetStates; Called on unit parsing changes
New Method: SetVerbosity(nr:longint;newstate:tmsgstate):boolean;
Remember global state in
replacing ClearVerbosity method.
New boolean field: has_local_changes
set if a call to SetVerbosity makes a local change that must be
reset when changing unit.
* verbose.pas:
New functions/procedures:
function SetMessageVerbosity(v:longint;state:tmsgstate):boolean;
for changes caused by $WARN or option
procedure RestoreLocalVerbosity(pstate : pmessagestaterecord);
procedure FreeLocalVerbosity(var fstate : pmessagestaterecord);
function ChangeMessageVerbosity(s: string; var i: integer;state:tmsgstate): boolean;
* switches.pas:
Implement recordpendingmessagestate
flushpendingswitchesstate: Handle new pmessage field of
current_settings record.
* parser.pas:
Handle pmessage field of current_settings.
* scandir.pas:
Handle also integer constants in $WARN.
git-svn-id: trunk@17852 -
- complete $WARN switch parsing and add a stab to change message state
- reimplement way of message hiding by -vm switch (by Dmitry Boyarintsev)
(note: $WARN switch does not work at the moment since state handling is not yet implemented)
git-svn-id: trunk@14809 -
* store a node's verbosity in the node so that e.g. disabling warnings
also disables warnings for this node in pass_1
(the above together fix mantis #12076)
* save/restore verbosity with {$push}/{$pop} (mantis #12075)
* if warnings/notes/hints are turned off, also do not count encountered
ones for the totals (otherwise -Sew cannot be used properly in
combination with {$warnings off}, because disabled warnings will still
trigger a compiler error) -- this required adding -vw/-vn/-vh to all
tests using -Sew/-Sen/-Seh
- removed some superfluous state saving/restoring from firstpass()
git-svn-id: trunk@12025 -
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
error was found
* generic changeregsize(reg,size) for i386 register resizing
* removed some more routines from cga unit
* fixed returnvalue handling
* fixed default stacksize of linux and go32v2, 8kb was a bit small :-)