* allow pointer+ord. const always if the node is created internally

git-svn-id: branches/debug_eh@41381 -
This commit is contained in:
florian 2019-02-19 22:16:05 +00:00
parent 9e67e7311a
commit 38be96e586

View File

@ -2062,7 +2062,8 @@ implementation
end;
subn:
begin
if (cs_extsyntax in current_settings.moduleswitches) then
if (cs_extsyntax in current_settings.moduleswitches) or
(nf_internal in flags) then
begin
if is_voidpointer(right.resultdef) then
begin
@ -2378,7 +2379,7 @@ implementation
begin
if (rt=niln) then
CGMessage3(type_e_operator_not_supported_for_types,node2opstr(nodetype),ld.typename,'NIL');
if not(cs_extsyntax in current_settings.moduleswitches) or
if (not(cs_extsyntax in current_settings.moduleswitches) and not(nf_internal in flags)) or
(not (is_pchar(ld) or is_chararray(ld) or is_open_chararray(ld) or is_widechar(ld) or is_widechararray(ld) or is_open_widechararray(ld)) and
not(cs_pointermath in current_settings.localswitches) and
not((ld.typ=pointerdef) and tpointerdef(ld).has_pointer_math)) then
@ -2411,7 +2412,7 @@ implementation
begin
if (lt=niln) then
CGMessage3(type_e_operator_not_supported_for_types,node2opstr(nodetype),'NIL',rd.typename);
if not(cs_extsyntax in current_settings.moduleswitches) or
if (not(cs_extsyntax in current_settings.moduleswitches) and not(nf_internal in flags)) or
(not (is_pchar(ld) or is_chararray(ld) or is_open_chararray(ld) or is_widechar(ld) or is_widechararray(ld) or is_open_widechararray(ld)) and
not(cs_pointermath in current_settings.localswitches) and
not((ld.typ=pointerdef) and tpointerdef(ld).has_pointer_math)) then