Mercurial > hg > truffle
comparison make/solaris/adlc_updater @ 475:284d0af00d53
6771309: debugging AD files is difficult without #line directives in generated code
Summary: more and better #line and #define directives in the generated code; ADLC itself accepts #line directives
Reviewed-by: never, kvn
author | jrose |
---|---|
date | Tue, 09 Dec 2008 12:41:26 -0800 |
parents | a294fd0c4b38 |
children | a50abfc67f31 |
comparison
equal
deleted
inserted
replaced
474:7a018855d2f0 | 475:284d0af00d53 |
---|---|
5 # paths, this file is copied to the target build directory before | 5 # paths, this file is copied to the target build directory before |
6 # use. | 6 # use. |
7 # | 7 # |
8 # adlc-updater <file> <source-dir> <target-dir> | 8 # adlc-updater <file> <source-dir> <target-dir> |
9 # | 9 # |
10 [ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \ | 10 fix_lines() { |
11 ( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) | 11 # repair bare #line directives in $1 to refer to $2 |
12 awk < $1 > $1+ ' | |
13 /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next} | |
14 {print} | |
15 ' F2=$2 | |
16 mv $1+ $1 | |
17 } | |
18 [ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \ | |
19 ( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 ) |