浏览代码

+ -vb: writes compiler messages with full path instead of the file name only

git-svn-id: trunk@1114 -
florian 20 年之前
父节点
当前提交
1908ba2206
共有 5 个文件被更改,包括 29 次插入16 次删除
  1. 6 1
      compiler/comphook.pas
  2. 1 0
      compiler/msg/errore.msg
  3. 1 1
      compiler/msgidx.inc
  4. 15 14
      compiler/msgtxt.inc
  5. 6 0
      compiler/verbose.pas

+ 6 - 1
compiler/comphook.pas

@@ -91,6 +91,7 @@ type
     use_redir,
     use_bugreport,
     use_gccoutput,
+    print_source_path,
     compiling_current : boolean;
   { Redirection support }
     redirfile : text;
@@ -297,8 +298,12 @@ begin
           hs:=gccfilename(status.currentsource)+':'+tostr(status.currentline)+': '+hs+' '+
               tostr(status.currentcolumn)+': '+s
         else
-          hs:=status.currentsource+'('+tostr(status.currentline)+
+          begin
+            hs:=status.currentsource+'('+tostr(status.currentline)+
               ','+tostr(status.currentcolumn)+') '+hs+' '+s;
+            if status.print_source_path then
+              hs:=status.currentsourcepath+hs;
+          end;
       end
      else
       begin

+ 1 - 0
compiler/msg/errore.msg

@@ -2361,6 +2361,7 @@ S*2Tlinux_Linux
 **2*_i : Show general info           d : Show debug info
 **2*_l : Show linenumbers            r : Rhide/GCC compatibility mode
 **2*_a : Show everything             x : Executable info (Win32 only)
+**2*_b : Write file names messages with full path
 **2*_v : write fpcdebug.txt with     p : Write tree.log with parse tree
 **2*_    lots of debugging info
 3*1W<x>_Win32-like target options

+ 1 - 1
compiler/msgidx.inc

@@ -660,7 +660,7 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 39054;
+  MsgTxtSize = 39104;
 
   MsgIdxMax : array[1..20] of longint=(
     19,73,215,59,59,47,100,20,135,60,

+ 15 - 14
compiler/msgtxt.inc

@@ -919,34 +919,35 @@ const msgtxt : array[0..000162,1..240] of char=(
   '**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*_v : write fpcd','ebug.txt with     p : Write tree.log with parse t'+
-  'ree'#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'#010+
   '3*1W<x>_Win32-like target options'#010+
   '3*2WB_Create a relocatable image'#010+
-  '3*2WB<x>_Set Image base to Hexadecimal <x> value'#010+
-  '3*2WC_Specify console type application'#010,
+  '3*2WB<x>_Set Image base to Hexadecimal',' <x> 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 generate relocation code (necessary for debugging)'#010+
-  '3*2WR_Generate relocation code',#010+
+  '3*2WN_Do not generate relocation code (neces','sary for debugging)'#010+
+  '3*2WR_Generate relocation code'#010+
   'P*2WC_Specify console type application (MacOS only)'#010+
   'P*2WG_Specify graphic type application (MacOS only)'#010+
   'P*2WT_Specify tool type application (MPW tool, MacOS only)'#010+
   '**1X_executable options:'#010+
-  '**2Xc_pass --shared to the linker (Unix only)'#010+
-  '**2Xd','_don'#039't use standard library search path (needed for cross c'+
-  'ompile)'#010+
+  '*','*2Xc_pass --shared to the linker (Unix only)'#010+
+  '**2Xd_don'#039't use standard library search path (needed for cross com'+
+  'pile)'#010+
   '**2XD_try to link units dynamic          (defines FPC_LINK_DYNAMIC)'#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+
+  '**2XM<x>_set the name of the '#039'm','ain'#039' program routine (default'+
+  ' is '#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)'#010+
   '**2Xs_strip all symbols from executable'#010+
-  '**2XS_try to link units static (default) (defines FPC_LINK_STATIC)'#010+
-  '**2Xt_link with sta','tic libraries (-static is passed to linker)'#010+
+  '**2XS_try to link units static (defa','ult) (defines FPC_LINK_STATIC)'#010+
+  '**2Xt_link with static libraries (-static is passed to linker)'#010+
   '**2XX_try to link units smart            (defines FPC_LINK_SMART)'#010+
   '**1*_'#010+
   '**1?_shows this help'#010+

+ 6 - 0
compiler/verbose.pas

@@ -205,6 +205,12 @@ var
                 case c of
                 { Special cases }
                  'A' : status.verbosity:=V_All;
+                 'B' : begin
+                          if inverse then
+                            status.print_source_path:=false
+                          else
+                            status.print_source_path:=true;
+                       end;
                  '0' : status.verbosity:=V_Default;
                  'P' : begin
                          if inverse then