mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-09 03:18:33 +02:00
+ forbid usage of $E on targets supporting no fpu emulation
- disabled -Cfsoft on i386 git-svn-id: trunk@7625 -
This commit is contained in:
parent
eac1c293e4
commit
c7100799ed
@ -51,7 +51,7 @@ Type
|
|||||||
|
|
||||||
tfputype =
|
tfputype =
|
||||||
(fpu_none,
|
(fpu_none,
|
||||||
fpu_soft,
|
// fpu_soft,
|
||||||
fpu_x87,
|
fpu_x87,
|
||||||
fpu_sse,
|
fpu_sse,
|
||||||
fpu_sse2,
|
fpu_sse2,
|
||||||
@ -84,7 +84,7 @@ Const
|
|||||||
);
|
);
|
||||||
|
|
||||||
fputypestr : array[tfputype] of string[6] = ('',
|
fputypestr : array[tfputype] of string[6] = ('',
|
||||||
'SOFT',
|
// 'SOFT',
|
||||||
'X87',
|
'X87',
|
||||||
'SSE',
|
'SSE',
|
||||||
'SSE2',
|
'SSE2',
|
||||||
|
@ -348,6 +348,8 @@ scan_e_only_packset=02080_E_Illegal set packing value
|
|||||||
scan_w_pic_ignored=02081_W_PIC directive ignored
|
scan_w_pic_ignored=02081_W_PIC directive ignored
|
||||||
% Several targets like windows do not support the PIC directive and need it to be
|
% Several targets like windows do not support the PIC directive and need it to be
|
||||||
% ignored.
|
% ignored.
|
||||||
|
scan_w_unsupported_switch_by_target=02082_W_The switch "$1" is not supported by the currently selected target
|
||||||
|
% Some compiler switches like $E are not supported by all targets.
|
||||||
% \end{description}
|
% \end{description}
|
||||||
#
|
#
|
||||||
# Parser
|
# Parser
|
||||||
|
@ -102,6 +102,7 @@ const
|
|||||||
scanner_e_illegal_warn_state=02079;
|
scanner_e_illegal_warn_state=02079;
|
||||||
scan_e_only_packset=02080;
|
scan_e_only_packset=02080;
|
||||||
scan_w_pic_ignored=02081;
|
scan_w_pic_ignored=02081;
|
||||||
|
scan_w_unsupported_switch_by_target=02082;
|
||||||
parser_e_syntax_error=03000;
|
parser_e_syntax_error=03000;
|
||||||
parser_e_dont_nest_interrupt=03004;
|
parser_e_dont_nest_interrupt=03004;
|
||||||
parser_w_proc_directive_ignored=03005;
|
parser_w_proc_directive_ignored=03005;
|
||||||
@ -722,9 +723,9 @@ const
|
|||||||
option_info=11024;
|
option_info=11024;
|
||||||
option_help_pages=11025;
|
option_help_pages=11025;
|
||||||
|
|
||||||
MsgTxtSize = 43132;
|
MsgTxtSize = 43206;
|
||||||
|
|
||||||
MsgIdxMax : array[1..20] of longint=(
|
MsgIdxMax : array[1..20] of longint=(
|
||||||
24,82,235,79,63,49,107,22,135,60,
|
24,83,235,79,63,49,107,22,135,60,
|
||||||
42,1,1,1,1,1,1,1,1,1
|
42,1,1,1,1,1,1,1,1,1
|
||||||
);
|
);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2349,9 +2349,11 @@ begin
|
|||||||
{$endif arm}
|
{$endif arm}
|
||||||
then
|
then
|
||||||
begin
|
begin
|
||||||
|
{$ifdef cpufpemu}
|
||||||
include(init_settings.moduleswitches,cs_fp_emulation);
|
include(init_settings.moduleswitches,cs_fp_emulation);
|
||||||
{ cs_fp_emulation and fpu_soft are equal on arm }
|
{ cs_fp_emulation and fpu_soft are equal on arm }
|
||||||
init_settings.fputype:=fpu_soft;
|
init_settings.fputype:=fpu_soft;
|
||||||
|
{$endif cpufpemu}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,15 +162,24 @@ begin
|
|||||||
begin
|
begin
|
||||||
if current_module.in_global then
|
if current_module.in_global then
|
||||||
begin
|
begin
|
||||||
if state='+' then
|
{$ifndef cpufpemu}
|
||||||
include(current_settings.moduleswitches,tmoduleswitch(setsw))
|
if tmoduleswitch(setsw)=cs_fp_emulation then
|
||||||
else
|
|
||||||
begin
|
begin
|
||||||
{ Turning off debuginfo when lineinfo is requested
|
Message1(scan_w_unsupported_switch_by_target,'$'+switch);
|
||||||
is not possible }
|
end
|
||||||
if not((cs_use_lineinfo in current_settings.globalswitches) and
|
else
|
||||||
(tmoduleswitch(setsw)=cs_debuginfo)) then
|
{$endif cpufpemu}
|
||||||
exclude(current_settings.moduleswitches,tmoduleswitch(setsw));
|
begin
|
||||||
|
if state='+' then
|
||||||
|
include(current_settings.moduleswitches,tmoduleswitch(setsw))
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
{ Turning off debuginfo when lineinfo is requested
|
||||||
|
is not possible }
|
||||||
|
if not((cs_use_lineinfo in current_settings.globalswitches) and
|
||||||
|
(tmoduleswitch(setsw)=cs_debuginfo)) then
|
||||||
|
exclude(current_settings.moduleswitches,tmoduleswitch(setsw));
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -454,7 +454,7 @@ unit cgx86;
|
|||||||
s:=S_IQ;
|
s:=S_IQ;
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
internalerror(200204041);
|
internalerror(200204043);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user