+ added a $HUGEPOINTERNORMALIZATION switch

git-svn-id: trunk@28088 -
This commit is contained in:
nickysn 2014-06-27 13:56:12 +00:00
parent 193fa2b95e
commit b3bb9df19f
5 changed files with 709 additions and 685 deletions

View File

@ -145,7 +145,8 @@ interface
cs_check_var_copyout,
cs_zerobasedstrings,
{ i8086 specific }
cs_force_far_calls
cs_force_far_calls,
cs_hugeptr_normalization
);
tlocalswitches = set of tlocalswitch;

View File

@ -136,7 +136,7 @@ general_f_oserror=01025_F_Operating system error: $1
#
# Scanner
#
# 02097 is the last used one
# 02098 is the last used one
#
% \section{Scanner messages.}
% This section lists the messages that the scanner emits. The scanner takes
@ -404,6 +404,8 @@ scan_w_invalid_stacksize=02096_W_The specified stack size is not within the vali
scan_w_heapmax_lessthan_heapmin=02097_W_The specified HeapMax value is smaller than the HeapMin value. Setting HeapMax ignored.
% The HeapMax value (if specified) must be greater than or equal to the HeapMin
% value. Otherwise, the HeapMax value is ignored.
scan_w_hugepointernormalization_not_support=02098_W_HUGEPOINTERNORMALIZATION is not supported by the target platform
% The \var{\{\$HUGEPOINTERNORMALIZATION\}} directive is not supported by the target platform.
% \end{description}
#
# Parser

View File

@ -119,6 +119,7 @@ const
scan_e_unsupported_switch=02095;
scan_w_invalid_stacksize=02096;
scan_w_heapmax_lessthan_heapmin=02097;
scan_w_hugepointernormalization_not_support=02098;
parser_e_syntax_error=03000;
parser_e_dont_nest_interrupt=03004;
parser_w_proc_directive_ignored=03005;
@ -992,9 +993,9 @@ const
option_info=11024;
option_help_pages=11025;
MsgTxtSize = 71849;
MsgTxtSize = 71922;
MsgIdxMax : array[1..20] of longint=(
26,98,339,122,89,57,126,27,202,64,
26,99,339,122,89,57,126,27,202,64,
58,20,1,1,1,1,1,1,1,1
);

File diff suppressed because it is too large Load Diff

View File

@ -1569,6 +1569,16 @@ unit scandir;
do_moduleswitch(cs_huge_code);
end;
procedure dir_hugepointernormalization;
begin
if target_info.system<>system_i8086_msdos then
begin
Message(scan_w_hugepointernormalization_not_support);
exit;
end;
do_localswitch(cs_hugeptr_normalization);
end;
procedure dir_weakpackageunit;
begin
end;
@ -1672,6 +1682,7 @@ unit scandir;
AddDirective('HINTS',directive_all, @dir_hints);
AddDirective('HPPEMIT',directive_all, @dir_hppemit);
AddDirective('HUGECODE',directive_all, @dir_hugecode);
AddDirective('HUGEPOINTERNORMALIZATION',directive_all,@dir_hugepointernormalization);
AddDirective('IEEEERRORS',directive_all,@dir_ieeeerrors);
AddDirective('IOCHECKS',directive_all, @dir_iochecks);
AddDirective('IMAGEBASE',directive_all, @dir_imagebase);