diff --git a/compiler/options.pas b/compiler/options.pas index b445bab6fb..2ce3e572ea 100644 --- a/compiler/options.pas +++ b/compiler/options.pas @@ -2141,6 +2141,7 @@ begin def_system_macro('FPC_STRTOCHARARRAYPROC'); def_system_macro('FPC_NEW_BIGENDIAN_SETS'); def_system_macro('FPC_STRTOSHORTSTRINGPROC'); + def_system_macro('FPC_OBJFPC_EXTENDED_IF'); {$ifdef x86} def_system_macro('FPC_HAS_INTERNAL_ABS_LONG'); {$endif} diff --git a/compiler/scanner.pas b/compiler/scanner.pas index dabadd810e..7167a785e4 100644 --- a/compiler/scanner.pas +++ b/compiler/scanner.pas @@ -1012,7 +1012,7 @@ In case not, the value returned can be arbitrary. { Default is to return the original symbol } read_factor:=hs; - if eval and (m_delphi in current_settings.modeswitches) and (ctetString in factorType) then + if eval and ([m_delphi,m_objfpc]*current_settings.modeswitches<>[]) and (ctetString in factorType) then if searchsym(current_scanner.preproc_pattern,srsym,srsymtable) then begin case srsym.typ of