https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128228

            Bug ID: 128228
           Summary: attribs.cc:2479:33: error: 'strtoull' was not declared
                    in this scope
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: danglin at gcc dot gnu.org
                CC: kaelfandrew at gmail dot com
  Target Milestone: ---
              Host: hppa64-hp-hpux11.11

This commit breaks build on hppa64-hp-hpux11.11:

commit 151928e52f59adaaac082e6b5dd6f6aba04b0b95
Author: Kael Andrew Alonzo Franco <[email protected]>
Date:   Tue Oct 27 07:49:13 2026 -0400

    gcc: Remove HAVE_LONG_LONG in gcc/configure.ac. [PR112422]

    GCC require C++14 or above and long long is needed.

    Bootstrapped and regtested on x86_64-pc-linux-gnu.

            PR bootstrap/112422

    gcc/ChangeLog:

            * configure.ac: Remove AC_CHECK_TYPES long long.
            * config.in: Regenerate.
            * configure: Regenerate.
            * hwint.h (sizeof_long_long_must_be_8): Remove.
            (USE_LONG_LONG_FOR_WIDEST_FAST_INT) Remove HAVE_LONG_LONG.
            * final.cc: Remove HAVE_LONG_LONG.
            * wide-int.h: Ditto.
            * asan.cc (set_asan_shadow_offset): Ditto.

g++ -std=c++14  -fno-PIE -c  -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND
-DIN_GCC_FRONTEND -Os -g -DIN_GCC    -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing -Wwrite-strings
-Wcast-qual -Wno-format -Wmissing-format-attribute -Wconditionally-supported
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings  -DHAVE_CONFIG_H -fno-PIE -I. -I. -I../../gcc/gcc
-I../../gcc/gcc/. -I../../gcc/gcc/../include  -I../../gcc/gcc/../libcpp/include
-I../../gcc/gcc/../libcody -I/opt/gnu64/gcc/gmp/include 
-I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd
-I../libdecnumber -I../../gcc/gcc/../libbacktrace -I/opt/gnu64/gcc/gmp/include 
-o attribs.o -MT attribs.o -MMD -MP -MF ./.deps/attribs.TPo
../../gcc/gcc/attribs.cc
../../gcc/gcc/attribs.cc: In function 'void init_attr_rdwr_indices(rdwr_map*,
tree)':
../../gcc/gcc/attribs.cc:2479:33: error: 'strtoull' was not declared in this
scope; did you mean 'std::strtoull'?
 2479 |                   acc.minsize = strtoull (p, NULL, 10);
      |                                 ^~~~~~~~
      |                                 std::strtoull
In file included from
/home/opt/gnu64/gcc/gcc-12/include/c++/12.4.1/hppa64-hp-hpux11.11/bits/c++config.h:662,
                 from /home/opt/gnu64/gcc/gcc-12/include/c++/12.4.1/string:38,
                 from ../../gcc/gcc/system.h:222,
                 from ../../gcc/gcc/attribs.cc:22:
/home/opt/gnu64/gcc/gcc-12/include/c++/12.4.1/hppa64-hp-hpux11.11/bits/os_defines.h:73:36:
note: 'std::strtoull' declared here
   73 |   __extension__ unsigned long long strtoull (const char *, char **,
int)
      |                                    ^~~~~~~~

Various declarations in include/libiberty.h depend on HAVE_LONG_LONG.  I also
see in auto-host.h:

/* Define to 1 if the system has the type `long long int'. */
#ifndef USED_FOR_TARGET
#define HAVE_LONG_LONG_INT 1
#endif

Reply via email to