bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sr #110879] revert forcing/setting -std=gnu++11 by default (introduced


From: Jörn Heusipp
Subject: [sr #110879] revert forcing/setting -std=gnu++11 by default (introduced in Autoconf 2.70)
Date: Sun, 7 May 2023 03:26:49 -0400 (EDT)

URL:
  <https://savannah.gnu.org/support/?110879>

                 Summary: revert forcing/setting -std=gnu++11 by default
(introduced in Autoconf 2.70)
                   Group: Autoconf
               Submitter: manx
               Submitted: Sun 07 May 2023 07:26:46 AM UTC
                Category: None
                Priority: 5 - Normal
                Severity: 4 - Important
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Sun 07 May 2023 07:26:46 AM UTC By: Jörn Heusipp <manx>

> * Noteworthy changes in release 2.70 (2020-12-08) [stable]
[...]
> *** AC_PROG_CC now enables C2011 mode if the compiler supports it.
>
>   If not, it will fall back to C99 and C89, as before.  Similarly,
>   AC_PROG_CXX now enables C++2011 if available, falling back on C++98.

This breaks existing packages that have been relying on
`AX_CXX_COMPILE_STDCXX` from the autoconf-archive package
(<https://github.com/autoconf-archive/autoconf-archive/blob/master/m4/ax_cxx_compile_stdcxx.m4>)
since about forever, because Autoconf itself did never care about the C++
standard version at all.

There appears to be no documentation on how to avoid the introduced behaviour,
as far as I can see.

The new behaviour causes CXXFLAGS to look like '-std=gnu++11 -std=c++20',
which is just confusing and arguably outright wrong.

In other cases, where the compiler default is actually newer than C++11 (e.g.
GCC6 defaults to C++14, GCC11 defaults to C++17), it actively breaks
compilation for programs that simply rely on the toolchain default.

See
<https://github.com/macports/macports-ports/pull/17284#pullrequestreview-1415834125>.

Please revert this change.








    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?110879>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]