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