[1/1] toplevel: unify the GCC and GDB/binutils .editorconfig files

Message ID 20250923164959.565000-2-rearnsha@arm.com
State New
Headers
Series Unify the GCC and GDB/Binutils .editorconfig files |

Commit Message

Richard Earnshaw Sept. 23, 2025, 4:49 p.m. UTC
  Both GCC and GDB/binutils now have root editorconfig files.  It would
make sense to unify them as this sets the general tone for these
projects.

ChangeLog:
	* .editorconfig: Unify the GCC and GDB/binutils root config.
---
 .editorconfig | 122 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 113 insertions(+), 9 deletions(-)
  

Comments

Simon Marchi Sept. 23, 2025, 5:03 p.m. UTC | #1
On 9/23/25 12:49 PM, Richard Earnshaw wrote:
> Both GCC and GDB/binutils now have root editorconfig files.  It would
> make sense to unify them as this sets the general tone for these
> projects.
> 
> ChangeLog:
> 	* .editorconfig: Unify the GCC and GDB/binutils root config.

From the point of view of GDB, this looks fine, thanks for doing this.

Simon
  
Jonathan Wakely Sept. 24, 2025, 8:23 a.m. UTC | #2
On Tue, 23 Sept 2025 at 18:11, Simon Marchi wrote:
>
> On 9/23/25 12:49 PM, Richard Earnshaw wrote:
> > Both GCC and GDB/binutils now have root editorconfig files.  It would
> > make sense to unify them as this sets the general tone for these
> > projects.
> >
> > ChangeLog:
> >       * .editorconfig: Unify the GCC and GDB/binutils root config.
>
> From the point of view of GDB, this looks fine, thanks for doing this.


This looks like a vast improvement on the bare-bones config I added
for GCC, thanks.
  
Richard Earnshaw (foss) Oct. 1, 2025, 2:44 p.m. UTC | #3
On 24/09/2025 09:23, Jonathan Wakely wrote:
> On Tue, 23 Sept 2025 at 18:11, Simon Marchi wrote:
>>
>> On 9/23/25 12:49 PM, Richard Earnshaw wrote:
>>> Both GCC and GDB/binutils now have root editorconfig files.  It would
>>> make sense to unify them as this sets the general tone for these
>>> projects.
>>>
>>> ChangeLog:
>>>       * .editorconfig: Unify the GCC and GDB/binutils root config.
>>
>> From the point of view of GDB, this looks fine, thanks for doing this.
> 
> 
> This looks like a vast improvement on the bare-bones config I added
> for GCC, thanks.
> 

I've now pushed this to the GCC repo, but I've not yet heard anything from the binutils maintainers.  Do I need to wait for them, or is Simon's ack for GDB enough?

R.
  
Simon Marchi Oct. 1, 2025, 2:58 p.m. UTC | #4
On 10/1/25 10:44 AM, Richard Earnshaw (lists) wrote:
> On 24/09/2025 09:23, Jonathan Wakely wrote:
>> On Tue, 23 Sept 2025 at 18:11, Simon Marchi wrote:
>>>
>>> On 9/23/25 12:49 PM, Richard Earnshaw wrote:
>>>> Both GCC and GDB/binutils now have root editorconfig files.  It would
>>>> make sense to unify them as this sets the general tone for these
>>>> projects.
>>>>
>>>> ChangeLog:
>>>>       * .editorconfig: Unify the GCC and GDB/binutils root config.
>>>
>>> From the point of view of GDB, this looks fine, thanks for doing this.
>>
>>
>> This looks like a vast improvement on the bare-bones config I added
>> for GCC, thanks.
>>
> 
> I've now pushed this to the GCC repo, but I've not yet heard anything from the binutils maintainers.  Do I need to wait for them, or is Simon's ack for GDB enough?
> 
> R.

I think you can go ahead and push it, I really don't see how it could be
controversial.

Simon
  
Richard Earnshaw (foss) Oct. 1, 2025, 3:22 p.m. UTC | #5
On 01/10/2025 15:58, Simon Marchi wrote:
> On 10/1/25 10:44 AM, Richard Earnshaw (lists) wrote:
>> On 24/09/2025 09:23, Jonathan Wakely wrote:
>>> On Tue, 23 Sept 2025 at 18:11, Simon Marchi wrote:
>>>>
>>>> On 9/23/25 12:49 PM, Richard Earnshaw wrote:
>>>>> Both GCC and GDB/binutils now have root editorconfig files.  It would
>>>>> make sense to unify them as this sets the general tone for these
>>>>> projects.
>>>>>
>>>>> ChangeLog:
>>>>>       * .editorconfig: Unify the GCC and GDB/binutils root config.
>>>>
>>>> From the point of view of GDB, this looks fine, thanks for doing this.
>>>
>>>
>>> This looks like a vast improvement on the bare-bones config I added
>>> for GCC, thanks.
>>>
>>
>> I've now pushed this to the GCC repo, but I've not yet heard anything from the binutils maintainers.  Do I need to wait for them, or is Simon's ack for GDB enough?
>>
>> R.
> 
> I think you can go ahead and push it, I really don't see how it could be
> controversial.
> 
> Simon

Done.

R.
  

Patch

diff --git a/.editorconfig b/.editorconfig
index af1a28411da..e5e9997f44f 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,38 +1,142 @@ 
-# top-most EditorConfig file for gcc
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file helps editors auto-configure whitespace settings.
+#
+# See here for more information about the format and editor support:
+#
+#   https://editorconfig.org/
+
+# This file is common to the GCC and GDB/Binutils projects.  If you
+# update one, please sync it with the other.
+
+# top-most EditorConfig file
 root = true
 
 [*]
 end_of_line = lf
 insert_final_newline = true
+tab_width = 8
 
-[*.{h,cc}]
+# EditorConfig files
+[.editorconfig]
 charset = utf-8
-indent_style = tab
-indent_size = 2
-tab_width = 8
 trim_trailing_whitespace = true
 
-[{Makefile,ChangeLog}*]
+# Makefile
+[{Makefile,*.mk,*.am}*]
 indent_style = tab
 indent_size = 8
 trim_trailing_whitespace = true
 
+# ChangeLogs
 [ChangeLog*]
+indent_style = tab
+indent_size = 8
+trim_trailing_whitespace = true
+charset = utf-8
+
+# C/C++
+[*.{c,h,cc}]
 charset = utf-8
+indent_style = tab
+indent_size = 2
+trim_trailing_whitespace = true
 
+# GCC .def files.  These are generally C fragments that get included
+# one or more times
+[gcc/**.def]
+charset = utf-8
+indent_style = tab
+indent_size = 2
+trim_trailing_whitespace = true
+
+# Texinfo files
 [*.texi]
 charset = utf-8
 indent_size = 2
-tab_width = 8
 trim_trailing_whitespace = true
 
+# Expect / TCL
+[*.{exp,tcl}]
+indent_style = tab
+indent_size = 4
+trim_trailing_whitespace = true
+
+# Python
 [*.py]
 indent_style = space
 indent_size = 4
 trim_trailing_whitespace = true
 
-[*.exp]
+# Assembler
+[*.{s,S,asm}]
+indent_style = tab
+indent_size = 8
+trim_trailing_whitespace = true
+
+# GCC Machine description files
+[gcc/config/**.md]
+indent_style = tab
+indent_size = 2
+trim_trailing_whitespace = true
+
+# Awk
+[*.awk]
+indent_style = tab
+indent_size = 2
+trim_trailing_whitespace = true
+
+# Autoconf
+[*.{ac,m4}]
+indent_style = tab
+indent_size = 2
+trim_trailing_whitespace = true
+
+# Shell scripts
+[*.sh]
 indent_style = tab
 indent_size = 4
-tab_width = 8
+trim_trailing_whitespace = true
+
+# Ada
+[*.ad[bs]]
+indent_style = space
+indent_size = 3
+trim_trailing_whitespace = true
+
+# D
+[*.d]
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
+
+# Go
+[*.go]
+indent_style = tab
+indent_size = 8
+trim_trailing_whitespace = true
+
+# Fortran
+[*.[Ff]90]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+
+# Cobol
+[*.cbl]
+indent_style = space
+indent_size = 2
 trim_trailing_whitespace = true