diff options
Diffstat (limited to 'tool')
-rwxr-xr-x | tool/gen_dummy_probes.rb | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/tool/gen_dummy_probes.rb b/tool/gen_dummy_probes.rb index 91191f1918..c19f9d53cd 100755 --- a/tool/gen_dummy_probes.rb +++ b/tool/gen_dummy_probes.rb @@ -5,24 +5,22 @@ text = ARGF.read text.gsub!(/^(?!#)(.*)/){$1.upcase} # remove comments -text.gsub!(%r'/\*.*?\*/'m, '') +text.gsub!(%r'(?:^ *)?/\*.*?\*/\n?'m, '') # remove the pragma declarations -text.gsub!(/^#pragma.*$/, '') +text.gsub!(/^#pragma.*\n/, '') # replace the provider section with the start of the header file text.gsub!(/PROVIDER RUBY \{/, "#ifndef\t_PROBES_H\n#define\t_PROBES_H\n#define DTRACE_PROBES_DISABLED 1\n") # finish up the #ifndef sandwich -text.gsub!(/\};/, "#endif\t/* _PROBES_H */") +text.gsub!(/\};/, "\n#endif\t/* _PROBES_H */") text.gsub!(/__/, '_') -text.gsub!(/\([^,)]+\)/, '(arg0)') -text.gsub!(/\([^,)]+,[^,)]+\)/, '(arg0, arg1)') -text.gsub!(/\([^,)]+,[^,)]+,[^,)]+\)/, '(arg0, arg1, arg2)') -text.gsub!(/\([^,)]+,[^,)]+,[^,)]+,[^,)]+\)/, '(arg0, arg1, arg2, arg3)') -text.gsub!(/\([^,)]+,[^,)]+,[^,)]+,[^,)]+,[^,)]+\)/, '(arg0, arg1, arg2, arg3, arg4)') +text.gsub!(/\((.+?)(?=\);)/) { + "(arg" << (0..$1.count(',')).to_a.join(", arg") +} text.gsub!(/ *PROBE ([^\(]*)(\([^\)]*\));/, "#define RUBY_DTRACE_\\1_ENABLED() 0\n#define RUBY_DTRACE_\\1\\2\ do \{ \} while\(0\)") puts "/* -*- c -*- */" |