Daily bump.
[gcc.git] / contrib / update-copyright.py
old mode 100644 (file)
new mode 100755 (executable)
index f7b522a..bc65208
@@ -1,6 +1,6 @@
 #!/usr/bin/python
 #
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2013-2020 Free Software Foundation, Inc.
 #
 # This script is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # output has been vetted.  You can instead pass the names of individual
 # directories, including those that haven't been approved.  So:
 #
-#    update-copyright.pl --this-year
+#    update-copyright.py --this-year
 #
 # is the command that would be used at the beginning of a year to update
 # all copyright notices (and possibly at other times to check whether
 # new files have been added with old years).  On the other hand:
 #
-#    update-copyright.pl --this-year libjava
+#    update-copyright.py --this-year libitm
 #
-# would run the script on just libjava/.
+# would run the script on just libitm/.
 #
 # Note that things like --version output strings must be updated before
 # this script is run.  There's already a separate procedure for that.
@@ -75,6 +75,7 @@ class GenericFilter:
                 'COPYING3',
                 'COPYING3.LIB',
                 'LICENSE',
+                'LICENSE.txt',
                 'fdl.texi',
                 'gpl_v3.texi',
                 'fdl-1.3.xml',
@@ -393,8 +394,10 @@ class Copyright:
         lines = []
         changed = False
         line_filter = filter.get_line_filter (dir, filename)
+        mode = None
         with open (pathname, 'r') as file:
             prev = None
+            mode = os.fstat (file.fileno()).st_mode
             for line in file:
                 while line:
                     next_line = None
@@ -421,6 +424,7 @@ class Copyright:
             with open (tmp_pathname, 'w') as file:
                 for line in lines:
                     file.write (line)
+                os.fchmod (file.fileno(), mode)
             if self.use_quilt:
                 subprocess.call (['quilt', 'add', pathname])
             os.rename (tmp_pathname, pathname)
@@ -571,6 +575,7 @@ class TestsuiteFilter (GenericFilter):
                 '.c',
                 '.C',
                 '.cc',
+                '.d',
                 '.h',
                 '.hs',
                 '.f',
@@ -585,6 +590,11 @@ class TestsuiteFilter (GenericFilter):
         # and isn't updated.
         if filename == 'README' and os.path.basename (dir) == 'g++.niklas':
             return True
+        # Similarly params/README.
+        if filename == 'README' and os.path.basename (dir) == 'params':
+            return True
+        if filename == 'pdt_5.f03' and os.path.basename (dir) == 'gfortran.dg':
+            return True
         return GenericFilter.skip_file (self, dir, filename)
 
 class LibCppFilter (GenericFilter):
@@ -608,36 +618,23 @@ class LibGCCFilter (GenericFilter):
                 'soft-fp',
                 ])
 
-class LibJavaFilter (GenericFilter):
+class LibPhobosFilter (GenericFilter):
     def __init__ (self):
         GenericFilter.__init__ (self)
 
-        self.skip_dirs |= set ([
-                # Handled separately.
-                'testsuite',
-
-                # Not really part of the library
-                'contrib',
-
-                # Imported from upstream
-                'classpath',
-                'libltdl',
+        self.skip_files |= set ([
+                # Source module imported from upstream.
+                'object.d',
                 ])
 
-    def get_line_filter (self, dir, filename):
-        if filename == 'NameDecoder.h':
-            return re.compile ('.*NAME_COPYRIGHT')
-        if filename == 'ICC_Profile.h':
-            return re.compile ('.*icSigCopyrightTag')
-        return GenericFilter.get_line_filter (self, dir, filename)
-
-class LibMudflapFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
         self.skip_dirs |= set ([
-                # Handled separately.
-                'testsuite',
+                # Contains sources imported from upstream.
+                'core',
+                'etc',
+                'gc',
+                'gcstub',
+                'rt',
+                'std',
                 ])
 
 class LibStdCxxFilter (GenericFilter):
@@ -686,16 +683,21 @@ class GCCCopyright (Copyright):
 
         self.add_external_author ('ARM')
         self.add_external_author ('AdaCore')
+        self.add_external_author ('Advanced Micro Devices Inc.')
         self.add_external_author ('Ami Tavory and Vladimir Dreizin, IBM-HRL.')
         self.add_external_author ('Cavium Networks.')
         self.add_external_author ('Faraday Technology Corp.')
         self.add_external_author ('Florida State University')
+        self.add_external_author ('Gerard Jungman')
         self.add_external_author ('Greg Colvin and Beman Dawes.')
         self.add_external_author ('Hewlett-Packard Company')
+        self.add_external_author ('Intel Corporation')
         self.add_external_author ('Information Technology Industry Council.')
         self.add_external_author ('James Theiler, Brian Gough')
         self.add_external_author ('Makoto Matsumoto and Takuji Nishimura,')
+        self.add_external_author ('Mentor Graphics Corporation')
         self.add_external_author ('National Research Council of Canada.')
+        self.add_external_author ('NVIDIA Corporation')
         self.add_external_author ('Peter Dimov and Multi Media Ltd.')
         self.add_external_author ('Peter Dimov')
         self.add_external_author ('Pipeline Associates, Inc.')
@@ -704,12 +706,15 @@ class GCCCopyright (Copyright):
         self.add_external_author ('Silicon Graphics')
         self.add_external_author ('Stephen L. Moshier')
         self.add_external_author ('Sun Microsystems, Inc. All rights reserved.')
+        self.add_external_author ('The D Language Foundation, All Rights Reserved')
         self.add_external_author ('The Go Authors.  All rights reserved.')
         self.add_external_author ('The Go Authors. All rights reserved.')
         self.add_external_author ('The Go Authors.')
         self.add_external_author ('The Regents of the University of California.')
+        self.add_external_author ('Ulf Adams')
         self.add_external_author ('Unicode, Inc.')
         self.add_external_author ('University of Toronto.')
+        self.add_external_author ('Yoshinori Sato')
 
 class GCCCmdLine (CmdLine):
     def __init__ (self):
@@ -723,45 +728,56 @@ class GCCCmdLine (CmdLine):
         self.add_dir ('gcc', GCCFilter())
         self.add_dir (os.path.join ('gcc', 'testsuite'), TestsuiteFilter())
         self.add_dir ('gnattools')
+        self.add_dir ('gotools')
         self.add_dir ('include')
+        # intl is imported from upstream.
         self.add_dir ('libada')
         self.add_dir ('libatomic')
         self.add_dir ('libbacktrace')
+        self.add_dir ('libcc1')
         self.add_dir ('libcpp', LibCppFilter())
         self.add_dir ('libdecnumber')
         # libffi is imported from upstream.
         self.add_dir ('libgcc', LibGCCFilter())
         self.add_dir ('libgfortran')
+        # libgo is imported from upstream.
         self.add_dir ('libgomp')
+        self.add_dir ('libhsail-rt')
         self.add_dir ('libiberty')
         self.add_dir ('libitm')
-        self.add_dir ('libjava', LibJavaFilter())
-        self.add_dir (os.path.join ('libjava', 'testsuite'), TestsuiteFilter())
-        self.add_dir ('libmudflap', LibMudflapFilter())
-        self.add_dir (os.path.join ('libmudflap', 'testsuite'),
-                      TestsuiteFilter())
         self.add_dir ('libobjc')
+        # liboffloadmic is imported from upstream.
+        self.add_dir ('libphobos', LibPhobosFilter())
         self.add_dir ('libquadmath')
-        # libsanitiser is imported from upstream.
+        # libsanitizer is imported from upstream.
         self.add_dir ('libssp')
         self.add_dir ('libstdc++-v3', LibStdCxxFilter())
+        self.add_dir ('libvtv')
         self.add_dir ('lto-plugin')
+        # maintainer-scripts maintainer-scripts
         # zlib is imported from upstream.
 
         self.default_dirs = [
             'gcc',
+            'include',
             'libada',
             'libatomic',
             'libbacktrace',
+            'libcc1',
             'libcpp',
             'libdecnumber',
             'libgcc',
             'libgfortran',
             'libgomp',
+            'libhsail-rt',
+            'libiberty',
             'libitm',
-            'libmudflap',
             'libobjc',
+            'libphobos',
+            'libssp',
             'libstdc++-v3',
+            'libvtv',
+            'lto-plugin',
             ]
 
 GCCCmdLine().main()