Message ID | 20250210165715.44659-1-zlang@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | fstests: use '-std=gnu11' to fix build errors with gcc-15 | expand |
On Tue, Feb 11, 2025 at 12:57:15AM +0800, Zorro Lang wrote: > GCC-15 does a big change, it changes the default C compilation > language standard to -std=gnu23. That cause lots of "old style" > C codes hit building errors. On the other word, current xfstests > can't be used with GCC-15. So use a fixed language standard -- > "-std=gnu11" (to match the kernel and xfsprogs). > > Signed-off-by: Zorro Lang <zlang@kernel.org> > --- > > Hi, > > The upcoming gcc-15 does lots of changes, a big change is using C23 > by default: > > https://gcc.gnu.org/gcc-15/porting_to.html > > xfstests has many old style C codes, they hard to be built with gcc-15. Quick question -- does the same need to be applied to CXXFLAGS? There aren't any C++ modules in fstests, but it'd be nice not to leave a weirdness where cpp files aren't built with a roughly contemporaneous language specification. That said, this at least gets us to the same behavior as the linux kernel and xfsprogs, so: Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> --D > > Thanks, > Zorro > > include/builddefs.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/builddefs.in b/include/builddefs.in > index 7274cde8d..631e5d83f 100644 > --- a/include/builddefs.in > +++ b/include/builddefs.in > @@ -75,7 +75,7 @@ HAVE_RLIMIT_NOFILE = @have_rlimit_nofile@ > NEED_INTERNAL_XFS_IOC_EXCHANGE_RANGE = @need_internal_xfs_ioc_exchange_range@ > HAVE_FICLONE = @have_ficlone@ > > -GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall > +GCCFLAGS = -funsigned-char -fno-strict-aliasing -std=gnu11 -Wall > > ifeq ($(PKG_PLATFORM),linux) > PCFLAGS = -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) > -- > 2.47.1 > >
diff --git a/include/builddefs.in b/include/builddefs.in index 7274cde8d..631e5d83f 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -75,7 +75,7 @@ HAVE_RLIMIT_NOFILE = @have_rlimit_nofile@ NEED_INTERNAL_XFS_IOC_EXCHANGE_RANGE = @need_internal_xfs_ioc_exchange_range@ HAVE_FICLONE = @have_ficlone@ -GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall +GCCFLAGS = -funsigned-char -fno-strict-aliasing -std=gnu11 -Wall ifeq ($(PKG_PLATFORM),linux) PCFLAGS = -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(GCCFLAGS)
GCC-15 does a big change, it changes the default C compilation language standard to -std=gnu23. That cause lots of "old style" C codes hit building errors. On the other word, current xfstests can't be used with GCC-15. So use a fixed language standard -- "-std=gnu11" (to match the kernel and xfsprogs). Signed-off-by: Zorro Lang <zlang@kernel.org> --- Hi, The upcoming gcc-15 does lots of changes, a big change is using C23 by default: https://gcc.gnu.org/gcc-15/porting_to.html xfstests has many old style C codes, they hard to be built with gcc-15. Thanks, Zorro include/builddefs.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)