From 7bff50becdc67f6a5dfa10ff62f7fb82d21bb322 Mon Sep 17 00:00:00 2001 From: Jonas Maebe <jonas@freepascal.org> Date: Sat, 6 Jun 2009 12:39:09 +0000 Subject: [PATCH] * give an error message when the specified wpo feedback input file is a directory * always quote wpo feedback file name in messages git-svn-id: trunk@13242 - --- compiler/msg/errore.msg | 6 +- compiler/msgidx.inc | 2 +- compiler/msgtxt.inc | 140 ++++++++++++++++++++-------------------- compiler/wpobase.pas | 4 +- 4 files changed, 78 insertions(+), 74 deletions(-) diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg index b807069572..b4d6167dd6 100644 --- a/compiler/msg/errore.msg +++ b/compiler/msg/errore.msg @@ -2549,11 +2549,11 @@ option_dwarf_smart_linking=11046_N_DWARF debug information cannot be used with s % This section lists errors that occur when the compiler is performing % whole program optimization. % \begin{description} -wpo_cant_find_file=12000_F_Cannot open whole program optimization feedback file $1 +wpo_cant_find_file=12000_F_Cannot open whole program optimization feedback file "$1" % The compiler cannot open the specified feedback file with whole program optimization information. -wpo_begin_processing=12001_D_Processing whole program optimization information in wpo feedback file $1 +wpo_begin_processing=12001_D_Processing whole program optimization information in wpo feedback file "$1" % The compiler starts processing whole program optimization information found in the named file. -wpo_end_processing=12002_D_Finished processing the whole program optimization information in wpo feedback file $1 +wpo_end_processing=12002_D_Finished processing the whole program optimization information in wpo feedback file "$1" % The compiler has finished processing the whole program optimization information found in the named file. wpo_expected_section=12003_E_Expected section header, but got "$2" at line $1 of wpo feedback file % The compiler expected a section header in the whole program optimization file (starting with \%), diff --git a/compiler/msgidx.inc b/compiler/msgidx.inc index 6e36d4066e..28e641cbc9 100644 --- a/compiler/msgidx.inc +++ b/compiler/msgidx.inc @@ -787,7 +787,7 @@ const option_info=11024; option_help_pages=11025; - MsgTxtSize = 51070; + MsgTxtSize = 51076; MsgIdxMax : array[1..20] of longint=( 24,87,251,88,65,50,108,22,202,62, diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index 470614fd03..7def596391 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -861,51 +861,51 @@ const msgtxt : array[0..000212,1..240] of char=( ' target platform'#000+ '11046_N_DWARF debug informatio','n cannot be used with smart linking on'+ ' this target, switching to static linking'#000+ - '12000_F_Cannot open whole program optimization feedback file $1'#000+ + '12000_F_Cannot open whole program optimization feedback file "$1"'#000+ '12001_D_Processing whole program optimization information in wpo feedb'+ - 'ack file $1'#000+ - '12002_D_Finish','ed processing the whole program optimization informati'+ - 'on in wpo feedback file $1'#000+ + 'ack file "$1"'#000+ + '12002_D_Fi','nished processing the whole program optimization informati'+ + 'on in wpo feedback file "$1"'#000+ '12003_E_Expected section header, but got "$2" at line $1 of wpo feedba'+ 'ck file'#000+ '12004_W_No handler registered for whole program optimization section "'+ - '$2" at line',' $1 of wpo feedback file, ignoring'#000+ + '$2" a','t line $1 of wpo feedback file, ignoring'#000+ '12005_D_Found whole program optimization section "$1" with information'+ ' about "$2"'#000+ '12006_F_The selected whole program optimizations require a previously '+ 'generated feedback file (use -Fw to specify)'#000+ - '12007_E_','No collected information necessary to perform "$1" whole pro'+ + '12','007_E_No collected information necessary to perform "$1" whole pro'+ 'gram optimization found'#000+ '12008_F_Specify a whole program optimization feedback file to store th'+ 'e generated info in (using -FW)'#000+ - '12009_E_Not generating any whole program optimization ','information, y'+ + '12009_E_Not generating any whole program optimiz','ation information, y'+ 'et a feedback file was specified (using -FW)'#000+ '12010_E_Not performing any whole program optimizations, yet an input f'+ 'eedback file was specified (using -Fw)'#000+ - '12011_D_Skipping whole program optimization section "$1", because not '+ - 'ne','eded by the requested optimizations'#000+ + '12011_D_Skipping whole program optimization section "$1", because ','no'+ + 't needed by the requested optimizations'#000+ '12012_W_Overriding previously read information for "$1" from feedback '+ 'input file using information in section "$2"'#000+ '12013_E_Cannot extract symbol liveness information from program when s'+ - 'tripping symbols, u','se -Xs-'#000+ + 'tripping symb','ols, use -Xs-'#000+ '12014_E_Cannot extract symbol liveness information from program when w'+ 'hen not linking'#000+ '12015_F_Cannot find "$1" or "$2" to extract symbol liveness informatio'+ 'n from linked program'#000+ - '12016_E_Error during reading symbol liveness informati','on produced by'+ + '12016_E_Error during reading symbol liveness inf','ormation produced by'+ ' "$1"'#000+ '12017_F_Error executing "$1" (exitcode: $2) to extract symbol informat'+ 'ion from linked program'#000+ '12018_E_Collection of symbol liveness information can only help when u'+ 'sing smart linking, use -CX -XX'#000+ - '12019_E_Cannot create sp','ecified whole program optimisation feedback '+ + '12019_E_Cannot cre','ate specified whole program optimisation feedback '+ 'file "$1"'#000+ '11023_Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPC'+ 'CPU'#010+ 'Copyright (c) 1993-2009 by Florian Klaempfl'#000+ '11024_Free Pascal Compiler version $FPCVERSION'#010+ #010+ - 'Compiler Date :',' $FPCDATE'#010+ + 'Compiler Date ',' : $FPCDATE'#010+ 'Compiler CPU Target: $FPCCPU'#010+ #010+ 'Supported targets:'#010+ @@ -920,7 +920,7 @@ const msgtxt : array[0..000212,1..240] of char=( 'Supported ABI targets:'#010+ ' $ABITARGETS'#010+ #010+ - 'Supported Optimization','s:'#010+ + 'Supported Optimi','zations:'#010+ ' $OPTIMIZATIONS'#010+ #010+ 'Supported Whole Program Optimizations:'#010+ @@ -932,38 +932,38 @@ const msgtxt : array[0..000212,1..240] of char=( #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+ + #010, + 'Report bugs, suggestions, etc. to:'#010+ ' http://bugs.freepascal.org'#010+ 'or'#010+ ' bugs@freepascal.org'#000+ '11025_**0*_Put + after a boolean switch option to enable it, - to disa'+ 'ble it'#010+ - '**1a_The compiler doesn'#039't delete the generated ass','embler file'#010+ + '**1a_The compiler doesn'#039't delete the generat','ed assembler file'#010+ '**2al_List sourcecode lines in assembler file'#010+ '**2an_List node info in assembler file'#010+ '*L2ap_Use pipes instead of creating temporary assembler files'#010+ '**2ar_List register allocation/release info in assembler file'#010+ - '**2at_List temp all','ocation/release info in assembler file'#010+ + '**2at_List te','mp allocation/release info in assembler file'#010+ '**1A<x>_Output format:'#010+ '**2Adefault_Use default assembler'#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*2Anasmwin32_Win32 object fil','e using Nasm'#010+ + '3*2Anasmwin32_Win32 obje','ct file using Nasm'#010+ '3*2Anasmwdosx_Win32/WDOSX object file using Nasm'#010+ '3*2Awasm_Obj file using Wasm (Watcom)'#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*2Aelf_ELF (Linux) using in','ternal writer'#010+ + '3*2Aelf_ELF (Linux) us','ing internal writer'#010+ '3*2Acoff_COFF (Go32v2) using internal writer'#010+ '3*2Apecoff_PE-COFF (Win32) using internal writer'#010+ '4*2Aas_Assemble using GNU AS'#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_Sta','ndard Motorola assembler'#010+ + '6*2Am','ot_Standard Motorola assembler'#010+ 'A*2Aas_Assemble using GNU AS'#010+ 'P*2Aas_Assemble using GNU AS'#010+ 'S*2Aas_Assemble using GNU AS'#010+ @@ -971,30 +971,30 @@ const msgtxt : array[0..000212,1..240] of char=( '**2bl_Generate local symbol info'#010+ '**1B_Build all modules'#010+ '**1C<x>_Code generation options:'#010+ - '**2Ca<x>_Sel','ect ABI, see fpc -i for possible values'#010+ + '**2Ca<','x>_Select ABI, see fpc -i for possible values'#010+ '**2Cb_Generate big-endian code'#010+ '**2Cc<x>_Set default calling convention to <x>'#010+ '**2CD_Create also dynamic library (not supported)'#010+ '**2Ce_Compilation with emulated floating point opcodes'#010+ - '**2Cf<x>_Select f','pu instruction set to use, see fpc -i for possible '+ + '**2Cf<x>_Se','lect fpu instruction set to use, see fpc -i for possible '+ 'values'#010+ '**2CF<x>_Minimal floating point constant precision (default, 32, 64)'#010+ '**2Cg_Generate PIC code'#010+ '**2Ch<n>_<n> bytes heap (between 1023 and 67107840)'#010+ '**2Ci_IO-checking'#010+ - '**2Cn_Omit linking ','stage'#010+ + '**2Cn_Omit li','nking stage'#010+ '**2Co_Check overflow of integer operations'#010+ '**2CO_Check for possible overflow of integer operations'#010+ '**2Cp<x>_Select instruction set, see fpc -i for possible values'#010+ '**2CP<x>=<y>_ packing settings'#010+ - '**3CPPACKSET=<y>_ <y> set allocation: 0,',' 1 or DEFAULT or NORMAL, 2, '+ + '**3CPPACKSET=<y>_ <y> set allocati','on: 0, 1 or DEFAULT or NORMAL, 2, '+ '4 and 8'#010+ '**2Cr_Range checking'#010+ '**2CR_Verify object method call validity'#010+ '**2Cs<n>_Set stack checking size to <n>'#010+ '**2Ct_Stack checking (for testing only, see manual)'#010+ '**2CX_Create also smartlinked library'#010+ - '**1d<x>_Defi','nes the symbol <x>'#010+ + '**1d<x','>_Defines the symbol <x>'#010+ '**1D_Generate a DEF file'#010+ '**2Dd<x>_Set description to <x>'#010+ '**2Dv<x>_Set DLL version to <x>'#010+ @@ -1003,46 +1003,46 @@ const msgtxt : array[0..000212,1..240] of char=( '**1E_Same as -Cn'#010+ '**1fPIC_Same as -Cg'#010+ '**1F<x>_Set file names and paths:'#010+ - '**2Fa<x>[',',y]_(for a program) load units <x> and [y] before uses is p'+ + '**2','Fa<x>[,y]_(for a program) load units <x> and [y] before uses is p'+ 'arsed'#010+ '**2Fc<x>_Set input codepage to <x>'#010+ '**2FC<x>_Set RC compiler binary name to <x>'#010+ '**2FD<x>_Set the directory where to search for compiler utilities'#010+ - '**2Fe<x>_Redirect error output',' to <x>'#010+ + '**2Fe<x>_Redirect error ','output to <x>'#010+ '**2Ff<x>_Add <x> to framework path (Darwin only)'#010+ '**2FE<x>_Set exe/unit output path to <x>'#010+ '**2Fi<x>_Add <x> to include path'#010+ '**2Fl<x>_Add <x> to library path'#010+ '**2FL<x>_Use <x> as dynamic linker'#010+ - '**2Fm<x>_Load unicode conversion table fr','om <x>.txt in the compiler '+ + '**2Fm<x>_Load unicode conversion ta','ble from <x>.txt in the compiler '+ 'dir'#010+ '**2Fo<x>_Add <x> to object path'#010+ '**2Fr<x>_Load error message file <x>'#010+ '**2FR<x>_Set resource (.res) linker to <x>'#010+ '**2Fu<x>_Add <x> to unit path'#010+ '**2FU<x>_Set unit output path to <x>, overrides -FE'#010+ - '**2FW<x>_Store ','generated whole-program optimization feedback in <x>'#010+ + '**2FW<x>_','Store generated whole-program optimization feedback in <x>'#010+ '**2Fw<x>_Load previously stored whole-program optimization feedback fr'+ 'om <x>'#010+ '*g1g_Generate debug information (default format for target)'#010+ '*g2gc_Generate checks for pointers'#010+ - '*g2gh_Use heapt','race unit (for memory leak/corruption debugging)'#010+ + '*g2gh_Use',' heaptrace unit (for memory leak/corruption debugging)'#010+ '*g2gl_Use line info unit (show more info with backtraces)'#010+ '*g2go<x>_Set debug information options'#010+ '*g3godwarfsets_ Enable Dwarf set debug information (breaks gdb < 6.5)'#010+ - '*g2gp_Preserve case in s','tabs symbol names'#010+ + '*g2gp_Preserve cas','e in stabs symbol names'#010+ '*g2gs_Generate stabs debug information'#010+ '*g2gt_Trash local variables (to detect uninitialized uses)'#010+ '*g2gv_Generates programs traceable with valgrind'#010+ '*g2gw_Generate dwarf-2 debug information (same as -gw2)'#010+ - '*g2gw2_Generate dwa','rf-2 debug information'#010+ + '*g2gw2_Genera','te dwarf-2 debug information'#010+ '*g2gw3_Generate dwarf-3 debug information'#010+ '**1i_Information'#010+ '**2iD_Return compiler date'#010+ '**2iV_Return short compiler version'#010+ '**2iW_Return full compiler version'#010+ '**2iSO_Return compiler OS'#010+ - '**2iSP_Return compiler host proces','sor'#010+ + '**2iSP_Return compiler host ','processor'#010+ '**2iTO_Return target OS'#010+ '**2iTP_Return target processor'#010+ '**1I<x>_Add <x> to include path'#010+ @@ -1050,65 +1050,65 @@ const msgtxt : array[0..000212,1..240] of char=( '**1l_Write logo'#010+ '**1M<x>_Set language mode to <x>'#010+ '**2Mfpc_Free Pascal dialect (default)'#010+ - '**2Mobjfpc_FPC mode with Object',' Pascal support'#010+ + '**2Mobjfpc_FPC mode with ','Object Pascal support'#010+ '**2Mdelphi_Delphi 7 compatibility mode'#010+ '**2Mtp_TP/BP 7.0 compatibility mode'#010+ '**2Mmacpas_Macintosh Pascal dialects compatibility mode'#010+ '**1n_Do not read the default config files'#010+ '**1N<x>_Node tree optimizations'#010+ - '**2Nu_Unroll loops'#010, + '**2Nu_Unroll ','loops'#010+ '**1o<x>_Change the name of the executable produced to <x>'#010+ '**1O<x>_Optimizations:'#010+ '**2O-_Disable optimizations'#010+ '**2O1_Level 1 optimizations (quick and debugger friendly)'#010+ '**2O2_Level 2 optimizations (-O1 + quick optimizations)'#010+ - '**2O3_Level 3 opt','imizations (-O2 + slow optimizations)'#010+ + '**2O3_Level',' 3 optimizations (-O2 + slow optimizations)'#010+ '**2Oa<x>=<y>_Set alignment'#010+ '**2Oo[NO]<x>_Enable or disable optimizations, see fpc -i for possible '+ 'values'#010+ '**2Op<x>_Set target cpu for optimizing, see fpc -i for possible values'+ #010+ - '**2OW<x>_Generate whole-pro','gram optimization feedback for optimizati'+ + '**2OW<x>_Generate who','le-program optimization feedback for optimizati'+ 'on <x>, see fpc -i for possible values'#010+ '**2Ow<x>_Perform whole-program optimization <x>, see fpc -i for possib'+ 'le values'#010+ '**2Os_Optimize for size rather than speed'#010+ - '**1pg_Generate profile code for gprof ','(defines FPC_PROFILE)'#010+ + '**1pg_Generate profile code for ','gprof (defines FPC_PROFILE)'#010+ '**1R<x>_Assembler reading style:'#010+ '**2Rdefault_Use default assembler for target'#010+ '3*2Ratt_Read AT&T style assembler'#010+ '3*2Rintel_Read Intel style assembler'#010+ '6*2RMOT_Read motorola style assembler'#010+ '**1S<x>_Syntax options:'#010+ - '**2S2_S','ame as -Mobjfpc'#010+ + '*','*2S2_Same as -Mobjfpc'#010+ '**2Sc_Support operators like C (*=,+=,/= and -=)'#010+ '**2Sa_Turn on assertions'#010+ '**2Sd_Same as -Mdelphi'#010+ '**2Se<x>_Error options. <x> is a combination of the following:'#010+ - '**3*_<n> : Compiler halts after the <n> errors (default is 1)'#010+ - '**','3*_w : Compiler also halts after warnings'#010+ + '**3*_<n> : Compiler halts after the <n> errors (default is',' 1)'#010+ + '**3*_w : Compiler also halts after warnings'#010+ '**3*_n : Compiler also halts after notes'#010+ '**3*_h : Compiler also halts after hints'#010+ '**2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)'#010+ - '**2Sh_Use ansistrings by default instead of shortstrings'#010, + '**2Sh_Use ansistrings by default instead of shortst','rings'#010+ '**2Si_Turn on inlining of procedures/functions declared as "inline"'#010+ '**2Sk_Load fpcylix unit'#010+ '**2SI<x>_Set interface style to <x>'#010+ '**3SIcom_COM compatible interface (default)'#010+ '**3SIcorba_CORBA compatible interface'#010+ - '**2Sm_Support macros like C (g','lobal)'#010+ + '**2Sm_Support macros lik','e 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+ - '**2sh_Gener','ate script to link on host'#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 (including EMX/RSX extender)'#010+ '3*2Tfreebsd_FreeBSD'#010+ - '3*2Tgo32v2_Versio','n 2 of DJ Delorie DOS extender'#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+ @@ -1116,7 +1116,7 @@ const msgtxt : array[0..000212,1..240] of char=( '3*2Topenbsd_OpenBSD'#010+ '3*2Tos2_OS/2 / eComStation'#010+ '3*2Tsunos_SunOS/Solaris'#010+ - '3*2Tsymbian_Symbian O','S'#010+ + '3*2Tsymbian_Sym','bian OS'#010+ '3*2Twatcom_Watcom compatible DOS extender'#010+ '3*2Twdosx_WDOSX DOS extender'#010+ '3*2Twin32_Windows 32 Bit'#010+ @@ -1125,7 +1125,7 @@ const msgtxt : array[0..000212,1..240] of char=( '6*2Tamiga_Commodore Amiga'#010+ '6*2Tatari_Atari ST/STe/TT'#010+ '6*2Tlinux_Linux/m68k'#010+ - '6*2Tmacos_Macintosh m68k (not su','pported)'#010+ + '6*2Tmacos_Macintosh m68k (','not supported)'#010+ '6*2Tpalmos_PalmOS'#010+ 'A*2Tlinux_Linux'#010+ 'A*2Twince_Windows CE'#010+ @@ -1134,80 +1134,82 @@ const msgtxt : array[0..000212,1..240] of char=( 'P*2Tlinux_Linux on PowerPC'#010+ 'P*2Tmacos_Mac OS (classic) on PowerPC'#010+ 'P*2Tmorphos_MorphOS'#010+ - 'S*2Tlinux_Linux'#010+ - '**1u','<x>_Undefines the symbol <x>'#010+ + 'S*2Tlinux_Linu','x'#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_Compile a system unit'#010+ - '**1v<x>_Be verbose. <x> is a combina','tion of the following letters:'#010+ + '**1v<x>_Be verbose. <x> is a c','ombination 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*_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*_a : Show everything x : Executable info (Win32 only)'#010+ - '**2*','_b : Write file names messages with full path'#010+ + '**2*_a : Show everything x : Executable info (Win32 only',')'+ + #010+ + '**2*_b : Write file names messages with full path'#010+ '**2*_v : Write fpcdebug.txt with p : Write tree.log with parse tre'+ 'e'#010+ '**2*_ lots of debugging info q : Show message numbers'#010+ - '**2*_m<x>,<y> : Don'#039't show messages numbered <x> and <y>'#010+ - '3*1','W<x>_Target-specific options (targets)'#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+ '3*2Wb_Create a bundle instead of a library (Darwin)'#010+ - 'P*2Wb_Create a bundle i','nstead of a library (Darwin)'#010+ + 'P*2Wb_Create a bu','ndle instead of a library (Darwin)'#010+ 'p*2Wb_Create a bundle instead of a library (Darwin)'#010+ '3*2WB_Create a relocatable image (Windows)'#010+ 'A*2WB_Create a relocatable image (Windows, Symbian)'#010+ - '3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+ - 'A*2W','C_Specify console type application (Windows)'#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*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 exter','nal resources (Darwin)'#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*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+ - 'A*2WG_Specify graphic type',' application (Windows)'#010+ + 'A*2WG_Specify graphi','c type application (Windows)'#010+ 'P*2WG_Specify graphic type application (Classic Mac OS)'#010+ '3*2Wi_Use internal resources (Darwin)'#010+ 'P*2Wi_Use internal resources (Darwin)'#010+ 'p*2Wi_Use internal resources (Darwin)'#010+ - '3*2WN_Do not generate relocation code, needed f','or debugging (Windows'+ + '3*2WN_Do not generate relocation code, ne','eded for debugging (Windows'+ ')'#010+ 'A*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+ '3*2WR_Generate relocation code (Windows)'#010+ 'A*2WR_Generate relocation code (Windows)'#010+ 'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+ - '3*2WX_En','able executable stack (Linux)'#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+ '**1X_Executable options:'#010+ - '**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Lin'+ - 'u','x)'#010+ + '**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD',', L'+ + 'inux)'#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 section '+ 'to executable'#010+ - '**2XD_Try to link units dynamically (defines FPC_','LINK_DYNAMIC)'#010+ + '**2XD_Try to link units dynamically (define','s FPC_LINK_DYNAMIC)'#010+ '**2Xi_Use internal linker'#010+ '**2Xm_Generate link map'#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 library search path to <x> (needed ','for cross compile) ('+ + '**2Xr<x>_Set library search path to <x> (n','eeded for cross compile) ('+ 'BeOS, Linux)'#010+ '**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD'+ ', 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+ + '**2XS_Try to link units statically (default, defines FPC_LINK_STA','TIC'+ + ')'#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+ diff --git a/compiler/wpobase.pas b/compiler/wpobase.pas index 1ed64f6011..787bb15aba 100644 --- a/compiler/wpobase.pas +++ b/compiler/wpobase.pas @@ -446,7 +446,9 @@ implementation constructor twpofilereader.create(const fn: tcmdstr; dest: twpoinfomanagerbase); begin - if not FileExists(fn) then + if not FileExists(fn) or + { FileExists also returns true for directories } + DirectoryExists(fn) then begin cgmessage1(wpo_cant_find_file,fn); exit;