diff --git a/compiler/aggas.pas b/compiler/aggas.pas index a57eb0457c..497ba40afd 100644 --- a/compiler/aggas.pas +++ b/compiler/aggas.pas @@ -756,7 +756,7 @@ var begin {$ifdef EXTDEBUG} if assigned(current_module.mainsource) then - Comment(v_info,'Start writing gas-styled assembler output for '+current_module.mainsource^); + Comment(V_Debug,'Start writing gas-styled assembler output for '+current_module.mainsource^); {$endif} LasTSec:=sec_none; @@ -811,14 +811,18 @@ var AsmLn; {$ifdef EXTDEBUG} if assigned(current_module.mainsource) then - comment(v_info,'Done writing gas-styled assembler output for '+current_module.mainsource^); + Comment(V_Debug,'Done writing gas-styled assembler output for '+current_module.mainsource^); {$endif EXTDEBUG} end; end. { $Log$ - Revision 1.19 2003-01-08 18:43:56 daniel + Revision 1.20 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.19 2003/01/08 18:43:56 daniel * Tregister changed into a record Revision 1.18 2002/12/07 14:03:25 carl diff --git a/compiler/comphook.pas b/compiler/comphook.pas index dc37b1de22..a442ca6425 100644 --- a/compiler/comphook.pas +++ b/compiler/comphook.pas @@ -30,7 +30,7 @@ uses finput; Const -{ <$10000 will show file and line } + { Levels } V_None = $0; V_Fatal = $1; V_Error = $2; @@ -38,20 +38,20 @@ Const V_Warning = $8; V_Note = $10; V_Hint = $20; - V_Macro = $100; - V_Procedure = $200; - V_Conditional = $400; - V_Assem = $800; - V_Declarations = $1000; - V_Info = $10000; - V_Status = $20000; - V_Used = $40000; - V_Tried = $80000; - V_Debug = $100000; - V_Executable = $200000; - V_ShowFile = $ffff; - V_All = $ffffffff; + V_LineInfoMask = $fff; + { From here by default no line info } + V_Info = $1000; + V_Status = $2000; + V_Used = $4000; + V_Tried = $8000; + V_Conditional = $10000; + V_Debug = $20000; + V_Executable = $40000; + V_LevelMask = $fffffff; + V_All = V_LevelMask; V_Default = V_Fatal + V_Error + V_Normal; + { Flags } + V_LineInfo = $10000000; const { RHIDE expect gcc like error output } @@ -268,7 +268,10 @@ begin if (status.verbosity and Level)=V_Fatal then hs:=rh_errorstr; end; - if (Level<=V_ShowFile) and (status.currentsource<>'') and (status.currentline>0) then + { Generate line prefix } + if ((Level and V_LineInfo)=V_LineInfo) and + (status.currentsource<>'') and + (status.currentline>0) then begin { Adding the column should not confuse RHIDE, even if it does not yet use it PM @@ -297,8 +300,9 @@ begin else hs:=s; end; - { only show when the level is required } - if ((status.verbosity and Level)=Level) then + + { Display line } + if ((status.verbosity and (Level and V_LevelMask))=(Level and V_LevelMask)) then begin {$ifdef FPC} if status.use_stderr then @@ -381,7 +385,11 @@ end; end. { $Log$ - Revision 1.23 2002-12-29 14:57:50 peter + Revision 1.24 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.23 2002/12/29 14:57:50 peter * unit loading changed to first register units and load them afterwards. This is needed to support uses xxx in yyy correctly * unit dependency check fixed diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg index a2f53acaf7..8ff86d638b 100644 --- a/compiler/msg/errore.msg +++ b/compiler/msg/errore.msg @@ -34,14 +34,11 @@ # n_ note # h_ hint # i_ info -# l_ linenumber +# l_ add linenumber # u_ used # t_ tried -# m_ macro -# p_ procedure # c_ conditional # d_ debug message -# b_ display overloaded procedures # x_ executable informations # @@ -143,7 +140,7 @@ scan_f_syn_expected=02003_F_Syntax error, "$1" expected but "$2" found % This indicates that the compiler expected a different token than % the one you typed. It can occur almost everywhere where you make a % mistake against the pascal language. -scan_t_start_include_file=02004_T_Start reading includefile $1 +scan_t_start_include_file=02004_TL_Start reading includefile $1 % When you provide the \var{-vt} switch, the compiler tells you % when it starts reading an included file. scan_w_comment_level=02005_W_Comment level $1 found @@ -207,28 +204,28 @@ scan_w_macro_deep_ten=02030_W_Extension of macros exceeds a deep of 16. % recursion is used. scan_e_wrong_styled_switch=02031_E_compiler switches aren't allowed in // styled comments % Compiler switches should be in normal pascal style comments. -scan_d_handling_switch=02032_D_Handling switch "$1" +scan_d_handling_switch=02032_DL_Handling switch "$1" % When you set debugging info on (\var{-vd}) the compiler tells you when it % is evaluating conditional compile statements. -scan_c_endif_found=02033_C_ENDIF $1 found +scan_c_endif_found=02033_CL_ENDIF $1 found % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements. -scan_c_ifdef_found=02034_C_IFDEF $1 found, $2 +scan_c_ifdef_found=02034_CL_IFDEF $1 found, $2 % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements. -scan_c_ifopt_found=02035_C_IFOPT $1 found, $2 +scan_c_ifopt_found=02035_CL_IFOPT $1 found, $2 % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements. -scan_c_if_found=02036_C_IF $1 found, $2 +scan_c_if_found=02036_CL_IF $1 found, $2 % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements. -scan_c_ifndef_found=02037_C_IFNDEF $1 found, $2 +scan_c_ifndef_found=02037_CL_IFNDEF $1 found, $2 % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements. -scan_c_else_found=02038_C_ELSE $1 found, $2 +scan_c_else_found=02038_CL_ELSE $1 found, $2 % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements. -scan_c_skipping_until=02039_C_Skipping until... +scan_c_skipping_until=02039_CL_Skipping until... % When you turn on conditional messages(\var{-vc}), the compiler tells you % where it encounters conditional statements, and whether it is skipping or % compiling parts. @@ -243,7 +240,7 @@ scan_w_unsupported_switch=02041_W_Unsupported switch "$1" scan_w_illegal_directive=02042_W_Illegal compiler directive "$1" % When warings are turned on (\var{-vw}) the compiler warns you about % unrecognised switches. For a list of recognised switches, \progref -scan_t_back_in=02043_T_Back in $1 +scan_t_back_in=02043_TL_Back in $1 % When you use (\var{-vt}) the compiler tells you when it has finished % reading an include file. scan_w_unsupported_app_type=02044_W_Unsupported application type: "$1" @@ -433,8 +430,8 @@ parser_e_header_dont_match_any_member=03048_E_function header doesn't match any % This happens when the compiler scans a procedure declaration that contains % a dot, i.e., a object or class method, but the procedure name is not a % procedure of this type. -parser_p_procedure_start=03049_P_procedure/function $1 -% When using the \var{-vp} switch, the compiler tells you when it starts +parser_d_procedure_start=03049_DL_procedure/function $1 +% When using the \var{-vd} switch, the compiler tells you when it starts % processing a procedure or function implementation. parser_e_error_in_real=03050_E_Illegal floating point constant % The compiler expects a floating point expression, and gets something else. @@ -634,22 +631,22 @@ parser_w_virtual_without_constructor=03100_W_Virtual methods are used without a % to have a constructor and destructor to initialize them. The compiler % encountered an object or class with virtual methods that doesn't have % a constructor/destructor pair. -parser_m_macro_defined=03101_M_Macro defined: $1 -% When \var{-vm} is used, the compiler tells you when it defines macros. -parser_m_macro_undefined=03102_M_Macro undefined: $1 -% When \var{-vm} is used, the compiler tells you when it undefines macros. -parser_m_macro_set_to=03103_M_Macro $1 set to $2 -% When \var{-vm} is used, the compiler tells you what values macros get. +parser_c_macro_defined=03101_CL_Macro defined: $1 +% When \var{-vc} is used, the compiler tells you when it defines macros. +parser_c_macro_undefined=03102_CL_Macro undefined: $1 +% When \var{-vc} is used, the compiler tells you when it undefines macros. +parser_c_macro_set_to=03103_CL_Macro $1 set to $2 +% When \var{-vc} is used, the compiler tells you what values macros get. parser_i_compiling=03104_I_Compiling $1 % When you turn on information messages (\var{-vi}), the compiler tells you % what units it is recompiling. -parser_u_parsing_interface=03105_U_Parsing interface of unit $1 +parser_u_parsing_interface=03105_UL_Parsing interface of unit $1 % This tells you that the reading of the interface % of the current unit starts -parser_u_parsing_implementation=03106_U_Parsing implementation of $1 +parser_u_parsing_implementation=03106_UL_Parsing implementation of $1 % This tells you that the code reading of the implementation % of the current unit, library or program starts -parser_d_compiling_second_time=03107_D_Compiling $1 for the second time +parser_d_compiling_second_time=03107_DL_Compiling $1 for the second time % When you request debug messages (\var{-vd}) the compiler tells you what % units it recompiles for the second time. parser_e_no_property_found_to_override=03109_E_No property found to override @@ -1219,8 +1216,8 @@ sym_n_uninitialized_variable=05037_W_Variable "$1" does not seem to be initializ sym_e_id_no_member=05038_E_identifier idents no member "$1" % This error is generated when an identifier of a record, % field, or method is accessed while it is not defined. -sym_b_param_list=05039_B_Found declaration: $1 -% You get this when you use the \var{-vb} switch. In case an overloaded +sym_h_param_list=05039_H_Found declaration: $1 +% You get this when you use the \var{-vh} switch. In case an overloaded % procedure is not found, then all candidate overloaded procedures are % listed, with their parameter lists. sym_e_segment_too_large=05040_E_Data element too large @@ -1332,10 +1329,10 @@ cg_w_unreachable_code=06018_W_unreachable code cg_e_cant_call_abstract_method=06020_E_Abstract methods can't be called directly % You cannot call an abstract method directy, instead you must call a % overriding child method, because an abstract method isn't implemented. -cg_d_register_weight=06027_D_Register $1 weight $2 $3 +cg_d_register_weight=06027_DL_Register $1 weight $2 $3 % Debugging message. Shown when the compiler considers a variable for % keeping in the registers. -cg_d_stackframe_omited=06029_D_Stack frame is omitted +cg_d_stackframe_omited=06029_DL_Stack frame is omitted % Some procedure/functions do not need a complete stack-frame, so it is omitted. % This message will be displayed when the {-vd} switch is used. cg_e_unable_inline_object_methods=06031_E_Object or class methods can't be inline. @@ -1404,9 +1401,9 @@ cg_e_localsize_too_big=06043_E_Local variables size exceeds supported limit # # 07097 is the last used one # -asmr_d_start_reading=07000_D_Starting $1 styled assembler parsing +asmr_d_start_reading=07000_DL_Starting $1 styled assembler parsing % This informs you that an assembler block is being parsed -asmr_d_finish_reading=07001_D_Finished $1 styled assembler parsing +asmr_d_finish_reading=07001_DL_Finished $1 styled assembler parsing % This informs you that an assembler block has finished. asmr_e_none_label_contain_at=07002_E_Non-label pattern contains @ % A identifier which isn't a label can't contain a @. diff --git a/compiler/msgidx.inc b/compiler/msgidx.inc index dcdbd12ec9..59e43cc4c0 100644 --- a/compiler/msgidx.inc +++ b/compiler/msgidx.inc @@ -116,7 +116,7 @@ const parser_e_no_type_not_allowed_here=03046; parser_e_methode_id_expected=03047; parser_e_header_dont_match_any_member=03048; - parser_p_procedure_start=03049; + parser_d_procedure_start=03049; parser_e_error_in_real=03050; parser_e_fail_only_in_constructor=03051; parser_e_no_paras_for_destructor=03052; @@ -165,9 +165,9 @@ const parser_e_abstract_no_definition=03098; parser_e_overloaded_must_be_all_global=03099; parser_w_virtual_without_constructor=03100; - parser_m_macro_defined=03101; - parser_m_macro_undefined=03102; - parser_m_macro_set_to=03103; + parser_c_macro_defined=03101; + parser_c_macro_undefined=03102; + parser_c_macro_set_to=03103; parser_i_compiling=03104; parser_u_parsing_interface=03105; parser_u_parsing_implementation=03106; @@ -336,7 +336,7 @@ const sym_n_uninitialized_local_variable=05036; sym_n_uninitialized_variable=05037; sym_e_id_no_member=05038; - sym_b_param_list=05039; + sym_h_param_list=05039; sym_e_segment_too_large=05040; sym_e_no_matching_implementation_found=05042; sym_w_deprecated_symbol=05043; @@ -607,7 +607,7 @@ const option_info=11024; option_help_pages=11025; - MsgTxtSize = 34252; + MsgTxtSize = 34273; MsgIdxMax : array[1..20] of longint=( 17,62,194,50,57,44,98,19,35,43, diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index b4bcae1530..c66b40a996 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -24,20 +24,20 @@ const msgtxt : array[0..000142,1..240] of char=( '02','001_F_String exceeds line'#000+ '02002_F_illegal character "$1" ($2)'#000+ '02003_F_Syntax error, "$1" expected but "$2" found'#000+ - '02004_T_Start reading includefile $1'#000+ + '02004_TL_Start reading includefile $1'#000+ '02005_W_Comment level $1 found'#000+ '02008_N_Ignored compiler switch "$1"'#000+ - '02009_W_Illegal compil','er switch "$1"'#000+ + '02009_W_Illegal compi','ler switch "$1"'#000+ '02010_W_Misplaced global compiler switch'#000+ '02011_E_Illegal char constant'#000+ '02012_F_Can'#039't open file "$1"'#000+ '02013_F_Can'#039't open include file "$1"'#000+ '02015_W_Records fields can be aligned to 1,2,4,8,16 or 32 bytes only'#000+ - '02016_W_Enumerated ','can be saved in 1,2 or 4 bytes only'#000+ + '02016_W_Enumerated',' can be saved in 1,2 or 4 bytes only'#000+ '02017_E_$ENDIF expected for $1 $2 defined in $3 line $4'#000+ '02018_E_Syntax error while parsing a conditional compiling expression'#000+ '02019_E_Evaluating a conditional compiling expression'#000+ - '02020_W_Macro contents a','re limited to 255 characters in length'#000+ + '02020_W_Macro contents ','are limited to 255 characters in length'#000+ '02021_E_ENDIF without IF(N)DEF'#000+ '02022_F_User defined: $1'#000+ '02023_E_User defined: $1'#000+ @@ -45,539 +45,540 @@ const msgtxt : array[0..000142,1..240] of char=( '02025_N_User defined: $1'#000+ '02026_H_User defined: $1'#000+ '02027_I_User defined: $1'#000+ - '02028_E_Keyword rede','fined as macro has no effect'#000+ + '02028_E_Keyword red','efined as macro has no effect'#000+ '02029_F_Macro buffer overflow while reading or expanding a macro'#000+ '02030_W_Extension of macros exceeds a deep of 16.'#000+ '02031_E_compiler switches aren'#039't allowed in // styled comments'#000+ - '02032_D_Handling switch "$1"'#000+ - '0203','3_C_ENDIF $1 found'#000+ - '02034_C_IFDEF $1 found, $2'#000+ - '02035_C_IFOPT $1 found, $2'#000+ - '02036_C_IF $1 found, $2'#000+ - '02037_C_IFNDEF $1 found, $2'#000+ - '02038_C_ELSE $1 found, $2'#000+ - '02039_C_Skipping until...'#000+ + '02032_DL_Handling switch "$1"'#000+ + '02','033_CL_ENDIF $1 found'#000+ + '02034_CL_IFDEF $1 found, $2'#000+ + '02035_CL_IFOPT $1 found, $2'#000+ + '02036_CL_IF $1 found, $2'#000+ + '02037_CL_IFNDEF $1 found, $2'#000+ + '02038_CL_ELSE $1 found, $2'#000+ + '02039_CL_Skipping until...'#000+ '02040_I_Press to continue'#000+ - '02041_W_Unsupported switch "','$1"'#000+ + '02041_W_Unsupported',' switch "$1"'#000+ '02042_W_Illegal compiler directive "$1"'#000+ - '02043_T_Back in $1'#000+ + '02043_TL_Back in $1'#000+ '02044_W_Unsupported application type: "$1"'#000+ '02045_W_APPTYPE is not supported by the target OS'#000+ '02046_W_DESCRIPTION is not supported by the target OS'#000+ - '02047_N_VERSION is not support','ed by target OS'#000+ + '02047_N_VERSION is n','ot supported by target OS'#000+ '02048_N_VERSION only for exes or DLLs'#000+ '02049_W_Wrong format for VERSION directive "$1"'#000+ '02050_W_Unsupported assembler style specified "$1"'#000+ '02051_W_ASM reader switch is not possible inside asm statement, "$1" w'+ - 'ill be effective ','only for next'#000+ + 'ill be ','effective only for next'#000+ '02052_E_Wrong switch toggle, use ON/OFF or +/-'#000+ '02053_E_Resource files are not supported for this target'#000+ '02054_W_Include environment "$1" not found in environment'#000+ '02055_E_Illegal value for FPU register limit'#000+ - '02056_W_Only one re','source file is supported for this target'#000+ + '02056_W_O','nly one resource file is supported for this target'#000+ '02057_W_Macro support has been turned off'#000+ '02058_E_Illegal interface type specified. Valids are COM, CORBA or DEF'+ 'AULT.'#000+ '02059_W_APPID is only supported for PalmOS'#000+ - '02060_W_APPNAME is only supported for ','PalmOS'#000+ + '02060_W_APPNAME is only supp','orted for PalmOS'#000+ '02061_E_Constant strings can'#039't be longer than 255 chars'#000+ '03000_E_Parser - Syntax Error'#000+ '03004_E_INTERRUPT procedure can'#039't be nested'#000+ '03005_W_Procedure type "$1" ignored'#000+ - '03006_E_Not all declarations of "$1" are declared with OVERLOAD'#000+ - '030','08_E_Duplicate exported function name "$1"'#000+ + '03006_E_Not all declarations of "$1" are declared with OV','ERLOAD'#000+ + '03008_E_Duplicate exported function name "$1"'#000+ '03009_E_Duplicate exported function index $1'#000+ '03010_E_Invalid index for exported function'#000+ '03011_W_Relocatable DLL or executable $1 debug info does not work, dis'+ 'abled.'#000+ - '03012_W_To allow debugging for ','win32 code you need to disable reloca'+ + '03012_W_To allow debu','gging for win32 code you need to disable reloca'+ 'tion with -WN option'#000+ '03013_E_Constructor name must be INIT'#000+ '03014_E_Destructor name must be DONE'#000+ '03016_E_Procedure type INLINE not supported'#000+ '03018_W_Constructor should be public'#000+ - '03019_W_Destructor should ','be public'#000+ + '03019_W_Destruct','or should be public'#000+ '03020_N_Class should have one destructor only'#000+ '03021_E_Local class definitions are not allowed'#000+ '03022_F_Anonym class definitions are not allowed'#000+ '03023_N_The object "$1" has no VMT'#000+ '03024_E_Illegal parameter list'#000+ - '03026_E_Wrong number ','of parameters specified'#000+ + '03026_E_Wro','ng number of parameters specified'#000+ '03027_E_overloaded identifier "$1" isn'#039't a function'#000+ '03028_E_overloaded functions have the same parameter list'#000+ '03029_E_function header doesn'#039't match the forward declaration "$1"'+ #000+ - '03030_E_function header "$1" doesn'#039't ma','tch forward : var name ch'+ + '03030_E_function header "$1" ','doesn'#039't match forward : var name ch'+ 'anges $2 => $3'#000+ '03031_N_Values in enumeration types have to be ascending'#000+ '03033_E_With can not be used for variables in a different segment'#000+ '03034_E_function nesting > 31'#000+ - '03035_E_range check error while evaluating cons','tants'#000+ + '03035_E_range check error while evalu','ating constants'#000+ '03036_W_range check error while evaluating constants'#000+ '03037_E_duplicate case label'#000+ '03038_E_Upper bound of case range is less than lower bound'#000+ '03039_E_typed constants of classes are not allowed'#000+ - '03040_E_functions variables of overloaded ','functions are not allowed'#000+ + '03040_E_functions variables of o','verloaded functions are not allowed'#000+ '03041_E_string length must be a value from 1 to 255'#000+ '03042_W_use extended syntax of NEW and DISPOSE for instances of object'+ 's'#000+ '03043_W_use of NEW or DISPOSE for untyped pointers is meaningless'#000+ - '03044_E_use of NEW or DI','SPOSE is not possible for untyped pointers'#000+ + '03044_E_use of',' NEW or DISPOSE is not possible for untyped pointers'#000+ '03045_E_class identifier expected'#000+ '03046_E_type identifier not allowed here'#000+ '03047_E_method identifier expected'#000+ '03048_E_function header doesn'#039't match any method of this class "$1'+ '"'#000+ - '03049_P_procedure/f','unction $1'#000+ + '03049_DL_','procedure/function $1'#000+ '03050_E_Illegal floating point constant'#000+ '03051_E_FAIL can be used in constructors only'#000+ '03052_E_Destructors can'#039't have parameters'#000+ '03053_E_Only class methods can be referred with class references'#000+ - '03054_E_Only class methods can be ac','cessed in class methods'#000+ + '03054_E_Only class method','s can be accessed in class methods'#000+ '03055_E_Constant and CASE types do not match'#000+ '03056_E_The symbol can'#039't be exported from a library'#000+ '03057_W_An inherited method is hidden by "$1"'#000+ - '03058_E_There is no method in an ancestor class to be overridden: "$1"'+ - #000+ - '03','059_E_No member is provided to access property'#000+ + '03058_E_There is no method in an ancestor class to be overridd','en: "$'+ + '1"'#000+ + '03059_E_No member is provided to access property'#000+ '03060_W_Stored prorperty directive is not yet implemented'#000+ '03061_E_Illegal symbol for property access'#000+ '03062_E_Cannot access a protected field of an object here'#000+ - '03063_E_Cannot access a private fi','eld of an object here'#000+ + '03063_E_Cannot access a',' private field of an object here'#000+ '03066_E_overridden methods must have the same return type: "$2" is ove'+ 'rriden by "$1" which has another return type'#000+ '03067_E_EXPORT declared functions can'#039't be nested'#000+ '03068_E_methods can'#039't be EXPORTed'#000+ - '03069_E_call by var',' parameters have to match exactly: Got "$1" expec'+ + '03069_E_','call by var parameters have to match exactly: Got "$1" expec'+ 'ted "$2"'#000+ '03070_E_Class isn'#039't a parent class of the current class'#000+ '03071_E_SELF is only allowed in methods'#000+ '03072_E_methods can be only in other methods called direct with type i'+ - 'dentifier of the',' class'#000+ + 'denti','fier of the class'#000+ '03073_E_Illegal use of '#039':'#039#000+ '03074_E_range check error in set constructor or duplicate set element'#000+ '03075_E_Pointer to object expected'#000+ '03076_E_Expression must be constructor call'#000+ '03077_E_Expression must be destructor call'#000+ - '03078_E_Illega','l order of record elements'#000+ + '030','78_E_Illegal order of record elements'#000+ '03079_E_Expression type must be class or record type'#000+ '03080_E_Procedures can'#039't return a value'#000+ '03081_E_constructors and destructors must be methods'#000+ '03082_E_Operator is not overloaded'#000+ - '03083_E_Impossible to overload a','ssignment for equal types'#000+ + '03083_E_Impossible to',' overload assignment for equal types'#000+ '03084_E_Impossible operator overload'#000+ '03085_E_Re-raise isn'#039't possible there'#000+ '03086_E_The extended syntax of new or dispose isn'#039't allowed for a '+ 'class'#000+ '03088_E_Procedure overloading is switched off'#000+ - '03089_E_It is not pos','sible to overload this operator (overload = ins'+ + '03089_E_It',' is not possible to overload this operator (overload = ins'+ 'tead)'#000+ '03090_E_Comparative operator must return a boolean value'#000+ '03091_E_Only virtual methods can be abstract'#000+ '03092_F_Use of unsupported feature!'#000+ - '03093_E_The mix of different kind of objects (cla','ss, object, interfa'+ + '03093_E_The mix of different kind of o','bjects (class, object, interfa'+ 'ce, etc) isn'#039't allowed'#000+ '03094_W_Unknown procedure directive had to be ignored: "$1"'#000+ '03095_E_absolute can only be associated to one variable'#000+ '03096_E_absolute can only be associated with a var or const'#000+ - '03097_E_Only one varia','ble can be initialized'#000+ + '03097_E_Onl','y one variable can be initialized'#000+ '03098_E_Abstract methods shouldn'#039't have any definition (with funct'+ 'ion body)'#000+ '03099_E_This overloaded function can'#039't be local (must be exported)'+ #000+ - '03100_W_Virtual methods are used without a constructor in "$1"'#000+ - '03101_M_Mac','ro defined: $1'#000+ - '03102_M_Macro undefined: $1'#000+ - '03103_M_Macro $1 set to $2'#000+ + '03100_W_Virtual methods are used without a constructor in "$1"'#000, + '03101_CL_Macro defined: $1'#000+ + '03102_CL_Macro undefined: $1'#000+ + '03103_CL_Macro $1 set to $2'#000+ '03104_I_Compiling $1'#000+ - '03105_U_Parsing interface of unit $1'#000+ - '03106_U_Parsing implementation of $1'#000+ - '03107_D_Compiling $1 for the second time'#000+ - '03109_E_No property found to overr','ide'#000+ + '03105_UL_Parsing interface of unit $1'#000+ + '03106_UL_Parsing implementation of $1'#000+ + '03107_DL_Compiling $1 for the second time'#000+ + '03109_E_No proper','ty found to override'#000+ '03110_E_Only one default property is allowed, found inherited default '+ 'property in class "$1"'#000+ '03111_E_The default property must be an array property'#000+ '03112_E_Virtual constructors are only supported in class object model'#000+ - '03113_E_No default',' property available'#000+ + '0','3113_E_No default property available'#000+ '03114_E_The class can'#039't have a published section, use the {$M+} sw'+ 'itch'#000+ '03115_E_Forward declaration of class "$1" must be resolved here to use'+ ' the class as ancestor'#000+ '03116_E_Local operators not supported'#000+ - '03117_E_Procedure ','directive "$1" not allowed in interface section'#000+ + '0','3117_E_Procedure directive "$1" not allowed in interface section'#000+ '03118_E_Procedure directive "$1" not allowed in implementation section'+ #000+ '03119_E_Procedure directive "$1" not allowed in procvar declaration'#000+ - '03120_E_Function is already declared Public/Forward "','$1"'#000+ + '03120_E_Function is already declared',' Public/Forward "$1"'#000+ '03121_E_Can'#039't use both EXPORT and EXTERNAL'#000+ '03123_W_"$1" not yet supported inside inline procedure/function'#000+ '03124_W_Inlining disabled'#000+ '03125_I_Writing Browser log $1'#000+ '03126_H_may be pointer dereference is missing'#000+ - '03127_F_Selected assembler',' reader not supported'#000+ + '03127_F_S','elected assembler reader not supported'#000+ '03128_E_Procedure directive "$1" has conflicts with other directives'#000+ '03129_E_Calling convention doesn'#039't match forward'#000+ '03131_E_Property can'#039't have a default value'#000+ - '03132_E_The default value of a property must be constant',#000+ + '03132_E_The default value of a property',' must be constant'#000+ '03133_E_Symbol can'#039't be published, can be only a class'#000+ '03134_E_That kind of property can'#039't be published'#000+ '03136_W_An import name is required'#000+ '03138_E_Division by zero'#000+ '03139_E_Invalid floating point operation'#000+ - '03140_E_Upper bound of range is le','ss than lower bound'#000+ + '03140_E_Upper bou','nd of range is less than lower bound'#000+ '03141_W_string "$1" is longer than "$2"'#000+ '03142_E_string length is larger than array of char length'#000+ '03143_E_Illegal expression after message directive'#000+ - '03144_E_Message handlers can take only one call by ref. parameter'#000+ - '03145','_E_Duplicate message label: "$1"'#000+ + '03144_E_Message handlers can take only one call by ref','. parameter'#000+ + '03145_E_Duplicate message label: "$1"'#000+ '03146_E_Self can only be an explicit parameter in methods which are me'+ 'ssage handlers'#000+ '03147_E_Threadvars can be only static or global'#000+ - '03148_F_Direct assembler not supported for binary output format'#000+ - '03149_W_Do','n'#039't load OBJPAS unit manually, use {$mode objfpc} or {'+ - '$mode delphi} instead'#000+ + '03148_F_Direct assembler not supported for binary output ','format'#000+ + '03149_W_Don'#039't load OBJPAS unit manually, use {$mode objfpc} or {$m'+ + 'ode delphi} instead'#000+ '03150_E_OVERRIDE can'#039't be used in objects'#000+ '03151_E_Data types which require initialization/finalization can'#039't'+ ' be used in variant records'#000+ - '03152_E_Resourcestrings can ','be only static or global'#000+ + '03152_E_Res','ourcestrings can be only static or global'#000+ '03153_E_Exit with argument can'#039't be used here'#000+ '03154_E_The type of the storage symbol must be boolean'#000+ '03155_E_This symbol isn'#039't allowed as storage symbol'#000+ - '03156_E_Only class which are compiled in $M+ mode can be publi','shed'#000+ + '03156_E_Only class which are compiled in $M+ ','mode can be published'#000+ '03157_E_Procedure directive expected'#000+ '03158_E_The value for a property index must be of an ordinal type'#000+ '03159_E_Procedure name to short to be exported'#000+ '03160_E_No DEFFILE entry can be generated for unit global vars'#000+ - '03161_E_Compile withou','t -WD option'#000+ + '03161','_E_Compile without -WD option'#000+ '03162_F_You need ObjFpc (-S2) or Delphi (-Sd) mode to compile this mod'+ 'ule'#000+ '03163_E_Can'#039't export with index under $1'#000+ '03164_E_Exporting of variables is not supported under $1'#000+ '03165_E_Improper GUID syntax'#000+ - '03168_W_Procedure named "$','1" not found that is suitable for implemen'+ + '03168_W_P','rocedure named "$1" not found that is suitable for implemen'+ 'ting the $2.$3'#000+ '03169_E_interface identifier expected'#000+ '03170_E_Type "$1" can'#039't be used as array index type'#000+ '03171_E_Con- and destructors aren'#039't allowed in interfaces'#000+ - '03172_E_Access specifiers can'#039't be ','used in INTERFACES'#000+ + '03172_E_Access spe','cifiers can'#039't be used in INTERFACES'#000+ '03173_E_An interface can'#039't contain fields'#000+ '03174_E_Can'#039't declare local procedure as EXTERNAL'#000+ '03175_W_Some fields coming before "$1" weren'#039't initialized'#000+ - '03176_E_Some fields coming before "$1" weren'#039't initialized'#000+ - '03177_W_Som','e fields coming after "$1" weren'#039't initialized'#000+ + '03176_E_Some fields coming before "$1" weren'#039't initia','lized'#000+ + '03177_W_Some fields coming after "$1" weren'#039't initialized'#000+ '03178_E_VarArgs directive without CDecl and External'#000+ '03179_E_Self must be a normal (call-by-value) parameter'#000+ '03180_E_Interface "$1" has no interface identification'#000+ - '03181_E_Unknown class field o','r method identifier "$1"'#000+ + '03181_E_Unkn','own class field or method identifier "$1"'#000+ '03182_W_Overriding calling convention "$1" with "$2"'#000+ '03183_E_Typed constants of the type "procedure of object" can only be '+ 'initialized with NIL'#000+ - '03184_E_Default value can only be assigned to one parameter'#000+ - '03185_E_Def','ault parameter required for "$1"'#000+ + '03184_E_Default value can only be assigned to one para','meter'#000+ + '03185_E_Default parameter required for "$1"'#000+ '03186_W_Use of unsupported feature!'#000+ '03187_H_C arrays are passed by reference'#000+ '03188_E_C array of const must be the last argument'#000+ '03189_H_Type "$1" redefinition'#000+ - '03190_W_cdecl'#039'ared functions have no high parame','ter'#000+ + '03190_W_cdecl'#039'ared functions ha','ve no high parameter'#000+ '03191_W_cdecl'#039'ared functions do not support open strings'#000+ '03192_E_Cannot initialize variables declared as threadvar'#000+ '03193_E_Message directive is only allowed in Classes'#000+ '04000_E_Type mismatch'#000+ - '04001_E_Incompatible types: got "$1" expected ','"$2"'#000+ + '04001_E_Incompatible types: g','ot "$1" expected "$2"'#000+ '04002_E_Type mismatch between "$1" and "$2"'#000+ '04003_E_Type identifier expected'#000+ '04004_E_Variable identifier expected'#000+ '04005_E_Integer expression expected, but got "$1"'#000+ '04006_E_Boolean expression expected, but got "$1"'#000+ - '04007_E_Ordinal expre','ssion expected'#000+ + '0400','7_E_Ordinal expression expected'#000+ '04008_E_pointer type expected, but got "$1"'#000+ '04009_E_class type expected, but got "$1"'#000+ '04011_E_Can'#039't evaluate constant expression'#000+ '04012_E_Set elements are not compatible'#000+ - '04013_E_Operation not implemented for sets'#000+ - '04014_W_Autom','atic type conversion from floating type to COMP which i'+ - 's an integer type'#000+ + '04013_E_Operation not implemented for s','ets'#000+ + '04014_W_Automatic type conversion from floating type to COMP which is '+ + 'an integer type'#000+ '04015_H_use DIV instead to get an integer result'#000+ '04016_E_string types doesn'#039't match, because of $V+ mode'#000+ - '04017_E_succ or pred on enums with assignments not possible'#000+ - '04','018_E_Can'#039't read or write variables of this type'#000+ + '04017_E_succ or pred on enums with assignment','s not possible'#000+ + '04018_E_Can'#039't read or write variables of this type'#000+ '04019_E_Can'#039't use readln or writeln on typed file'#000+ '04020_E_Can'#039't use read or write on untyped file.'#000+ '04021_E_Type conflict between set elements'#000+ - '04022_W_lo/hi(dword/qword) returns the upper/lowe','r word/dword'#000+ + '04022_W_lo/hi(dword/qword) retur','ns the upper/lower word/dword'#000+ '04023_E_Integer or real expression expected'#000+ '04024_E_Wrong type "$1" in array constructor'#000+ '04025_E_Incompatible type for arg no. $1: Got "$2", expected "$3"'#000+ - '04026_E_Method (variable) and Procedure (variable) are not compatible'#000+ - '04','027_E_Illegal constant passed to internal math function'#000+ + '04026_E_Method (variable) and Procedure (variable) are ','not compatibl'+ + 'e'#000+ + '04027_E_Illegal constant passed to internal math function'#000+ '04028_E_Can'#039't get the address of constants'#000+ '04029_E_Argument can'#039't be assigned to'#000+ '04030_E_Can'#039't assign local procedure/function to procedure variabl'+ 'e'#000+ - '04031_E_Can'#039't assign values to an a','ddress'#000+ + '04031_E_Can'#039't assi','gn values to an address'#000+ '04032_E_Can'#039't assign values to const variable'#000+ '04033_E_Array type required'#000+ '04034_E_interface type expected, but got "$1"'#000+ '04035_W_Mixing signed expressions and longwords gives a 64bit result'#000+ - '04036_W_Mixing signed expressions and cardin','als here may cause a ran'+ + '04036_W_Mixing signed expre','ssions and cardinals here may cause a ran'+ 'ge check error'#000+ '04037_E_Typecast has different size ($1 -> $2) in assignment'#000+ '04038_E_enums with assignments can'#039't be used as array index'#000+ '04039_E_Class or Object types "$1" and "$2" are not related'#000+ - '04040_W_Class types ','"$1" and "$2" are not related'#000+ + '040','40_W_Class types "$1" and "$2" are not related'#000+ '04041_E_Class or interface type expected, but got "$1"'#000+ '04042_E_Type "$1" is not completley defined'#000+ '04043_W_String literal has more characters than short string length'#000+ - '04044_W_Comparison is always false due to r','ange of values'#000+ + '04044_W_Comparison is alwa','ys false due to range of values'#000+ '04045_W_Comparison is always true due to range of values'#000+ '04046_W_Constructing a class "$1" with abstract method "$2"'#000+ '04047_H_The left operand of the IN operator should be byte sized'#000+ - '04048_W_Type size mismatch, possible loss o','f data / range check erro'+ + '04048_W_Type size mismatch',', possible loss of data / range check erro'+ 'r'#000+ '04049_H_Type size mismatch, possible loss of data / range check error'#000+ '05000_E_Identifier not found "$1"'#000+ '05001_F_Internal Error in SymTableStack()'#000+ '05002_E_Duplicate identifier "$1"'#000+ - '05003_H_Identifier already define','d in $1 at line $2'#000+ + '05003_H_Identifi','er already defined in $1 at line $2'#000+ '05004_E_Unknown identifier "$1"'#000+ '05005_E_Forward declaration not solved "$1"'#000+ '05007_E_Error in type definition'#000+ '05009_E_Forward type not resolved "$1"'#000+ - '05010_E_Only static variables can be used in static methods or outside'+ - ' me','thods'#000+ + '05010_E_Only static variables can be used in static meth','ods or outsi'+ + 'de methods'#000+ '05012_F_record or class type expected'#000+ '05013_E_Instances of classes or objects with an abstract method are no'+ 't allowed'#000+ '05014_W_Label not defined "$1"'#000+ '05015_E_Label used but not defined "$1"'#000+ - '05016_E_Illegal label declaration'#000+ - '05017_E_GOT','O and LABEL are not supported (use switch -Sg)'#000+ + '05016_E_Illegal label declar','ation'#000+ + '05017_E_GOTO and LABEL are not supported (use switch -Sg)'#000+ '05018_E_Label not found'#000+ '05019_E_identifier isn'#039't a label'#000+ '05020_E_label already defined'#000+ '05021_E_illegal type declaration of set elements'#000+ - '05022_E_Forward class definition not resolved "$1"'#000+ - '05023_','H_Unit "$1" not used in $2'#000+ + '05022_E_Forward class definition not res','olved "$1"'#000+ + '05023_H_Unit "$1" not used in $2'#000+ '05024_H_Parameter "$1" not used'#000+ '05025_N_Local variable "$1" not used'#000+ '05026_H_Value parameter "$1" is assigned but never used'#000+ '05027_N_Local variable "$1" is assigned but never used'#000+ - '05028_H_Local $1 "$2" is not used',#000+ + '05028_H_Local $1',' "$2" is not used'#000+ '05029_N_Private field "$1.$2" is never used'#000+ '05030_N_Private field "$1.$2" is assigned but never used'#000+ '05031_N_Private method "$1.$2" never used'#000+ '05032_E_Set type expected'#000+ '05033_W_Function result does not seem to be set'#000+ - '05034_W_Type "$1" is n','ot aligned correctly in current record for C'#000+ + '05034','_W_Type "$1" is not aligned correctly in current record for C'#000+ '05035_E_Unknown record field identifier "$1"'#000+ '05036_W_Local variable "$1" does not seem to be initialized'#000+ '05037_W_Variable "$1" does not seem to be initialized'#000+ - '05038_E_identifier idents no member ','"$1"'#000+ - '05039_B_Found declaration: $1'#000+ + '05038_E_identifier ','idents no member "$1"'#000+ + '05039_H_Found declaration: $1'#000+ '05040_E_Data element too large'#000+ '05042_E_No matching implementation for interface method "$1" found'#000+ '05043_W_Symbol "$1" is deprecated'#000+ '05044_W_Symbol "$1" is not portable'#000+ - '05055_W_Symbol "$1" is not implemente','d'#000+ + '05055_W_Symbol "$1" ','is not implemented'#000+ '05056_E_Can'#039't create unique type from this type'#000+ '06000_E_BREAK not allowed'#000+ '06001_E_CONTINUE not allowed'#000+ '06002_E_Expression too complicated - FPU stack overflow'#000+ '06003_E_Illegal expression'#000+ - '06004_E_Invalid integer expression'#000+ - '06005_E_Illegal q','ualifier'#000+ + '06004_E_Invalid integer expression'#000, + '06005_E_Illegal qualifier'#000+ '06006_E_High range limit < low range limit'#000+ '06007_E_Illegal counter variable'#000+ '06008_E_Can'#039't determine which overloaded function to call'#000+ '06009_E_Parameter list size exceeds 65535 bytes'#000+ - '06010_E_Illegal type conversion'#000+ - '06011_H_Conversio','n between ordinals and pointers are not portable'#000+ + '06010_E_Illegal type conversion'#000, + '06011_H_Conversion between ordinals and pointers are not portable'#000+ '06012_E_File types must be var parameters'#000+ '06013_E_The use of a far pointer isn'#039't allowed there'#000+ '06014_E_illegal call by reference parameters'#000+ - '06015_E_EXPORT declared functions can'#039't be called'#000+ - '0','6016_W_Possible illegal call of constructor or destructor'#000+ + '06015_E_EXPORT declared functions ','can'#039't be called'#000+ + '06016_W_Possible illegal call of constructor or destructor'#000+ '06017_N_Inefficient code'#000+ '06018_W_unreachable code'#000+ '06020_E_Abstract methods can'#039't be called directly'#000+ - '06027_D_Register $1 weight $2 $3'#000+ - '06029_D_Stack frame is omitted'#000+ - '06031_E_Object or ','class methods can'#039't be inline.'#000+ + '06027_DL_Register $1 weight $2 $3'#000+ + '06029_DL_Stack frame is omitted',#000+ + '06031_E_Object or class methods can'#039't be inline.'#000+ '06032_E_Procvar calls cannot be inline.'#000+ '06033_E_No code for inline procedure stored'#000+ '06035_E_Element zero of an ansi/wide- or longstring can'#039't be acces'+ 'sed, use (set)length instead'#000+ - '06037_E_Constructors or destru','ctors can not be called inside a '#039'w'+ + '06037_E_Con','structors or destructors can not be called inside a '#039'w'+ 'ith'#039' clause'#000+ '06038_E_Cannot call message handler methods directly'#000+ '06039_E_Jump in or outside of an exception block'#000+ '06040_E_Control flow statements aren'#039't allowed in a finally block'#000+ - '06041_W_Parameters size e','xceeds limit for certain cpu'#039's'#000+ + '06041_','W_Parameters size exceeds limit for certain cpu'#039's'#000+ '06042_W_Local variable size exceed limit for certain cpu'#039's'#000+ '06043_E_Local variables size exceeds supported limit'#000+ - '07000_D_Starting $1 styled assembler parsing'#000+ - '07001_D_Finished $1 styled assembler parsing'#000+ - '07002_E','_Non-label pattern contains @'#000+ + '07000_DL_Starting $1 styled assembler parsing'#000+ + '07001_DL_Finished $1 styled asse','mbler parsing'#000+ + '07002_E_Non-label pattern contains @'#000+ '07004_E_Error building record offset'#000+ '07005_E_OFFSET used without identifier'#000+ '07006_E_TYPE used without identifier'#000+ '07007_E_Cannot use local variable or parameters here'#000+ - '07008_E_need to use OFFSET here'#000+ - '07009_E_need',' to use $ here'#000+ + '07008_E_need to use OFF','SET here'#000+ + '07009_E_need to use $ here'#000+ '07010_E_Cannot use multiple relocatable symbols'#000+ '07011_E_Relocatable symbol can only be added'#000+ '07012_E_Invalid constant expression'#000+ '07013_E_Relocatable symbol is not allowed'#000+ - '07014_E_Invalid reference syntax'#000+ - '07015_E_You can not r','each $1 from that code'#000+ + '07014_E_Invalid reference syntax'#000, + '07015_E_You can not reach $1 from that code'#000+ '07016_E_Local symbols/labels aren'#039't allowed as references'#000+ '07017_E_Invalid base and index register usage'#000+ '07018_W_Possible error in object field handling'#000+ '07019_E_Wrong scale factor specified'#000+ - '07020_E_Multiple index regis','ter usage'#000+ + '07020_E','_Multiple index register usage'#000+ '07021_E_Invalid operand type'#000+ '07022_E_Invalid string as opcode operand: $1'#000+ '07023_W_@CODE and @DATA not supported'#000+ '07024_E_Null label references are not allowed'#000+ '07025_E_Divide by zero in asm evaluator'#000+ - '07026_E_Illegal expression'#000+ - '07027','_E_escape sequence ignored: $1'#000+ + '07026_E_Ill','egal expression'#000+ + '07027_E_escape sequence ignored: $1'#000+ '07028_E_Invalid symbol reference'#000+ '07029_W_Fwait can cause emulation problems with emu387'#000+ '07030_W_$1 without operand translated into $1P'#000+ - '07031_W_ENTER instruction is not supported by Linux kernel'#000+ - '07032_W_Calling',' an overload function in assembler'#000+ + '07031_W_ENTER instruction is not supported by Linux k','ernel'#000+ + '07032_W_Calling an overload function in assembler'#000+ '07033_E_Unsupported symbol type for operand'#000+ '07034_E_Constant value out of bounds'#000+ '07035_E_Error converting decimal $1'#000+ '07036_E_Error converting octal $1'#000+ - '07037_E_Error converting binary $1'#000+ - '07038_E_Error conve','rting hexadecimal $1'#000+ + '07037_E_Error converting binary $','1'#000+ + '07038_E_Error converting hexadecimal $1'#000+ '07039_H_$1 translated to $2'#000+ '07040_W_$1 is associated to an overloaded function'#000+ '07041_E_Cannot use SELF outside a method'#000+ '07042_E_Cannot use OLDEBP outside a nested procedure'#000+ - '07043_W_Procedures can'#039't return any value in a','sm code'#000+ + '07043_W_Procedures can'#039't ','return any value in asm code'#000+ '07044_E_SEG not supported'#000+ '07045_E_Size suffix and destination or source size do not match'#000+ '07046_W_Size suffix and destination or source size do not match'#000+ '07047_E_Assembler syntax error'#000+ - '07048_E_Invalid combination of opcode and opera','nds'#000+ + '07048_E_Invalid combinatio','n of opcode and operands'#000+ '07049_E_Assembler syntax error in operand'#000+ '07050_E_Assembler syntax error in constant'#000+ '07051_E_Invalid String expression'#000+ '07052_W_constant with symbol $1 for address which is not on a pointer'#000+ - '07053_E_Unrecognized opcode $1'#000+ - '07054_E_Invalid ','or missing opcode'#000+ + '07053_E_Unrecognized opcod','e $1'#000+ + '07054_E_Invalid or missing opcode'#000+ '07055_E_Invalid combination of prefix and opcode: $1'#000+ '07056_E_Invalid combination of override and opcode: $1'#000+ '07057_E_Too many operands on line'#000+ '07058_W_NEAR ignored'#000+ '07059_W_FAR ignored'#000+ - '07060_E_Duplicate local symbol $1'#000+ - '07061','_E_Undefined local symbol $1'#000+ + '07060_E_Duplicate ','local symbol $1'#000+ + '07061_E_Undefined local symbol $1'#000+ '07062_E_Unknown label identifier $1'#000+ '07063_E_Invalid register name'#000+ '07064_E_Invalid floating point register name'#000+ '07066_W_Modulo not supported'#000+ '07067_E_Invalid floating point constant $1'#000+ - '07068_E_Invalid floating poi','nt expression'#000+ + '07068_E','_Invalid floating point expression'#000+ '07069_E_Wrong symbol type'#000+ '07070_E_Cannot index a local var or parameter with a register'#000+ '07071_E_Invalid segment override expression'#000+ '07072_W_Identifier $1 supposed external'#000+ - '07073_E_Strings not allowed as constants'#000+ - '07074_No type',' of variable specified'#000+ + '07073_E_Strings not allowed as co','nstants'#000+ + '07074_No type of variable specified'#000+ '07075_E_assembler code not returned to text section'#000+ '07076_E_Not a directive or local symbol $1'#000+ '07077_E_Using a defined name as a local label'#000+ '07078_E_Dollar token is used without an identifier'#000+ - '07079_W_32bit constant cr','eated for address'#000+ + '0707','9_W_32bit constant created for address'#000+ '07080_N_.align is target specific, use .balign or .p2align'#000+ '07081_E_Can'#039't access fields directly for parameters'#000+ '07082_E_Can'#039't access fields of objects/classes directly'#000+ - '07083_E_No size specified and unable to determine the s','ize of the op'+ + '07083_E_No size specified and unab','le to determine the size of the op'+ 'erands'#000+ '07084_E_Cannot use RESULT in this function'#000+ '07086_W_"$1" without operand translated into "$1 %st,%st(1)"'#000+ '07087_W_"$1 %st(n)" translated into "$1 %st,%st(n)"'#000+ - '07088_W_"$1 %st(n)" translated into "$1 %st(n),%st"'#000+ - '07089_E_Char',' < not allowed here'#000+ + '07088_W_"$1 %st(n)" translated into "$1 %st','(n),%st"'#000+ + '07089_E_Char < not allowed here'#000+ '07090_E_Char > not allowed here'#000+ '07093_W_ALIGN not supported'#000+ '07094_E_Inc and Dec cannot be together'#000+ '07095_E_Invalid reglist for movem'#000+ '07096_E_Reglist invalid for opcode'#000+ - '07097_E_Higher cpu mode required ($1)'#000+ - '08000_F_Too ma','ny assembler files'#000+ + '07097_E_Higher cpu mode require','d ($1)'#000+ + '08000_F_Too many assembler files'#000+ '08001_F_Selected assembler output not supported'#000+ '08002_F_Comp not supported'#000+ '08003_F_Direct not support for binary writers'#000+ '08004_E_Allocating of data is only allowed in bss section'#000+ - '08005_F_No binary writer selected'#000+ - '08006_E_','Asm: Opcode $1 not in table'#000+ + '08005_F_No binary wri','ter selected'#000+ + '08006_E_Asm: Opcode $1 not in table'#000+ '08007_E_Asm: $1 invalid combination of opcode and operands'#000+ '08008_E_Asm: 16 Bit references not supported'#000+ '08009_E_Asm: Invalid effective address'#000+ '08010_E_Asm: Immediate or reference expected'#000+ - '08011_E_Asm: $1 value ex','ceeds bounds $2'#000+ + '080','11_E_Asm: $1 value exceeds bounds $2'#000+ '08012_E_Asm: Short jump is out of range $1'#000+ '08013_E_Asm: Undefined label $1'#000+ '08014_E_Asm: Comp type not supported for this target'#000+ '08015_E_Asm: Extended type not supported for this target'#000+ - '08016_E_Asm: Duplicate label $1'#000+ - '08017_E','_Asm: Redefined label $1'#000+ + '08016_E_Asm: Dupli','cate label $1'#000+ + '08017_E_Asm: Redefined label $1'#000+ '08018_E_Asm: First defined here'#000+ '09000_W_Source operating system redefined'#000+ '09001_I_Assembling (pipe) $1'#000+ '09002_E_Can'#039't create assember file: $1'#000+ '09003_E_Can'#039't create object file: $1'#000+ - '09004_E_Can'#039't create archive file: $','1'#000+ + '09004_E_Can'#039't c','reate archive file: $1'#000+ '09005_E_Assembler $1 not found, switching to external assembling'#000+ '09006_T_Using assembler: $1'#000+ '09007_E_Error while assembling exitcode $1'#000+ '09008_E_Can'#039't call the assembler, error $1 switching to external a'+ 'ssembling'#000+ - '09009_I_Assembling $1'#000+ - '0901','0_I_Assembling with smartlinking $1'#000+ + '09009','_I_Assembling $1'#000+ + '09010_I_Assembling with smartlinking $1'#000+ '09011_W_Object $1 not found, Linking may fail !'#000+ '09012_W_Library $1 not found, Linking may fail !'#000+ '09013_E_Error while linking'#000+ - '09014_E_Can'#039't call the linker, switching to external linking'#000+ - '09015_I_Linking $1',#000+ + '09014_E_Can'#039't call the linker, switching to external linki','ng'#000+ + '09015_I_Linking $1'#000+ '09016_E_Util $1 not found, switching to external linking'#000+ '09017_T_Using util $1'#000+ '09018_E_Creation of Executables not supported'#000+ '09019_E_Creation of Dynamic/Shared Libraries not supported'#000+ '09020_I_Closing script $1'#000+ - '09021_E_resource compiler not',' found, switching to external mode'#000+ + '09021_E_','resource compiler not found, switching to external mode'#000+ '09022_I_Compiling resource $1'#000+ '09023_T_unit $1 can'#039't be statically linked, switching to smart lin'+ 'king'#000+ '09024_T_unit $1 can'#039't be smart linked, switching to static linking'+ #000+ - '09025_T_unit $1 can'#039't be shared linke','d, switching to static link'+ + '09025_T_unit $1 ','can'#039't be shared linked, switching to static link'+ 'ing'#000+ '09026_E_unit $1 can'#039't be smart or static linked'#000+ '09027_E_unit $1 can'#039't be shared or static linked'#000+ '09028_F_Can'#039't post process executable $1'#000+ '09029_F_Can'#039't open executable $1'#000+ - '09030_X_Size of Code: $1 bytes'#000+ - '09031_X','_Size of initialized data: $1 bytes'#000+ + '09030_X_Size of C','ode: $1 bytes'#000+ + '09031_X_Size of initialized data: $1 bytes'#000+ '09032_X_Size of uninitialized data: $1 bytes'#000+ '09033_X_Stack space reserved: $1 bytes'#000+ '09034_X_Stack space commited: $1 bytes'#000+ '10000_T_Unitsearch: $1'#000+ '10001_T_PPU Loading $1'#000+ - '10002_U_PPU Name: $1'#000+ - '10003_U_PPU Fl','ags: $1'#000+ + '10002_U_PPU Na','me: $1'#000+ + '10003_U_PPU Flags: $1'#000+ '10004_U_PPU Crc: $1'#000+ '10005_U_PPU Time: $1'#000+ '10006_U_PPU File too short'#000+ '10007_U_PPU Invalid Header (no PPU at the begin)'#000+ '10008_U_PPU Invalid Version $1'#000+ '10009_U_PPU is compiled for another processor'#000+ - '10010_U_PPU is compiled for an other t','arget'#000+ + '10010_U_PPU is co','mpiled for an other target'#000+ '10011_U_PPU Source: $1'#000+ '10012_U_Writing $1'#000+ '10013_F_Can'#039't Write PPU-File'#000+ @@ -585,45 +586,45 @@ const msgtxt : array[0..000142,1..240] of char=( '10015_F_unexpected end of PPU-File'#000+ '10016_F_Invalid PPU-File entry: $1'#000+ '10017_F_PPU Dbx count problem'#000+ - '10018_E_Illegal unit name: $1'#000+ - '10','019_F_Too much units'#000+ + '10018_E_Ill','egal unit name: $1'#000+ + '10019_F_Too much units'#000+ '10020_F_Circular unit reference between $1 and $2'#000+ '10021_F_Can'#039't compile unit $1, no sources available'#000+ '10022_F_Can'#039't find unit $1'#000+ '10023_W_Unit $1 was not found but $2 exists'#000+ - '10024_F_Unit $1 searched but $2 found'#000+ - '10025_W_','Compiling the system unit requires the -Us switch'#000+ + '10024_F_Unit $1 searched ','but $2 found'#000+ + '10025_W_Compiling the system unit requires the -Us switch'#000+ '10026_F_There were $1 errors compiling module, stopping'#000+ '10027_U_Load from $1 ($2) unit $3'#000+ '10028_U_Recompiling $1, checksum changed for $2'#000+ - '10029_U_Recompiling $1, source found only'#000+ - '10030_U_Re','compiling unit, static lib is older than ppufile'#000+ + '10029_U_Recompiling $1, source ','found only'#000+ + '10030_U_Recompiling unit, static lib is older than ppufile'#000+ '10031_U_Recompiling unit, shared lib is older than ppufile'#000+ '10032_U_Recompiling unit, obj and asm are older than ppufile'#000+ '10033_U_Recompiling unit, obj is older than asm'#000+ - '10034_U_Parsing interfa','ce of $1'#000+ + '10','034_U_Parsing interface of $1'#000+ '10035_U_Parsing implementation of $1'#000+ '10036_U_Second load for unit $1'#000+ '10037_U_PPU Check file $1 time $2'#000+ '10038_H_Conditional $1 was not set at startup in last compilation of $'+ '2'#000+ - '10039_H_Conditional $1 was set at startup in last compil','ation of $2'#000+ + '10039_H_Conditional $1 was set at s','tartup in last compilation of $2'#000+ '10040_W_Can'#039't recompile unit $1, but found modifed include files'#000+ '10041_H_File $1 is newer than Release PPU file $2'#000+ '10042_U_Using a unit which was not compiled with correct FPU mode'#000+ - '11000_$1 [options] [options]'#000+ - '11001_','W_Only one source file supported'#000+ + '11000_$1 [options] [options]'#000+ + '11001_W_Only one source file supported'#000+ '11002_W_DEF file can be created only for OS/2'#000+ '11003_E_nested response files are not supported'#000+ '11004_F_No source file name in command line'#000+ '11005_N_No option inside $1 config file'#000+ - '11006_E_Illegal parameter: $1',#000+ + '11006_E_','Illegal parameter: $1'#000+ '11007_H_-? writes help pages'#000+ '11008_F_Too many config files nested'#000+ '11009_F_Unable to open file $1'#000+ '11010_D_Reading further options from $1'#000+ '11011_W_Target is already set to: $1'#000+ - '11012_W_Shared libs not supported on DOS platform, reverting to s','tat'+ + '11012_W_Shared libs not supported on DOS pla','tform, reverting to stat'+ 'ic'#000+ '11013_F_too many IF(N)DEFs'#000+ '11014_F_too many ENDIFs'#000+ @@ -631,25 +632,25 @@ const msgtxt : array[0..000142,1..240] of char=( '11016_W_Debug information generation is not supported by this executab'+ 'le'#000+ '11017_H_Try recompiling with -dGDB'#000+ - '11018_E_You are using the o','bsolete switch $1'#000+ + '11018_','E_You are using the obsolete switch $1'#000+ '11019_E_You are using the obsolete switch $1, please use $2'#000+ '11020_N_Switching assembler to default source writing assembler'#000+ '11021_W_Assembler output selected "$1" is not compatible with "$2"'#000+ - '11022_W_"$1" assembler use forc','ed'#000+ + '11022_W_"$','1" assembler use forced'#000+ '11026_T_Reading options from file $1'#000+ '11027_T_Reading options from environment $1'#000+ '11028_D_Handling option "$1"'#000+ '11029__*** press enter ***'#000+ '11030_H_Start of reading config file $1'#000+ '11031_H_End of reading config file $1'#000+ - '11032_D_interpreting o','ption "$1"'#000+ + '1','1032_D_interpreting option "$1"'#000+ '11036_D_interpreting firstpass option "$1"'#000+ '11033_D_interpreting file option "$1"'#000+ '11034_D_Reading config file "$1"'#000+ '11035_D_found source file name "$1"'#000+ '11037_D_Defining symbol $1'#000+ '11038_D_Undefining symbol $1'#000+ - '11039_E_Unknown code pa','ge'#000+ + '11','039_E_Unknown code page'#000+ '11023_Free Pascal Compiler version $FPCVER [$FPCDATE] for $FPCTARGET'#010+ 'Copyright (c) 1993-2002 by Florian Klaempfl'#000+ '11024_Free Pascal Compiler version $FPCVER'#010+ @@ -657,171 +658,171 @@ const msgtxt : array[0..000142,1..240] of char=( 'Compiler Date : $FPCDATE'#010+ 'Compiler Target: $FPCTARGET'#010+ #010+ - 'Supported targets:'#010+ - ' $OST','ARGETS'#010+ + 'Supp','orted targets:'#010+ + ' $OSTARGETS'#010+ #010+ 'This program comes under the GNU General Public Licence'#010+ 'For more information read COPYING.FPC'#010+ #010+ 'Report bugs,suggestions etc to:'#010+ ' bugrep@freepascal.org'#000+ - '11025_**0*_put + after a boolean switch option to enable it, - to ','di'+ + '11025_**0*_put + after a boolean switch optio','n to enable it, - to di'+ 'sable it'#010+ '**1a_the compiler doesn'#039't delete the generated assembler file'#010+ '**2al_list sourcecode lines in assembler file'#010+ '**2ar_list register allocation/release info in assembler file'#010+ - '**2at_list temp allocation/release info in assembler file'#010+ - '*','*1b_generate browser info'#010+ + '**2at_list temp allocation/release inf','o in assembler file'#010+ + '**1b_generate browser info'#010+ '**2bl_generate local symbol info'#010+ '**1B_build all modules'#010+ '**1C_code generation options:'#010+ '**2CD_create also dynamic library (not supported)'#010+ - '**2Ce_Compilation with emulated floating point opcodes'#010+ - '**2Ch_ bytes h','eap (between 1023 and 67107840)'#010+ + '**2Ce_Compilation with emulated floating point opcodes',#010+ + '**2Ch_ bytes heap (between 1023 and 67107840)'#010+ '**2Ci_IO-checking'#010+ '**2Cn_omit linking stage'#010+ '**2Co_check overflow of integer operations'#010+ '**2Cr_range checking'#010+ '**2CR_verify object method call validity'#010+ '**2Cs_set stack size to '#010+ - '**2Ct_stack checking'#010+ - '**2CX_cr','eate also smartlinked library'#010+ + '**2Ct_st','ack checking'#010+ + '**2CX_create also smartlinked library'#010+ '**1d_defines the symbol '#010+ '*O1D_generate a DEF file'#010+ '*O2Dd_set description to '#010+ '*O2Dw_PM application'#010+ '**1e_set path to executable'#010+ '**1E_same as -Cn'#010+ - '**1F_set file names and paths:'#010+ - '**2FD_sets the d','irectory where to search for compiler utilities'#010+ + '**1F_set file names and paths',':'#010+ + '**2FD_sets the directory where to search for compiler utilities'#010+ '**2Fe_redirect error output to '#010+ '**2FE_set exe/unit output path to '#010+ '**2Fi_adds to include path'#010+ '**2Fl_adds to library path'#010+ - '*L2FL_uses as dynamic linker'#010+ - '**2Fo_','adds to object path'#010+ + '*L2FL_uses as dyn','amic linker'#010+ + '**2Fo_adds to object path'#010+ '**2Fr_load error message file '#010+ '**2Fu_adds to unit path'#010+ '**2FU_set unit output path to , overrides -FE'#010+ '*g1g_generate debugger information:'#010+ '*g2gg_use gsym'#010+ '*g2gd_use dbx'#010+ - '*g2gh_use heap trace unit (for ','memory leak debugging)'#010+ + '*g2gh_use ','heap trace unit (for memory leak debugging)'#010+ '*g2gl_use line info unit to show more info for backtraces'#010+ '*g2gc_generate checks for pointers'#010+ '**1i_information'#010+ '**2iD_return compiler date'#010+ '**2iV_return compiler version'#010+ '**2iSO_return compiler OS'#010+ - '**2iSP_return compiler p','rocessor'#010+ + '**2','iSP_return compiler processor'#010+ '**2iTO_return target OS'#010+ '**2iTP_return target processor'#010+ '**1I_adds to include path'#010+ '**1k_Pass to the linker'#010+ '**1l_write logo'#010+ '**1n_don'#039't read the default config file'#010+ - '**1o_change the name of the executable produced to '#010+ + '**1o_change the name of the exec','utable produced to '#010+ '**1pg_generate profile code for gprof (defines FPC_PROFILE)'#010+ '*L1P_use pipes instead of creating temporary assembler files'#010+ '**1S_syntax options:'#010+ '**2S2_switch some Delphi 2 extensions on'#010+ - '**2Sc_supports operators like C (*=,+=,/= and -=)'#010+ - '**','2Sa_include assertion code.'#010+ + '**2Sc_supports operators like C',' (*=,+=,/= and -=)'#010+ + '**2Sa_include assertion code.'#010+ '**2Sd_tries to be Delphi compatible'#010+ '**2Se_compiler stops after the errors (default is 1)'#010+ '**2Sg_allow LABEL and GOTO'#010+ '**2Sh_Use ansistrings'#010+ '**2Si_support C++ styled INLINE'#010+ - '**2Sm_support macros like C (global',')'#010+ + '**2Sm_support ','macros like C (global)'#010+ '**2So_tries to be TP/BP 7.0 compatible'#010+ '**2Sp_tries to be gpc compatible'#010+ '**2Ss_constructor name must be init (destructor must be done)'#010+ '**2St_allow static keyword in objects'#010+ - '**1s_don'#039't call assembler and linker (only with -a)'#010+ - '**2st_Generate',' script to link on target'#010+ + '**1s_don'#039't call assembler and linker (only wi','th -a)'#010+ + '**2st_Generate script to link on target'#010+ '**2sh_Generate script to link on host'#010+ '**1u_undefines the symbol '#010+ '**1U_unit options:'#010+ '**2Un_don'#039't check the unit name'#010+ '**2Ur_generate release unit files'#010+ '**2Us_compile a system unit'#010+ - '**1v_Be verbose. is a c','ombination of the following letters:'#010+ + '**1v_B','e verbose. is a combination of the following letters:'#010+ '**2*_e : Show errors (default) d : Show debug info'#010+ '**2*_w : Show warnings u : Show unit info'#010+ '**2*_n : Show notes t : Show tried/used files'#010+ - '**2*_h : Show hints ',' m : Show defined macros'#010+ + '**2*_h',' : Show hints m : Show defined macros'#010+ '**2*_i : Show general info p : Show compiled procedures'#010+ '**2*_l : Show linenumbers c : Show conditionals'#010+ - '**2*_a : Show everything 0 : Show nothing (except errors)'#010+ - '**2*_b : Sh','ow all procedure r : Rhide/GCC compatibility mod'+ - 'e'#010+ + '**2*_a : Show everything 0 : Show nothing (excep','t errors'+ + ')'#010+ + '**2*_b : Show all procedure r : Rhide/GCC compatibility mode'#010+ '**2*_ declarations if an error x : Executable info (Win32 only)'#010+ '**2*_ occurs'#010+ '**1V_write fpcdebug.txt file with lots of debugging info'#010+ - '**1X_executable options:'#010+ - '*L2Xc_link wi','th the c library'#010+ + '**1X_executable o','ptions:'#010+ + '*L2Xc_link with the c library'#010+ '**2Xs_strip all symbols from executable'#010+ '**2XD_try to link dynamic (defines FPC_LINK_DYNAMIC)'#010+ '**2XS_try to link static (default) (defines FPC_LINK_STATIC)'#010+ - '**2XX_try to link smart (defines FPC_LINK_SMART)'#010, + '**2XX_try to link smart (def','ines FPC_LINK_SMART)'#010+ '**0*_Processor specific options:'#010+ '3*1A_output format:'#010+ '3*2Aas_assemble using GNU AS'#010+ '3*2Anasmcoff_coff (Go32v2) file using Nasm'#010+ '3*2Anasmelf_elf32 (Linux) file using Nasm'#010+ '3*2Anasmobj_obj file using Nasm'#010+ - '3*2Amasm_obj file using Masm (Microsof','t)'#010+ + '3*2Amasm_obj file',' using Masm (Microsoft)'#010+ '3*2Atasm_obj file using Tasm (Borland)'#010+ '3*2Acoff_coff (Go32v2) using internal writer'#010+ '3*2Apecoff_pecoff (Win32) using internal writer'#010+ '3*1R_assembler reading style:'#010+ '3*2Ratt_read AT&T style assembler'#010+ - '3*2Rintel_read Intel style assembler'#010+ - '3','*2Rdirect_copy assembler text directly to assembler file'#010+ + '3*2Rintel_read In','tel style assembler'#010+ + '3*2Rdirect_copy assembler text directly to assembler file'#010+ '3*1O_optimizations:'#010+ '3*2Og_generate smaller code'#010+ '3*2OG_generate faster code (default)'#010+ '3*2Or_keep certain variables in registers'#010+ - '3*2Ou_enable uncertain optimizations (see docs)'#010+ - '3*2O1','_level 1 optimizations (quick optimizations)'#010+ + '3*2Ou_enable uncertain optimizat','ions (see docs)'#010+ + '3*2O1_level 1 optimizations (quick optimizations)'#010+ '3*2O2_level 2 optimizations (-O1 + slower optimizations)'#010+ '3*2O3_level 3 optimizations (-O2 repeatedly, max 5 times)'#010+ '3*2Op_target processor:'#010+ - '3*3Op1_set target processor to 386/486'#010+ - '3*3Op2_set tar','get processor to Pentium/PentiumMMX (tm)'#010+ + '3*3Op1_set target processor to 3','86/486'#010+ + '3*3Op2_set target processor to Pentium/PentiumMMX (tm)'#010+ '3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm)'#010+ '3*1T_Target operating system:'#010+ '3*2TGO32V2_version 2 of DJ Delorie DOS extender'#010+ '3*2TWDOSX DOS 32 Bit Extender'#010+ - '3*2TLINUX_Linux'#010+ - '3*2Tnetware_Novell',' Netware Module (experimental)'#010+ + '3*2TLINUX_Lin','ux'#010+ + '3*2Tnetware_Novell Netware Module (experimental)'#010+ '3*2TOS2_OS/2 2.x'#010+ '3*2TSUNOS_SunOS/Solaris'#010+ '3*2TWin32_Windows 32 Bit'#010+ '3*1W_Win32 target options'#010+ '3*2WB_Set Image base to Hexadecimal value'#010+ '3*2WC_Specify console type application'#010+ - '3*2WD_Use DEFFILE to expor','t functions of DLL or EXE'#010+ + '3*2WD','_Use DEFFILE to export functions of DLL or EXE'#010+ '3*2WF_Specify full-screen type application (OS/2 only)'#010+ '3*2WG_Specify graphic type application'#010+ '3*2WN_Do not generate relocation code (necessary for debugging)'#010+ '3*2WR_Generate relocation code'#010+ - '6*1A_output format'#010+ - '6*2','Aas_Unix o-file using GNU AS'#010+ + '6*1A','_output format'#010+ + '6*2Aas_Unix o-file using GNU AS'#010+ '6*2Agas_GNU Motorola assembler'#010+ '6*2Amit_MIT Syntax (old GAS)'#010+ '6*2Amot_Standard Motorola assembler'#010+ '6*1O_optimizations:'#010+ '6*2Oa_turn on the optimizer'#010+ '6*2Og_generate smaller code'#010+ - '6*2OG_generate faster code (default)'#010+ - '6*','2Ox_optimize maximum (still BUGGY!!!)'#010+ + '6*2OG_generate fas','ter code (default)'#010+ + '6*2Ox_optimize maximum (still BUGGY!!!)'#010+ '6*2O0_set target processor to a MC68000'#010+ '6*2O2_set target processor to a MC68020+ (default)'#010+ '6*1R_assembler reading style:'#010+ '6*2RMOT_read motorola style assembler'#010+ - '6*1T_Target operating system:'#010+ - '6*2TAMI','GA_Commodore Amiga'#010+ + '6*1T_Target oper','ating system:'#010+ + '6*2TAMIGA_Commodore Amiga'#010+ '6*2TATARI_Atari ST/STe/TT'#010+ '6*2TMACOS_Macintosh m68k'#010+ '6*2TLINUX_Linux-68k'#010+ diff --git a/compiler/nflw.pas b/compiler/nflw.pas index 334e452f20..8019de06a9 100644 --- a/compiler/nflw.pas +++ b/compiler/nflw.pas @@ -754,7 +754,9 @@ implementation function tfornode.pass_1 : tnode; var old_t_times : longint; + {$ifdef loopvar_dont_mind} hp : Tnode; + {$endif loopvar_dont_mind} begin result:=nil; { Calc register weight } @@ -1450,7 +1452,11 @@ begin end. { $Log$ - Revision 1.63 2003-01-04 08:08:47 daniel + Revision 1.64 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.63 2003/01/04 08:08:47 daniel * Readded missing variable Revision 1.62 2003/01/03 17:16:57 peter diff --git a/compiler/nmem.pas b/compiler/nmem.pas index 4b5c9e0e99..3931a4c760 100644 --- a/compiler/nmem.pas +++ b/compiler/nmem.pas @@ -715,7 +715,6 @@ implementation function tvecnode.det_resulttype:tnode; var htype : ttype; - ct : tconverttype; begin result:=nil; resulttypepass(left); @@ -1055,7 +1054,11 @@ begin end. { $Log$ - Revision 1.44 2003-01-06 21:16:52 peter + Revision 1.45 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.44 2003/01/06 21:16:52 peter * po_addressonly added to retrieve the address of a methodpointer only, this is used for @tclass.method which has no self pointer diff --git a/compiler/nobj.pas b/compiler/nobj.pas index db44e6b966..327e4d8b84 100644 --- a/compiler/nobj.pas +++ b/compiler/nobj.pas @@ -519,7 +519,6 @@ implementation var procdefcoll : pprocdefcoll; - hp : pprocdeflist; symcoll : psymcoll; _name : string; _speed : cardinal; @@ -1333,7 +1332,11 @@ initialization end. { $Log$ - Revision 1.38 2002-11-25 17:43:20 peter + Revision 1.39 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.38 2002/11/25 17:43:20 peter * splitted defbase in defutil,symutil,defcmp * merged isconvertable and is_equal into compare_defs(_ext) * made operator search faster by walking the list only once diff --git a/compiler/pdecobj.pas b/compiler/pdecobj.pas index 6592314ef1..9d63683270 100644 --- a/compiler/pdecobj.pas +++ b/compiler/pdecobj.pas @@ -231,7 +231,6 @@ implementation s : string; tt : ttype; arraytype : ttype; - declarepos : tfileposinfo; pp : Tprocdef; pd : tprocdef; pt : tnode; @@ -1173,7 +1172,11 @@ implementation end. { $Log$ - Revision 1.57 2002-11-25 17:43:21 peter + Revision 1.58 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.57 2002/11/25 17:43:21 peter * splitted defbase in defutil,symutil,defcmp * merged isconvertable and is_equal into compare_defs(_ext) * made operator search faster by walking the list only once diff --git a/compiler/psub.pas b/compiler/psub.pas index f6f457acf9..1a269f43f3 100644 --- a/compiler/psub.pas +++ b/compiler/psub.pas @@ -684,8 +684,7 @@ implementation { compile procedure when a body is needed } if (pdflags and pd_body)<>0 then begin - Message1(parser_p_procedure_start, - aktprocdef.fullprocname); + Message1(parser_d_procedure_start,aktprocdef.fullprocname); if assigned(aktprocsym.owner) then aktprocdef.aliasnames.insert(aktprocdef.mangledname); @@ -847,7 +846,11 @@ implementation end. { $Log$ - Revision 1.90 2003-01-09 20:40:59 daniel + Revision 1.91 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.90 2003/01/09 20:40:59 daniel * Converted some code in cgx86.pas to new register numbering Revision 1.89 2003/01/09 15:49:56 daniel diff --git a/compiler/scanner.pas b/compiler/scanner.pas index 1e0fa79ce5..478a261c4d 100644 --- a/compiler/scanner.pas +++ b/compiler/scanner.pas @@ -546,12 +546,12 @@ implementation begin mac:=tmacro.create(hs); mac.defined:=true; - Message1(parser_m_macro_defined,mac.name); + Message1(parser_c_macro_defined,mac.name); current_scanner.macros.insert(mac); end else begin - Message1(parser_m_macro_defined,mac.name); + Message1(parser_c_macro_defined,mac.name); mac.defined:=true; { delete old definition } if assigned(mac.buftext) then @@ -635,13 +635,13 @@ implementation if not assigned(mac) then begin mac:=tmacro.create(hs); - Message1(parser_m_macro_undefined,mac.name); + Message1(parser_c_macro_undefined,mac.name); mac.defined:=false; current_scanner.macros.insert(mac); end else begin - Message1(parser_m_macro_undefined,mac.name); + Message1(parser_c_macro_undefined,mac.name); mac.defined:=false; { delete old definition } if assigned(mac.buftext) then @@ -962,7 +962,7 @@ implementation if mac=nil then begin mac:=tmacro.create(s); - Message1(parser_m_macro_defined,mac.name); + Message1(parser_c_macro_defined,mac.name); macros.insert(mac); end; mac.defined:=true; @@ -985,7 +985,7 @@ implementation if assigned(mac.buftext) then freemem(mac.buftext,mac.buflen); end; - Message2(parser_m_macro_set_to,mac.name,value); + Message2(parser_c_macro_set_to,mac.name,value); mac.buflen:=length(value); getmem(mac.buftext,mac.buflen); move(value[1],mac.buftext^,mac.buflen); @@ -2801,7 +2801,11 @@ exit_label: end. { $Log$ - Revision 1.56 2002-12-29 14:57:50 peter + Revision 1.57 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.56 2002/12/29 14:57:50 peter * unit loading changed to first register units and load them afterwards. This is needed to support uses xxx in yyy correctly * unit dependency check fixed diff --git a/compiler/symconst.pas b/compiler/symconst.pas index 66667c0469..c6df0f0cbf 100644 --- a/compiler/symconst.pas +++ b/compiler/symconst.pas @@ -285,8 +285,6 @@ type tvarspez = (vs_value,vs_const,vs_var,vs_out,vs_hidden); - targconvtyp = (act_convertable,act_equal,act_exact); - absolutetyp = (tovar,toasm,toaddr); tconsttyp = (constnone, @@ -300,6 +298,17 @@ type fullrtti,initrtti ); + { The order is from low priority to high priority, + Note: the operators > and < are used on this list } + tequaltype = ( + te_incompatible, + te_convert_operator, + te_convert_l2, { compatible conversion with possible loss of data } + te_convert_l1, { compatible conversion } + te_equal, { the definitions are equal } + te_exact + ); + {$ifdef GDB} type tdefstabstatus = ( @@ -332,18 +341,35 @@ const ]; const - SymTypeName : array[tsymtyp] of string[12] = - ('abstractsym','variable','type','proc','unit', - 'const','enum','typed const','errorsym','system sym', - 'label','absolute','property','funcret', - 'macrosym','rttisym'); + SymTypeName : array[tsymtyp] of string[12] = ( + 'abstractsym','variable','type','proc','unit', + 'const','enum','typed const','errorsym','system sym', + 'label','absolute','property','funcret', + 'macrosym','rttisym' + ); + + DefTypeName : array[tdeftype] of string[12] = ( + 'abstractdef','arraydef','recorddef','pointerdef','orddef', + 'stringdef','enumdef','procdef','objectdef','errordef', + 'filedef','formaldef','setdef','procvardef','floatdef', + 'classrefdef','forwarddef','variantdef' + ); + + EqualTypeName : array[tequaltype] of string[16] = ( + 'incompatible','convert_operator','convert_l2','convert_l1', + 'equal','exact' + ); implementation end. { $Log$ - Revision 1.44 2003-01-06 21:16:52 peter + Revision 1.45 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.44 2003/01/06 21:16:52 peter * po_addressonly added to retrieve the address of a methodpointer only, this is used for @tclass.method which has no self pointer diff --git a/compiler/symdef.pas b/compiler/symdef.pas index 76cd9c6514..74e7eafa86 100644 --- a/compiler/symdef.pas +++ b/compiler/symdef.pas @@ -100,11 +100,12 @@ interface tparaitem = class(TLinkedListItem) paratype : ttype; parasym : tsym; + defaultvalue : tsym; { tconstsym } paratyp : tvarspez; paraloc : tparalocation; - argconvtyp : targconvtyp; - convertlevel : byte; - defaultvalue : tsym; { tconstsym } +{$ifdef EXTDEBUG} + eqval : tequaltype; +{$endif EXTDEBUG} end; { this is only here to override the count method, @@ -5598,7 +5599,11 @@ implementation end. { $Log$ - Revision 1.123 2003-01-06 21:16:52 peter + Revision 1.124 2003-01-09 21:52:37 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.123 2003/01/06 21:16:52 peter * po_addressonly added to retrieve the address of a methodpointer only, this is used for @tclass.method which has no self pointer diff --git a/compiler/symsym.pas b/compiler/symsym.pas index 34a22ec869..47ab9882e9 100644 --- a/compiler/symsym.pas +++ b/compiler/symsym.pas @@ -854,7 +854,7 @@ implementation while assigned(p) do begin if p^.def<>skipdef then - MessagePos1(p^.def.fileinfo,sym_b_param_list,p^.def.fullprocname); + MessagePos1(p^.def.fileinfo,sym_h_param_list,p^.def.fullprocname); p:=p^.next; end; end; @@ -2563,7 +2563,11 @@ implementation end. { $Log$ - Revision 1.91 2003-01-08 18:43:57 daniel + Revision 1.92 2003-01-09 21:52:38 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.91 2003/01/08 18:43:57 daniel * Tregister changed into a record Revision 1.90 2003/01/03 12:15:56 daniel diff --git a/compiler/verbose.pas b/compiler/verbose.pas index 9a60d86c68..1993918db2 100644 --- a/compiler/verbose.pas +++ b/compiler/verbose.pas @@ -43,7 +43,7 @@ uses {$i msgidx.inc} Const -{ <$10000 will show file and line } + { Levels } V_None = $0; V_Fatal = $1; V_Error = $2; @@ -51,20 +51,20 @@ Const V_Warning = $8; V_Note = $10; V_Hint = $20; - V_Macro = $100; - V_Procedure = $200; - V_Conditional = $400; - V_Assem = $800; - V_Declarations = $1000; - V_Info = $10000; - V_Status = $20000; - V_Used = $40000; - V_Tried = $80000; - V_Debug = $100000; - V_Executable = $200000; - V_ShowFile = $ffff; - V_All = longint($ffffffff); + V_LineInfoMask = $fff; + { From here by default no line info } + V_Info = $1000; + V_Status = $2000; + V_Used = $4000; + V_Tried = $8000; + V_Conditional = $10000; + V_Debug = $20000; + V_Executable = $40000; + V_LevelMask = $fffffff; + V_All = V_LevelMask; V_Default = V_Fatal + V_Error + V_Normal; + { Flags } + V_LineInfo = $10000000; var msg : pmessage; @@ -76,6 +76,7 @@ procedure SetRedirectFile(const fn:string); function SetVerbosity(const s:string):boolean; procedure PrepareReport; +function CheckVerbosity(v:longint):boolean; procedure SetCompileModule(p:tmodulebase); procedure Stop; procedure ShowStatus; @@ -158,6 +159,13 @@ var end; + function CheckVerbosity(v:longint):boolean; + begin + CheckVerbosity:=status.use_bugreport or + ((status.verbosity and (v and V_LevelMask))=(v and V_LevelMask)); + end; + + function SetVerbosity(const s:string):boolean; var m : Longint; @@ -235,14 +243,6 @@ var status.verbosity:=status.verbosity and (not V_Tried) else status.verbosity:=status.verbosity or V_Tried; - 'M' : if inverse then - status.verbosity:=status.verbosity and (not V_Macro) - else - status.verbosity:=status.verbosity or V_Macro; - 'P' : if inverse then - status.verbosity:=status.verbosity and (not V_Procedure) - else - status.verbosity:=status.verbosity or V_Procedure; 'C' : if inverse then status.verbosity:=status.verbosity and (not V_Conditional) else @@ -251,18 +251,10 @@ var status.verbosity:=status.verbosity and (not V_Debug) else status.verbosity:=status.verbosity or V_Debug; - 'B' : if inverse then - status.verbosity:=status.verbosity and (not V_Declarations) - else - status.verbosity:=status.verbosity or V_Declarations; 'X' : if inverse then status.verbosity:=status.verbosity and (not V_Executable) else status.verbosity:=status.verbosity or V_Executable; - 'Z' : if inverse then - status.verbosity:=status.verbosity and (not V_Assem) - else - status.verbosity:=status.verbosity or V_Assem; end; inc(i); end; @@ -449,9 +441,10 @@ var (status.errorhint and ((l and V_Hint)<>0)) then inc(status.errorcount); { check verbosity level } - if ((status.verbosity and l)<>l) and - (not status.use_bugreport) then + if not CheckVerbosity(l) then exit; + if (l and V_LineInfoMask)<>0 then + l:=l or V_LineInfo; { Create status info } UpdateStatus; { Fix replacements } @@ -520,25 +513,17 @@ var 'I' : v:=v or V_Info; 'L' : - v:=v or V_Status; + v:=v or V_LineInfo; 'U' : v:=v or V_Used; 'T' : v:=v or V_Tried; - 'M' : - v:=v or V_Macro; - 'P' : - v:=v or V_Procedure; 'C' : v:=v or V_Conditional; 'D' : v:=v or V_Debug; - 'B' : - v:=v or V_Declarations; 'X' : v:=v or V_Executable; - 'Z' : - v:=v or V_Assem; 'S' : dostop:=true; '_' : ; @@ -547,9 +532,10 @@ var end; Delete(s,1,idx); { check verbosity level } - if ((status.verbosity and v)<>v) and - (not status.use_bugreport) then - exit; + if not CheckVerbosity(v) then + exit; + if (v and V_LineInfoMask)<>0 then + v:=v or V_LineInfo; { fix status } UpdateStatus; { Fix replacements } @@ -711,7 +697,11 @@ finalization end. { $Log$ - Revision 1.23 2002-12-29 14:57:50 peter + Revision 1.24 2003-01-09 21:52:38 peter + * merged some verbosity options. + * V_LineInfo is a verbosity flag to include line info + + Revision 1.23 2002/12/29 14:57:50 peter * unit loading changed to first register units and load them afterwards. This is needed to support uses xxx in yyy correctly * unit dependency check fixed