[Bug bootstrap/106720] gcc does not compile with XCode 13.4.1 / clang 13.1.6

2022-08-23 Thread juergen.reuter at desy dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106720

Jürgen Reuter  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Jürgen Reuter  ---
Sorry, my mistake that I already made before: I had a non-vanishing
C_/CPLUS_INCLUDE_PATH in my local variables which picked up a gcc, i.e. not the
proper clang include files. Mea culpa.

[Bug bootstrap/106720] gcc does not compile with XCode 13.4.1 / clang 13.1.6

2022-08-23 Thread juergen.reuter at desy dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106720

--- Comment #2 from Jürgen Reuter  ---
Hi Jakub, 
this is the compilation command:
g++ -std=c++11  -I../../libcpp -I. -I../../libcpp/../include -I./../intl
-I../../libcpp/include  -g -W -Wall -Wno-narrowing -Wwrite-strings
-Wmissing-format-attribute -pedantic -Wno-long-long  -fno-exceptions -fno-rtti
-I../../libcpp -I. -I../../libcpp/../include -I./../intl -I../../libcpp/include
   -c -o charset.o -MT charset.o -MMD -MP -MF .deps/charset.Tpo
../../libcpp/charset.cc
In file included from ../../libcpp/charset.cc:22:

This is the limits.h from XCode
// -*- C++ -*-
//===--- limits.h
-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===--===//

#ifndef _LIBCPP_LIMITS_H
#define _LIBCPP_LIMITS_H

/*
limits.h synopsis

Macros:

CHAR_BIT
SCHAR_MIN
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
MB_LEN_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
LLONG_MIN   // C99
LLONG_MAX   // C99
ULLONG_MAX  // C99

*/

#include <__config>

#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif

#ifndef __GNUC__
#include_next 
#else
// GCC header limits.h recursively includes itself through another header
called
// syslimits.h for some reason. This setup breaks down if we directly
// #include_next GCC's limits.h (reasons not entirely clear to me). Therefore,
// we manually re-create the necessary include sequence below:

// Get the system limits.h defines (force recurse into the next level)
#define _GCC_LIMITS_H_
#define _GCC_NEXT_LIMITS_H
#include_next 

// Get the ISO C defines
#undef _GCC_LIMITS_H_
#include_next 
#endif // __GNUC__

#endif  // _LIBCPP_LIMITS_H

[Bug bootstrap/106720] gcc does not compile with XCode 13.4.1 / clang 13.1.6

2022-08-23 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106720

Jakub Jelinek  changed:

   What|Removed |Added

  Component|libgcc  |bootstrap
 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
While compiling which file?
Is SIZEOF_INT and SIZEOF_LONG correctly defined in libcpp/config.h ?
Perhaps CHAR_BIT isn't defined?
Usually libcpp/ sources include "system.h" before including "cpplib.h" and
system.h has:
#if HAVE_LIMITS_H
# include 
#endif
and so CHAR_BIT should be defined unless limits.h isn't present.

The cpplib.h part is:
#if CHAR_BIT * SIZEOF_INT >= 32
# define CPPCHAR_SIGNED_T int
#elif CHAR_BIT * SIZEOF_LONG >= 32
# define CPPCHAR_SIGNED_T long
#else
# error "Cannot find a least-32-bit signed integer type"
#endif