From f8d831d6cefa86803a70fc8a3387de70a6ae6c75 Mon Sep 17 00:00:00 2001 From: carl Date: Sat, 30 Nov 2002 21:29:56 +0000 Subject: [PATCH] + -Ce for softfpu --- compiler/msg/errore.msg | 1 + compiler/msgidx.inc | 2 +- compiler/msgtxt.inc | 98 +++++++++++++++++++++-------------------- compiler/options.pas | 12 ++++- 4 files changed, 63 insertions(+), 50 deletions(-) diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg index 932ca449ae..6c1169b016 100644 --- a/compiler/msg/errore.msg +++ b/compiler/msg/errore.msg @@ -2014,6 +2014,7 @@ option_help_pages=11025_[ **1B_build all modules **1C_code generation options: **2CD_create also dynamic library (not supported) +**2Ce_Compilation with emulated floating point opcodes **2Ch_ bytes heap (between 1023 and 67107840) **2Ci_IO-checking **2Cn_omit linking stage diff --git a/compiler/msgidx.inc b/compiler/msgidx.inc index 7fdebeb816..4ec3d6391d 100644 --- a/compiler/msgidx.inc +++ b/compiler/msgidx.inc @@ -639,7 +639,7 @@ const option_info=11024; option_help_pages=11025; - MsgTxtSize = 35553; + MsgTxtSize = 35608; MsgIdxMax : array[1..20] of longint=( 17,62,190,50,56,41,98,19,35,43, diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index 63d8a871d6..01b5b39235 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -714,155 +714,157 @@ const msgtxt : array[0..000148,1..240] of char=( '**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 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, + '**2Co_che','ck 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_create also smartlinked library'#010+ '**1d_defines the symbol '#010+ - '*O1D_generate a DEF file'#010+ + '*O1D_generate a DEF fil','e'#010+ '*O2Dd_set description to '#010+ - '*O2Dw_PM application'#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 directory where to search for compiler utilities'#010+ - '**2Fe_redirect error output to '#010+ + '**2Fe_redirect error output to '#010+ '**2FE_set exe/unit output path to '#010+ - '**2Fi_add','s to include path'#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+ '**2Fr_load error message file '#010+ - '**2Fu_adds to unit path'#010+ - '**2FU_set unit output path to , overrides',' -FE'#010+ + '**2Fu_adds to un','it 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+ '*g2gl_use line info unit to show more info for backtraces'#010+ - '*g2gc_generate checks for pointers'#010+ + '*g2','gc_generate checks for pointers'#010+ '**1i_information'#010+ - '**2iD_','return compiler date'#010+ + '**2iD_return compiler date'#010+ '**2iV_return compiler version'#010+ '**2iSO_return compiler OS'#010+ '**2iSP_return compiler processor'#010+ '**2iTO_return target OS'#010+ '**2iTP_return target processor'#010+ - '**1I_adds to include path'#010+ + '**1I_adds to ','include path'#010+ '**1k_Pass to the linker'#010+ - '**1l_write ','logo'#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+ '**1pg_generate profile code for gprof (defines FPC_PROFILE)'#010+ - '*L1P_use pipes instead of creating temporary assembler files'#010+ - '**1S_syntax o','ptions:'#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+ '**2Sd_tries to be Delphi compatible'#010+ - '**2Se_compiler stops after the errors (default is 1)'#010+ - '**2Sg_allow LAB','EL and GOTO'#010+ + '**2Se_compiler st','ops 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+ '**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+ - '**2','St_allow static keyword in objects'#010+ + '**2Ss_cons','tructor 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+ '**2sh_Generate script to link on host'#010+ - '**1u_undefines the symbol '#010+ + '**1u_undefines th','e symbol '#010+ '**1U_unit options:'#010+ - '**2Un_don'#039't check the u','nit name'#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 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*_e : Show errors (default) d : Show d','ebug 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*_i : Show general info p : Show compiled procedures'#010+ - '**2*_l : Show linenumbers c ',': Show conditionals'#010+ + '**2*_i : Show general info p : Show comp','iled procedures'#010+ + '**2*_l : Show linenumbers c : Show conditionals'#010+ '**2*_a : Show everything 0 : Show nothing (except 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*_ o','ccurs'#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 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 st','atic (default) (defines FPC_LINK_STATIC)'#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+ '**0*_Processor specific options:'#010+ '3*1A_output format:'#010+ - '3*2Aas_assemble using GNU AS'#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*2Anasmelf_elf32 (Linux) file using Nasm'#010+ '3*2Anasmobj_obj file using Nasm'#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*2Acoff_coff (Go32v2) using internal writ','er'#010+ '3*2Apecoff_pecoff (Win32) using internal writer'#010+ - '3*1R','_assembler reading style:'#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*1O_optimizations:'#010+ - '3*2Og_generate smaller code'#010+ - '3*2OG_generate faster code (def','ault)'#010+ + '3*2O','g_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*2O2_level 2 optimizations (-O1 + slower optimizations)'#010+ - '3*2O3_level 3 optimizations (-O2 repe','atedly, max 5 times)'#010+ + '3*2O2_level 2 optimizations (-O1 + slow','er 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 target processor to Pentium/PentiumMMX (tm)'#010+ - '3*3Op3_set target processor to PPro/PII/c6x86/K6 (tm)'#010+ + '3*3Op3_set target processor to PPro/PII/c6x','86/K6 (tm)'#010+ '3*1T_Target operating system:'#010+ - '3*2TGO32V2_','version 2 of DJ Delorie DOS extender'#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*2TOS2_OS/2 2.x'#010+ '3*2TSUNOS_SunOS/Solaris'#010+ - '3*2TWin32_Windows 32 Bit'#010+ + '3*2TWin32_Wi','ndows 32 Bit'#010+ '3*1W_Win32 target options'#010+ - '3*2WB_Set ','Image base to Hexadecimal value'#010+ + '3*2WB_Set Image base to Hexadecimal value'#010+ '3*2WC_Specify console type application'#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 genera','te relocation code (necessary for debugging)'#010+ + '3*2','WG_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*2Aas_Unix o-file using GNU AS'#010+ '6*2Agas_GNU Motorola assembler'#010+ - '6*2Amit_MIT Syntax (old GAS)'#010+ + '6*2Amit_MIT Syntax (old ','GAS)'#010+ '6*2Amot_Standard Motorola assembler'#010+ - '6*1O_optimizat','ions:'#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*2O0_set target processor to a MC68000'#010+ - '6*2O2_set target processor to a MC68020+ (default)'#010+ - '6*1R_as','sembler reading style:'#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*2TAMIGA_Commodore Amiga'#010+ '6*2TATARI_Atari ST/STe/TT'#010+ '6*2TMACOS_Macintosh m68k'#010+ - '6*2TLINUX_Linux-68k'#010+ + '6*2TLINUX_Linu','x-68k'#010+ '6*2TPALMOS_PalmOS'#010+ '**1*_'#010+ '**1?_shows this help'#010+ - '**1h','_shows this help without waiting'#000 + '**1h_shows this help without waiting'#000 ); diff --git a/compiler/options.pas b/compiler/options.pas index 4b7cf882ef..09289c9613 100644 --- a/compiler/options.pas +++ b/compiler/options.pas @@ -465,6 +465,13 @@ begin IllegalPara(opt); break; end; + 'e' : + begin + If UnsetBool(More, j) then + exclude(initmoduleswitches,cs_fp_emulation) + Else + include(initmoduleswitches,cs_fp_emulation); + end; 'h' : begin val(copy(more,j+1,length(more)-j),heapsize,code); @@ -1879,7 +1886,10 @@ finalization end. { $Log$ - Revision 1.88 2002-11-15 01:58:52 peter + Revision 1.89 2002-11-30 21:29:56 carl + + -Ce for softfpu + + Revision 1.88 2002/11/15 01:58:52 peter * merged changes from 1.0.7 up to 04-11 - -V option for generating bug report tracing - more tracing for option parsing