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 <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/47301
Reviewed-by: Jason Lowe-Power <[email protected]>
Maintainer: Jason Lowe-Power <[email protected]>
Tested-by: kokoro <[email protected]>
---
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 <sys/types.h>
 #include <unistd.h>
@@ -1220,7 +1212,6 @@
             outputRequest_types = False

         code('''
-// Auto generated C++ code started by $__file__:$__line__
 // ${ident}: ${{self.short}}

 #include <sys/types.h>
@@ -1343,7 +1334,6 @@
         ident = self.ident

         code('''
-// Auto generated C++ code started by $__file__:$__line__
 // ${ident}: ${{self.short}}

 #include <cassert>
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 <iostream>
 #include <memory>

@@ -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 <cassert>
 #include <iostream>
 #include <string>
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 NOT EDIT THIS FILE!
+ * File automatically generated by
+ *   {frame.f_code.co_filename}:{frame.f_lineno}
+ */
+
+''')
+        elif re.match('\.py', extension) is not None:
+            f.write(f'''#
+# DO NOT EDIT THIS FILE!
+# File automatically generated by
+#   {frame.f_code.co_filename}:{frame.f_lineno}
+#
+
+''')
+        elif re.match('\.html', extension) is not None:
+            f.write(f'''<!--
+ DO NOT EDIT THIS FILE!
+ File automatically generated by
+   {frame.f_code.co_filename}:{frame.f_lineno}
+-->
+
+''')
+
         for data in self._data:
             f.write(data)
         f.close()

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/47301
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: If09b6f848e607fb21a0acf2114ce0b9b0aa4751f
Gerrit-Change-Number: 47301
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to