From 99a80124720afb50e88cd88c2dec74980eea7a1f Mon Sep 17 00:00:00 2001 From: yury Date: Wed, 28 Nov 2007 00:07:18 +0000 Subject: [PATCH] * Allow using constants in {$IF } directive in OBJFPC mode. * Define FPC_OBJFPC_EXTENDED_IF to allow to test if this feature can be safely used. git-svn-id: trunk@9342 - --- compiler/options.pas | 1 + compiler/scanner.pas | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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