[gem5-dev] Change in gem5/gem5[develop]: python,scons,mem-ruby: Tag origin of generated files
Daniel Carvalho has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/47301 ) Change subject: python,scons,mem-ruby: Tag origin of generated files .. python,scons,mem-ruby: Tag origin of generated files This will make it easier to backtrack and modify such files when needed. Change-Id: If09b6f848e607fb21a0acf2114ce0b9b0aa4751f Signed-off-by: Daniel R. Carvalho Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/47301 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- M src/SConscript M src/mem/slicc/symbols/StateMachine.py M src/mem/slicc/symbols/SymbolTable.py M src/mem/slicc/symbols/Type.py M src/python/m5/util/code_formatter.py 5 files changed, 32 insertions(+), 42 deletions(-) Approvals: Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved kokoro: Regressions pass diff --git a/src/SConscript b/src/SConscript index 08cfeee..804160b 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1149,10 +1149,6 @@ # file header code(''' -/* - * DO NOT EDIT THIS FILE! Automatically generated by SCons. - */ - #include "base/debug.hh" namespace Debug { @@ -1206,10 +1202,6 @@ # file header boilerplate code('''\ -/* - * DO NOT EDIT THIS FILE! Automatically generated by SCons. - */ - #ifndef __DEBUG_${name}_HH__ #define __DEBUG_${name}_HH__ diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index 0c4651d..42b5553 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -272,11 +272,7 @@ c_ident = "%s_Controller" % self.ident code(''' -/** \\file $c_ident.hh - * - * Auto generated C++ code started by $__file__:$__line__ - * Created by slicc definition of Module "${{self.short}}" - */ +// Created by slicc definition of Module "${{self.short}}" #ifndef __${ident}_CONTROLLER_HH__ #define __${ident}_CONTROLLER_HH__ @@ -492,11 +488,7 @@ ''' code(''' -/** \\file $c_ident.cc - * - * Auto generated C++ code started by $__file__:$__line__ - * Created by slicc definition of Module "${{self.short}}" - */ +// Created by slicc definition of Module "${{self.short}}" #include #include @@ -1220,7 +1212,6 @@ outputRequest_types = False code(''' -// Auto generated C++ code started by $__file__:$__line__ // ${ident}: ${{self.short}} #include @@ -1343,7 +1334,6 @@ ident = self.ident code(''' -// Auto generated C++ code started by $__file__:$__line__ // ${ident}: ${{self.short}} #include diff --git a/src/mem/slicc/symbols/SymbolTable.py b/src/mem/slicc/symbols/SymbolTable.py index e4fc0a3..fb01b01 100644 --- a/src/mem/slicc/symbols/SymbolTable.py +++ b/src/mem/slicc/symbols/SymbolTable.py @@ -126,7 +126,6 @@ makeDir(path) code = self.codeFormatter() -code('/** Auto generated C++ code started by $__file__:$__line__ */') for include_path in includes: code('#include "${{include_path}}"') diff --git a/src/mem/slicc/symbols/Type.py b/src/mem/slicc/symbols/Type.py index a1ca200..c6013f8 100644 --- a/src/mem/slicc/symbols/Type.py +++ b/src/mem/slicc/symbols/Type.py @@ -204,12 +204,6 @@ def printTypeHH(self, path): code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.hh - * - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #ifndef __${{self.c_ident}}_HH__ #define __${{self.c_ident}}_HH__ @@ -404,11 +398,6 @@ code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.cc - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #include #include @@ -449,11 +438,6 @@ def printEnumHH(self, path): code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.hh - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #ifndef __${{self.c_ident}}_HH__ #define __${{self.c_ident}}_HH__ @@ -555,11 +539,6 @@ def printEnumCC(self, path): code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.hh - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #include #include #include diff --git a/src/python/m5/util/code_formatter.py b/src/python/m5/util/code_formatter.py index 0ca8c98..374e8cc 100644 --- a/src/python/m5/util/code_formatter.py +++ b/src/python/m5/util/code_formatter.py @@ -154,6 +154,36 @@ def write(self, *args): f = open(os.path.join(*args), "w") +name, extension = os.path.splitext(f.name) + +# Add a comment to inform which file generated the generated file +# to make it easier to backtrack and modify generated code +frame = inspect.currentframe().f_back +if re.match('\.(cc|hh|c|h)', extension) is not None: +f.write(f'''/** + * DO
[gem5-dev] Change in gem5/gem5[develop]: python,scons,mem-ruby: Tag origin of generated files
Daniel Carvalho has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/47301 ) Change subject: python,scons,mem-ruby: Tag origin of generated files .. python,scons,mem-ruby: Tag origin of generated files This will make it easier to backtrack and modify such files when needed. Change-Id: If09b6f848e607fb21a0acf2114ce0b9b0aa4751f Signed-off-by: Daniel R. Carvalho --- M src/SConscript M src/mem/slicc/symbols/StateMachine.py M src/mem/slicc/symbols/SymbolTable.py M src/mem/slicc/symbols/Type.py M src/python/m5/util/code_formatter.py 5 files changed, 32 insertions(+), 42 deletions(-) diff --git a/src/SConscript b/src/SConscript index 08cfeee..804160b 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1149,10 +1149,6 @@ # file header code(''' -/* - * DO NOT EDIT THIS FILE! Automatically generated by SCons. - */ - #include "base/debug.hh" namespace Debug { @@ -1206,10 +1202,6 @@ # file header boilerplate code('''\ -/* - * DO NOT EDIT THIS FILE! Automatically generated by SCons. - */ - #ifndef __DEBUG_${name}_HH__ #define __DEBUG_${name}_HH__ diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index 0c4651d..42b5553 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -272,11 +272,7 @@ c_ident = "%s_Controller" % self.ident code(''' -/** \\file $c_ident.hh - * - * Auto generated C++ code started by $__file__:$__line__ - * Created by slicc definition of Module "${{self.short}}" - */ +// Created by slicc definition of Module "${{self.short}}" #ifndef __${ident}_CONTROLLER_HH__ #define __${ident}_CONTROLLER_HH__ @@ -492,11 +488,7 @@ ''' code(''' -/** \\file $c_ident.cc - * - * Auto generated C++ code started by $__file__:$__line__ - * Created by slicc definition of Module "${{self.short}}" - */ +// Created by slicc definition of Module "${{self.short}}" #include #include @@ -1220,7 +1212,6 @@ outputRequest_types = False code(''' -// Auto generated C++ code started by $__file__:$__line__ // ${ident}: ${{self.short}} #include @@ -1343,7 +1334,6 @@ ident = self.ident code(''' -// Auto generated C++ code started by $__file__:$__line__ // ${ident}: ${{self.short}} #include diff --git a/src/mem/slicc/symbols/SymbolTable.py b/src/mem/slicc/symbols/SymbolTable.py index e4fc0a3..fb01b01 100644 --- a/src/mem/slicc/symbols/SymbolTable.py +++ b/src/mem/slicc/symbols/SymbolTable.py @@ -126,7 +126,6 @@ makeDir(path) code = self.codeFormatter() -code('/** Auto generated C++ code started by $__file__:$__line__ */') for include_path in includes: code('#include "${{include_path}}"') diff --git a/src/mem/slicc/symbols/Type.py b/src/mem/slicc/symbols/Type.py index a1ca200..c6013f8 100644 --- a/src/mem/slicc/symbols/Type.py +++ b/src/mem/slicc/symbols/Type.py @@ -204,12 +204,6 @@ def printTypeHH(self, path): code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.hh - * - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #ifndef __${{self.c_ident}}_HH__ #define __${{self.c_ident}}_HH__ @@ -404,11 +398,6 @@ code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.cc - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #include #include @@ -449,11 +438,6 @@ def printEnumHH(self, path): code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.hh - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #ifndef __${{self.c_ident}}_HH__ #define __${{self.c_ident}}_HH__ @@ -555,11 +539,6 @@ def printEnumCC(self, path): code = self.symtab.codeFormatter() code(''' -/** \\file ${{self.c_ident}}.hh - * - * Auto generated C++ code started by $__file__:$__line__ - */ - #include #include #include diff --git a/src/python/m5/util/code_formatter.py b/src/python/m5/util/code_formatter.py index 0ca8c98..8d726d2 100644 --- a/src/python/m5/util/code_formatter.py +++ b/src/python/m5/util/code_formatter.py @@ -154,6 +154,36 @@ def write(self, *args): f = open(os.path.join(*args), "w") +name, extension = os.path.splitext(f.name) + +# Add a comment to inform which file generated the generated file +# to make it easier to backtrack and modify generated code +frame = inspect.currentframe().f_back +if re.match('\.(cc|hh|c|h)', extension) is not None: +f.write('''/** + * DO NOT EDIT THIS FILE! + * File automatically generated by + * %s:%s + */ + +''' % (frame.f_code.co_filename, frame.f_lineno)) +elif re.match('\.py', extension) is not None: +f.write('''# +# DO NOT EDIT THIS FILE! +# File automatically