compiler: 'static' keyword:

- deprecate -St compiler switch
  - remove $STATIC directive
  - unconditionally enable 'static' keyword usage
  - adopt tests, samplecfg, fpc.cft, error messages

git-svn-id: trunk@14569 -
This commit is contained in:
paul 2010-01-07 19:02:09 +00:00
parent d94f37e375
commit 8166148a37
33 changed files with 80 additions and 125 deletions

View File

@ -121,7 +121,7 @@ interface
cs_fp_emulation,cs_extsyntax,cs_openstring,
{ support }
cs_support_goto,cs_support_macro,
cs_support_c_operators,cs_static_keyword,
cs_support_c_operators,
{ generation }
cs_profile,cs_debuginfo,cs_compilesystem,
cs_lineinfo,cs_implicit_exceptions,

View File

@ -2282,7 +2282,6 @@ S*2Aas_assemblar utilitzant GNU AS
**2So_Igual que -Mtp
**2Sp_Igual que -Mgpc
**2Ss_El nom del constructor ha de ser init (destructor = done)
**2St_Permet la paraula clau -static- en els objectes
**1s_No cridis l'assemblador ni l'enllaçador
**2sh_Genera la seqüència per enllaçar a l'anfitrió
**2st_Genera la seqüència per enllaçar al destí

View File

@ -2888,7 +2888,6 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
**2So_Sei TP/BP 7.0 kompatibel (wie -Mtp)
**2Sp_Sei gpc-kompatibel (wie -Mgpc)
**2Ss_Konstruktor- und Destruktorname m<>ssen "Init" und "Done" sein
**2St_Erlaube Schl<68>sselwort static in Objekten
**2Sx_Exception Schl<68>sselw”rter einschalten (Voreinstellung in Delphi/ObjFPC Moden)
**1s_Rufe weder Assembler noch Linker auf (nur mit -a)
**2sh_Erzeuge Script um auf dem Host zu linken

View File

@ -2336,7 +2336,6 @@ option_help_pages=11025_[
**2So_samme som -Mtp
**2Sp_samme som -Mgpc
**2Ss_constructor-navn skal være "init" (destructor-navn skal være "done")
**2St_tillad nøgleordet static i objekter
**1s_kør hverken assembler eller linker
**2sh_generér script til linkning på værtscomputeren
**2st_generér script til linkning på mål-computeren

View File

@ -2888,7 +2888,6 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
**2So_Sei TP/BP 7.0 kompatibel (wie -Mtp)
**2Sp_Sei gpc-kompatibel (wie -Mgpc)
**2Ss_Konstruktor- und Destruktorname müssen "Init" und "Done" sein
**2St_Erlaube Schlüsselwort static in Objekten
**2Sx_Exception Schlüsselwörter einschalten (Voreinstellung in Delphi/ObjFPC Moden)
**1s_Rufe weder Assembler noch Linker auf (nur mit -a)
**2sh_Erzeuge Script um auf dem Host zu linken

View File

@ -3011,7 +3011,6 @@ S*2Aas_Assemble using GNU AS
**2Sm_Support macros like C (global)
**2So_Same as -Mtp
**2Ss_Constructor name must be init (destructor must be done)
**2St_Allow static keyword in objects
**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)
**1s_Do not call assembler and linker
**2sh_Generate script to link on host

View File

@ -2300,7 +2300,6 @@ S*2Aas_ensamblar usando GNU AS
**2So_igual que -Mtp
**2Sp_igual que -Mgpc
**2Ss_el nombre del constructor debe ser init (el destructor debe ser done)
**2St_permitir la palabra reservada static en objetos
**1s_no llamar al ensamblador ni enlazador
**2sh_Generar script para enlazar en host
**2st_Generar script para enlazar en destino

View File

@ -1805,7 +1805,6 @@ option_help_pages=11025_[
**2So_essaye d'ˆtre compatible avec TP/BP 7.0
**2Sp_essaye d'ˆtre compatible avec GPC
**2Ss_les constructeurs doivent s'appeler init (et les destructeurs done)
**2St_autorise "static" dans les objects
**1s_n'appelle pas l'assembleur ni le linker
**1u<x>_rend le symbole <x> non dfini
**1U_options d'units :

View File

@ -2438,7 +2438,6 @@ S*2Aas_assembler avec GNU AS
**2So_identique à -Mtp
**2Sp_identique à -Mgpc
**2Ss_les constructeurs doivent s'appeler init (et les destructeurs done)
**2St_autorise "static" dans les objects
**1s_n'appelle pas l'assembleur ni le linker
**2sh_générer un script à lier sur l'hôte
**2st_générer un script à lier sur la cible

View File

@ -2604,7 +2604,6 @@ S*2Aas_
**2Sm_תמוך במקרו דומים לC (גלובליים)
**2So_זהה ל -Mtp
**2Ss_שם יוצר חייב להיות init (שם הורס חייב להיות done)
**2St_אפשר מילות מפתח באובייקטים
**2Sx_אפשר מילות מפתח לexception (ברירת מחדל במצבי Delphi/ObjFPC)
**1s_אל תקרא למאסף והמקשר
**2sh_צור תסריט לקישור במארח

View File

@ -2604,7 +2604,6 @@ S*2Aas_אסוף עם GNU AS
**2Sm_תמוך במקרו דומים לC (גלובליים)
**2So_זהה ל -Mtp
**2Ss_שם יוצר חייב להיות init (שם הורס חייב להיות done)
**2St_אפשר מילות מפתח באובייקטים
**2Sx_אפשר מילות מפתח לexception (ברירת מחדל במצבי Delphi/ObjFPC)
**1s_אל תקרא למאסף והמקשר
**2sh_צור תסריט לקישור במארח

View File

@ -2620,7 +2620,6 @@ S*2Aas_Rangkai menggunakan GNU AS
**2Sm_Dukung makro seperti C (global)
**2So_Sama seperti -Mtp
**2Ss_Nama konstruktor harus init (destruktor harus done)
**2St_Ijinkan kata kunci static dalam obyek
**2Sx_Hidupkan kata kunci exception (standar dalam mode Delphi/ObjFPC)
**1s_Jangan panggil assembler dan linker
**2sh_Hasilkan naskah untuk me-link pada host

View File

@ -2288,7 +2288,6 @@ option_help_pages=11025_[
**2So_Probeer TP/BP-7.0-compatibel te zijn
**2Sp_Probeer GNU-Pascal-compatibel te zijn
**2Ss_Constructor naam moet init zijn (destructor moet done zijn)
**2St_Sta het sleutelwoord "static" toe in objecten
**1s_Roep assembler en linker niet op (slechts met -a)
**1sh_Genereer een script om op het hostplatform te linken
**1sr_Voer geen registertoewijzing uit (optimalisaties worden uitgeschakeld)

View File

@ -2307,7 +2307,6 @@ S*2Aas_asemblacja przy u
**2So_to samo co -Mtp
**2Sp_to samo co -Mgpc
**2Ss_konstruktory muszĄ mie† nazw© init (destruktory - done)
**2St_zezwalanie na s<>owo kluczowe static w obiektach
**1s_pomini©cie wywo<77>ania asemblera i linkera
**2sh_generacja skryptu do linkowania na ho<68>cie
**2st_generacja skryptu do linkowania na celu

View File

@ -2307,7 +2307,6 @@ S*2Aas_asemblacja przy u
**2So_to samo co -Mtp
**2Sp_to samo co -Mgpc
**2Ss_konstruktory muszą mieć nazwę init (destruktory - done)
**2St_zezwalanie na s這wo kluczowe static w obiektach
**1s_pominięcie wywołania asemblera i linkera
**2sh_generacja skryptu do linkowania na hoście
**2st_generacja skryptu do linkowania na celu

View File

@ -3002,7 +3002,6 @@ S*2Aas_Monta usando o GNU AS
**2Sm_Suporta macros semelhantes C (global)
**2So_Mesmo que -Mtp
**2Ss_Nome construtor deve ser 'init' (destruidor deve ser 'done')
**2St_Permite palavras-chave est ticas em objetos
**2Sx_Habilita palavras-chave exce‡äes (padrÆo nos modos Delphi/ObjFPC)
**1s_NÆo chama o montador assembler e o vinculador
**2sh_Gera roteiro para vincular no servidor

View File

@ -3002,7 +3002,6 @@ S*2Aas_Monta usando o GNU AS
**2Sm_Suporta macros semelhantes C (global)
**2So_Mesmo que -Mtp
**2Ss_Nome construtor deve ser 'init' (destruidor deve ser 'done')
**2St_Permite palavras-chave estáticas em objetos
**2Sx_Habilita palavras-chave exceções (padrão nos modos Delphi/ObjFPC)
**1s_Não chama o montador assembler e o vinculador
**2sh_Gera roteiro para vincular no servidor

View File

@ -2721,7 +2721,6 @@ S*2Aas_
**2Sm_<6D>®¤¤¥p¦ª  ¬ ªà®ª®¬ ­¤ ª ª ¢ C (£«®¡ «ì­®)
**2So_® ¦¥, çâ® ¨ -Mtp
**2Ss_ˆ¬ï ª®­áâàãªâ®à  ¤®«¦­® ¡ëâì init (¨¬ï ¤¥áâàãªâ®à  ¤®«¦­® ¡ëâì done)
**2St_<74>®¤¤¥p¦ª  ª«î祢®£® á«®¢  static ¢ ®¡ê¥ªâ å
**2Sx_<78>®¤¤¥à¦ª  ª«î祢ëå á«®¢ ¨áª«î祭¨© (¯® 㬮«ç ­¨î ¢ ०¨¬ å Delphi/ObjFPC)
**1s_<73>¥ ¢ë§ë¢ âì  áᥬ¡«¥à ¨ ª®¬¯®­®¢é¨ª
**2sh_®§¤ âì áªà¨¯â ¤«ï ª®¬¯®­®¢ª¨ ­  å®áâ¥

View File

@ -2721,7 +2721,6 @@ S*2Aas_Ассемблер GNU AS
**2Sm_Поддеpжка макрокоманд как в C (глобально)
**2So_То же, что и -Mtp
**2Ss_Имя конструктора должно быть init (имя деструктора должно быть done)
**2St_Поддеpжка ключевого слова static в объектах
**2Sx_Поддержка ключевых слов исключений (по умолчанию в режимах Delphi/ObjFPC)
**1s_Не вызывать ассемблер и компоновщик
**2sh_Создать скрипт для компоновки на хосте

View File

@ -2294,7 +2294,6 @@ S*2Aas_ensamblar usando GNU AS
**2So_igual que -Mtp
**2Sp_igual que -Mgpc
**2Ss_el nombre del constructor debe ser init (el destructor debe ser done)
**2St_permitir la palabra reservada static en objetos
**1s_no llamar al ensamblador ni enlazador
**2sh_Generar script para enlazar en host
**2st_Generar script para enlazar en destino

View File

@ -838,7 +838,7 @@ const
option_info=11024;
option_help_pages=11025;
MsgTxtSize = 55090;
MsgTxtSize = 55052;
MsgIdxMax : array[1..20] of longint=(
24,87,283,95,71,51,110,22,202,63,

View File

@ -1181,116 +1181,115 @@ const msgtxt : array[0..000229,1..240] of char=(
'**2Sm_Support macros like C (global)'#010+
'**2So_Same as -Mtp'#010+
'**2Ss_Constructor name must be init (destructor must be done)'#010+
'**2St_Allow static keyword in objects'#010+
'**2Sx_Enable exception keywords (default in Delphi/ObjFPC',' modes)'#010+
'**1s_Do not call assembler and linker'#010+
'**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)'#010+
'**1s_Do not call assembler and',' linker'#010+
'**2sh_Generate script to link on host'#010+
'**2st_Generate script to link on target'#010+
'**2sr_Skip register allocation phase (use with -alr)'#010+
'**1T<x>_Target operating system:'#010+
'3*2Temx_OS/2 via EMX (includin','g EMX/RSX extender)'#010+
'3*2Tfreebsd_FreeBSD'#010+
'3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+
'3*2Tfreebsd_FreeBS','D'#010+
'3*2Tgo32v2_Version 2 of DJ Delorie DOS extender'#010+
'3*2Tlinux_Linux'#010+
'3*2Tnetbsd_NetBSD'#010+
'3*2Tnetware_Novell Netware Module (clib)'#010+
'3*2Tnetwlibc_Novell Netware Module (libc)'#010+
'3*2Topenbsd_OpenBSD'#010+
'3*2Tos2_OS/2 / ','eComStation'#010+
'3*2Tos2_OS/2 / eComStation'#010+
'3*2Tsunos_SunOS/Solaris'#010+
'3*2Tsymbian_Symbian OS'#010+
'3*','2Tsymbian_Symbian OS'#010+
'3*2Twatcom_Watcom compatible DOS extender'#010+
'3*2Twdosx_WDOSX DOS extender'#010+
'3*2Twin32_Windows 32 Bit'#010+
'3*2Twince_Windows CE'#010+
'4*2Tlinux_Linux'#010+
'6*2Tamiga_Commodore Amiga'#010+
'6*2Tatari_Atari ST/STe','/TT'#010+
'6*2Tatari_Atari ST/STe/TT'#010+
'6*2Tlinux_Linux/m68k'#010+
'6*2Tmacos_Macintosh m68k (not supported)'#010+
'6*2Tmacos_Mac','intosh m68k (not supported)'#010+
'6*2Tpalmos_PalmOS'#010+
'A*2Tlinux_Linux'#010+
'A*2Twince_Windows CE'#010+
'P*2Tamiga_AmigaOS on PowerPC'#010+
'P*2Tdarwin_Darwin and Mac OS X on PowerPC'#010+
'P*2Tlinux_Linux on PowerPC'#010+
'P*2Tmacos_Mac OS (cla','ssic) on PowerPC'#010+
'P*2Tmacos_Mac OS (classic) on PowerPC'#010+
'P*2Tmorphos_MorphOS'#010+
'S*2Tlinux_Linux'#010+
'S','*2Tlinux_Linux'#010+
'**1u<x>_Undefines the symbol <x>'#010+
'**1U_Unit options:'#010+
'**2Un_Do not check where the unit name matches the file name'#010+
'**2Ur_Generate release unit files (never automatically recompiled)'#010+
'**2Us_C','ompile a system unit'#010+
'**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+
'**2Us_Compile a system unit'#010+
'**1v<x>_Be verbos','e. <x> is a combination of the following letters:'#010+
'**2*_e : Show errors (default) 0 : Show nothing (except errors)'#010+
'**2*_w : Show warnings u : Show unit info'#010+
'**2*_n : Show notes ',' t : Show tried/used files'#010+
'**2*_h : Show hints c : Show conditionals'#010+
'**2*_n : Show notes t : Show tried/used files'#010+
'*','*2*_h : Show hints c : Show conditionals'#010+
'**2*_i : Show general info d : Show debug info'#010+
'**2*_l : Show linenumbers r : Rhide/GCC compatibility mode'#010+
'**2*_s : Show tim','e stamps q : Show message numbers'#010+
'**2*_s : Show time stamps q : Show message n','umbers'#010+
'**2*_a : Show everything x : Executable info (Win32 only)'#010+
'**2*_b : Write file names messages p : Write tree.log with parse tre'+
'e'#010+
'**2*_ with full path v : Write fpcdeb','ug.txt with'#010+
'**2*_ lots of debugging info'#010+
'**2*_ with full path v : Write fpcdebug.txt with'#010+
'**2*_ ',' lots of debugging info'#010+
'**2*_m<x>,<y> : Don'#039't show messages numbered <x> and <y>'#010+
'3*1W<x>_Target-specific options (targets)'#010+
'A*1W<x>_Target-specific options (targets)'#010+
'P*1W<x>_Target-specific',' options (targets)'#010+
'p*1W<x>_Target-specific options (targets)'#010+
'P*1W<x>_Target-specific options (targets)'#010+
'p*1W<x>_Target-spec','ific options (targets)'#010+
'3*2Wb_Create a bundle instead of a library (Darwin)'#010+
'P*2Wb_Create a bundle instead of a library (Darwin)'#010+
'p*2Wb_Create a bundle instead of a library (Darwin)'#010+
'3*2WB_Create a relocata','ble image (Windows)'#010+
'A*2WB_Create a relocatable image (Windows, Symbian)'#010+
'3*2WB_Create a relocatable image (Windows)'#010+
'A*2WB_Create a rel','ocatable image (Windows, Symbian)'#010+
'3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+
'A*2WC_Specify console type application (Windows)'#010+
'P*2WC_Specify console type application (Classic Mac OS)'#010+
'3*2','WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
'3*2WD_Use DEFFILE to export functions of ','DLL or EXE (Windows)'#010+
'A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
'3*2We_Use external resources (Darwin)'#010+
'P*2We_Use external resources (Darwin)'#010+
'p*2We_Use external resources (Darwin)'#010+
'3*2WF','_Specify full-screen type application (EMX, OS/2)'#010+
'3*2WF_Specify full-screen type application ','(EMX, OS/2)'#010+
'3*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+
'A*2WG_Specify graphic type application (Windows)'#010+
'P*2WG_Specify graphic type application (Classic Mac OS)'#010+
'3*2Wi_Use internal resour','ces (Darwin)'#010+
'P*2Wi_Use internal resources (Darwin)'#010+
'3*2Wi_Use internal resources (Darwin)'#010+
'P*2Wi_Use internal resour','ces (Darwin)'#010+
'p*2Wi_Use internal resources (Darwin)'#010+
'3*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
'A*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
'3*2WR_Gener','ate relocation code (Windows)'#010+
'A*2WR_Generate relocation code (Windows)'#010+
'3*2WR_Generate relocation code (Windows)'#010+
'A*2WR_Ge','nerate relocation code (Windows)'#010+
'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+
'3*2WX_Enable executable stack (Linux)'#010+
'A*2WX_Enable executable stack (Linux)'#010+
'p*2WX_Enable executable stack (Linux',')'#010+
'P*2WX_Enable executable stack (Linux)'#010+
'p*2WX_Enable executable stack (Linux)'#010+
'P*2WX_Enable executable stack (Linux',')'#010+
'**1X_Executable options:'#010+
'**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Lin'+
'ux)'#010+
'**2Xd_Do not use standard library search path (needed for cross compil'+
'e)'#010+
'**2Xe_Use external linker'#010+
'**','2Xg_Create debuginfo in a separate file and add a debuglink sectio'+
'**2Xg_Create debuginfo in a separate fil','e and add a debuglink sectio'+
'n to executable'#010+
'**2XD_Try to link units dynamically (defines FPC_LINK_DYNAMIC)'#010+
'**2Xi_Use internal linker'#010+
'**2Xm_Generate link map'#010+
'**2XM<x>_Set the name of the '#039'main'#039' prog','ram routine (default'+
' is '#039'main'#039')'#010+
'**2XP<x>_Prepend the binutils names with the prefix <x>'#010+
'**2XM<x>_Set the name of the '#039'main'#039' program routine (default i'+
's '#039'main'#039')'#010+
'**2XP<','x>_Prepend the binutils names with the prefix <x>'#010+
'**2Xr<x>_Set the linker'#039's rlink-path to <x> (needed for cross comp'+
'ile, see the ld manual for more information) (BeOS, Linux)'#010+
'**2XR<x>_Prepend <x> to all',' linker search paths (BeOS, Darwin, FreeB'+
'**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, Fr','eeB'+
'SD, Linux, Mac OS, Solaris)'#010+
'**2Xs_Strip all symbols from executable'#010+
'**2XS_Try to link units statically (default, defines FPC_LINK_STATIC)'#010+
'**2Xt_Link with static libraries (-static is passed to linker',')'#010+
'**2XX_Try to smartlink units (defines FPC_LINK_SMART)'#010+
'**2Xt_Link with static libraries (-static is passed to linker)'#010+
'**2XX_Try to smartlink units ',' (defines FPC_LINK_SMART)'#010+
'**1*_'#010+
'**1?_Show this help'#010+
'**1h_Shows this help without waiting'

View File

@ -1345,10 +1345,7 @@ begin
else
include(init_settings.globalswitches,cs_constructor_name);
't' :
If UnsetBool(More, j) then
exclude(init_settings.moduleswitches,cs_static_keyword)
else
include(init_settings.moduleswitches,cs_static_keyword);
Message1(option_obsolete_switch,'-St');
'v' :
If UnsetBool(More, j) then
exclude(init_settings.globalswitches,cs_support_vectors)
@ -1364,8 +1361,7 @@ begin
init_settings.globalswitches:=init_settings.globalswitches - [cs_constructor_name,cs_support_exceptions];
init_settings.localswitches:=init_settings.localswitches - [cs_do_assertion, cs_do_inline, cs_ansistrings];
init_settings.moduleswitches:=init_settings.moduleswitches - [cs_support_c_operators, cs_support_goto,
cs_support_macro,
cs_static_keyword];
cs_support_macro];
end;
else
IllegalPara(opt);

View File

@ -1400,12 +1400,9 @@ end;
procedure pd_static(pd:tabstractprocdef);
begin
if (cs_static_keyword in current_settings.moduleswitches) then
begin
if pd.typ=procdef then
include(tprocdef(pd).procsym.symoptions,sp_static);
include(pd.procoptions,po_staticmethod);
end;
if pd.typ=procdef then
include(tprocdef(pd).procsym.symoptions,sp_static);
include(pd.procoptions,po_staticmethod);
end;
procedure pd_override(pd:tabstractprocdef);
@ -2228,10 +2225,6 @@ const
exit;
end;
{ static needs a special treatment }
if (idtoken=_STATIC) and not (cs_static_keyword in current_settings.moduleswitches) then
exit;
{ check if method and directive not for object, like public.
This needs to be checked also for procvars }
if (pd_notobject in proc_direcdata[p].pd_flags) and

View File

@ -1463,8 +1463,7 @@ implementation
handle_calling_convention(tprocvardef(hdef));
{ Check for STATIC directive }
if (vd_object in options) and
(cs_static_keyword in current_settings.moduleswitches) and
if (vd_object in options) and
(try_to_consume(_STATIC)) then
begin
{ add static flag and staticvarsyms }

View File

@ -1036,11 +1036,6 @@ unit scandir;
do_delphiswitch('W');
end;
procedure dir_static;
begin
do_moduleswitch(cs_static_keyword);
end;
procedure dir_stop;
begin
do_message(scan_f_user_defined);
@ -1388,7 +1383,6 @@ unit scandir;
AddDirective('SCREENNAME',directive_all, @dir_screenname);
AddDirective('SMARTLINK',directive_all, @dir_smartlink);
AddDirective('STACKFRAMES',directive_all, @dir_stackframes);
AddDirective('STATIC',directive_all, @dir_static);
AddDirective('STOP',directive_all, @dir_stop);
{$ifdef powerpc}
AddDirective('SYSCALL',directive_all, @dir_syscall);

View File

@ -73,7 +73,6 @@
# -So same as -Mtp
# -Sp same as -Mgpc
# -Ss constructor name must be init (destructor must be done)
# -St allow static keyword in objects
#
# Allow goto, inline, C-operators, C-vars
-Sgic

View File

@ -83,7 +83,6 @@ const DefaultConfig : array[0..25,1..240] of char=(
'# -Sp same as -Mgpc'#013#010+
'# -Ss constructor name must be init (','destructor must be '+
'done)'#013#010+
'# -St allow static keyword in objects'#013#010+
'#'#013#010+
'# Allow goto, inline, C-operators, C-vars'#013#010+
'-Sgic'#013#010+
@ -92,9 +91,9 @@ const DefaultConfig : array[0..25,1..240] of char=(
'# Code generation'#013#010+
'# ---------------'#013#010+
#013#010+
'# Uncomment the next line if you always want stat','ic/dynamic units by'+
' default'#013#010+
'# (can be overruled with -CD, -CS at the commandline)'#013#010+
'# Uncomment the next line if you always want static/dynamic units by d'+
'efault'#013#010+
'# (can be overruled wi','th -CD, -CS at the commandline)'#013#010+
'#-CS'#013#010+
'#-CD'#013#010+
#013#010+
@ -106,21 +105,21 @@ const DefaultConfig : array[0..25,1..240] of char=(
'#-Ci'#013#010+
'#-Co'#013#010+
'#-Cr'#013#010+
'#-C','t'#013#010+
'#-Ct'#013#010+
#013#010+
'# Optimizer switches for i386 compiler'#013#010+
'# -Os generate smaller code'#013#010+
'# -Os ',' generate smaller code'#013#010+
'# -O1 level 1 optimizations (quick optimizations)'#013#010+
'# -O2 level 2 optimizations (-O1 + slower optimizations)'#013#010+
'# -O3 level 3 optimizations (','same as -O2u)'#013#010+
'# -O3 level 3 optimizations (same as -O2u)'#013#010+
'# -Oa=N set alignment to N'#013#010+
'# -OoX switch on optimalization X. '#013#010+
'# -','OoX switch on optimalization X. '#013#010+
'# -OoNOX switch off optimalization X.'#013#010+
'# X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCS'+
'E LOOPUNROLL'#013#010+
'# -OpCPU set targe','t processor.'#013#010+
'# CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4'+
', PENTIUMM '#013#010+
'# -OpCPU set target processor.'#013#010+
'# CPU is one of 386, PENT','IUM, PENTIUM2, PENTIUM3, PENTIU'+
'M4, PENTIUMM '#013#010+
#013#010+
#013#010+
'# -----------------------'#013#010+
@ -129,32 +128,32 @@ const DefaultConfig : array[0..25,1..240] of char=(
#013#010+
'# Both slashes and backslashes are allowed in paths'#013#010+
#013#010+
'#',' path to the messagefile, not necessary anymore but can be used to '+
'# path to the messagefile, not necessary anymore but',' can be used to '+
'override'#013#010+
'# the default language'#013#010+
'#-Fr%basepath%/msg/errore.msg'#013#010+
'#-Fr%basepath%/msg/errorn.msg'#013#010+
'#-Fr%basepath%/msg/errores.msg'#013#010+
'#-Fr%basepath%/msg/errord.msg'#013#010+
'#-Fr%basepath%','/msg/errorr.msg'#013#010+
'#-Fr%basepath%/msg/errorr.msg'#013#010+
#013#010+
'# path to the gcclib'#013#010+
'#-Fl%basepath%/lib'#013#010+
'#-Fl%basep','ath%/lib'#013#010+
#013#010+
'# searchpath for includefiles'#013#010+
'#-Fi/pp/inc;/pp/rtl/inc'#013#010+
#013#010+
'# searchpath for includefiles'#013#010+
'# release them only if you know what you do'#013#010+
'# because this could cause a rebuild of the',' runtime library'#013#010+
'# if you tell them compiler/ide to build the project (FK)'#013#010+
'# because this could cause a rebuild of the runtime library'#013#010+
'# if you tell them compiler/ide t','o build the project (FK)'#013#010+
'#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#013#010+
#013#010+
'# searchpath for objectfiles'#013#010+
'#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#013#010+
#013#010+
'#IFDEF FPCAPA','CHE_1_13'#013#010+
'-Fu%basepath%/units/$FPCTARGET/httpd-1.3/'#013#010+
'#IFDEF FPCAPACHE_1_13'#013#010+
'-Fu%basepath%/units/$FPCTARGET/httpd-1.3/',#013#010+
'#ELSE'#013#010+
'#IFDEF FPCAPACHE_2_0'#013#010+
'-Fu%basepath%/units/$FPCTARGET/httpd-2.0'#013#010+
@ -163,9 +162,9 @@ const DefaultConfig : array[0..25,1..240] of char=(
'#ENDIF'#013#010+
'#ENDIF'#013#010+
#013#010+
'# searchpath for units and other system dependent',' things'#013#010+
'# searchpath for units and other system dependent things'#013#010+
'-Fu%basepath%/units/$FPCTARGET/'#013#010+
'-Fu%basepath%/units/$FPCTARGET/*'#013#010+
'-Fu%basep','ath%/units/$FPCTARGET/*'#013#010+
'-Fu%basepath%/units/$FPCTARGET/rtl'#013#010+
#013#010+
'# searchpath for libraries'#013#010+
@ -175,8 +174,8 @@ const DefaultConfig : array[0..25,1..240] of char=(
'# searchpath for tools'#013#010+
'-FD%basepath%/bin/$FPCTARGET'#013#010+
#013#010+
'#',' binutils prefix for cross compiling'#013#010+
'#IFDEF FPC_CROSSCOMPILING'#013#010+
'# binutils prefix for cross compiling'#013#010+
'#IFDEF FPC_CR','OSSCOMPILING'#013#010+
' -XP$FPCTARGET-'#013#010+
'#ENDIF'#013#010+
#013#010+
@ -188,13 +187,13 @@ const DefaultConfig : array[0..25,1..240] of char=(
'# generate always debugging information for GDB (slows down the compil'+
'ing'#013#010+
'# process)'#013#010+
'# -gc ',' generate checks for pointers'#013#010+
'# -gd use dbx'#013#010+
'# -gc generate checks for pointers'#013#010+
'# -gd ',' use dbx'#013#010+
'# -gg use gsym'#013#010+
'# -gh use heap trace unit (for memory leak debugging)'#013#010+
'# -gl use line info unit to show more info for backtraces'#013+
#010+
'# -gv',' generates programs tracable with valgrind'#013#010+
'# -gv generates programs tracable with valgrind'#013#010,
'# -gw generate dwarf debugging info'#013#010+
'#'#013#010+
'# Enable debuginfo and use the line info unit by default'#013#010+
@ -203,12 +202,12 @@ const DefaultConfig : array[0..25,1..240] of char=(
'# always pass an option to the linker'#013#010+
'#-k-s'#013#010+
#013#010+
'# Always strip debuginf','o from the executable'#013#010+
'# Always strip debuginfo from the executable'#013#010+
'-Xs'#013#010+
#013#010+
#013#010+
'# -------------'#013#010+
'# Miscellaneous'#013#010+
'# ','Miscellaneous'#013#010+
'# -------------'#013#010+
#013#010+
'# Write always a nice FPC logo ;)'#013#010+
@ -216,21 +215,22 @@ const DefaultConfig : array[0..25,1..240] of char=(
#013#010+
'# Verbosity'#013#010+
'# e : Show errors (default) d : Show debug info'#013#010+
'# w : Show warnings u ',': Show unit info'#013#010+
'# n : Show notes t : Show tried/used files'#013#010+
'# w : Show warnings u : Show unit info'#013#010+
'# n : Show notes ',' t : Show tried/used files'#013+
#010+
'# h : Show hints m : Show defined macros'#013#010+
'# i : Show general info p : Show compiled procedures'#013+
#010+
'# l : Show linenum','bers c : Show conditionals'#013#010+
'# a : Show everything 0 : Show nothing (except errors'+
')'#013#010+
'# l : Show linenumbers c : Show conditionals'#013#010+
'# a : S','how everything 0 : Show nothing (except erro'+
'rs)'#013#010+
'# b : Show all procedure r : Rhide/GCC compatibility mod'+
'e'#013#010+
'# declarations if an error x : Executable i','nfo (Win32 on'+
'ly)'#013#010+
'# declarations if an error x : Executable info (Win32 only'+
')'#013#010+
'# occurs'#013#010+
'#'#013#010+
'# Display Info, Warnings, Notes and Hints'#013#010+
'# Display I','nfo, Warnings, Notes and Hints'#013#010+
'-viwn'#013#010+
'# If you don'#039't want so much verbosity use'#013#010+
'#-vw'#013#010

View File

@ -323,7 +323,6 @@ $CPUCROSSIFDEF2
# -So same as -Mtp
# -Sp same as -Mgpc
# -Ss constructor name must be init (destructor must be done)
# -St allow static keyword in objects
# -Sx enable exception keywords (default in Delphi/ObjFPC modes)
#
# Allow goto, inline, C-operators, C-vars

View File

@ -1,4 +1,4 @@
{ %OPT=-St -Cr }
{ %OPT=-Cr }
{ Old file: tbs0187.pp }
{ constructor in a WIth statement isn't called correct. (works at lest in the case stated) OK 0.99.11 (PM) }

View File

@ -1,5 +1,3 @@
{ %OPT=-St }
{ Old file: tbs0214.pp }
{ bugs for static methods OK 0.99.11 (PM) }

View File

@ -1,5 +1,3 @@
{ %OPT=-St }
{ Old file: tbs0215.pp }
{ more bugss with static methods OK 0.99.11 (PM) }

View File

@ -1,5 +1,4 @@
{ %FAIL }
{ %OPT=-St }
{ Source provided for Free Pascal Bug Report 2359 }
{ Submitted by "Sergey Kosarevsky" on 2003-02-06 }
{ e-mail: netsurfer@au.ru }