X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8AF47385772E
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1688526411;
	bh=6XrDH2j/c7xe4JG1n0cLgtJgHY+DYoR1XX6jz1+7iFk=;
	h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=IQK4nbWFD5MDrkBUcGE8jOiMjczkJYEBTjSgOu8p3TgKCRA18N2am377NkvLQTeL/
	 at+xDDkEkW36riqMZWbOK9mwLpH2eM5R3YKwgDiX4px+Q18HQjp6KvgE9QTSN5MWq1
	 4OsCMwNb7G56jp+EMS6z31PZBMmZ5QNDtMTqZ9Vc=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 715413858D32
Subject: Re: iostream doesn't work (clang++)
To: cygwin@cygwin.com
References: <7e07e251-2ec6-b7a5-62da-8578eb638993@gmail.com>
Message-ID: <47f9e50d-763b-e6a9-b2b0-8d3cc311a63b@maxrnd.com>
Date: Tue, 4 Jul 2023 20:06:26 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
 Firefox/52.0 SeaMonkey/2.49.4
MIME-Version: 1.0
In-Reply-To: <7e07e251-2ec6-b7a5-62da-8578eb638993@gmail.com>
X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, BODY_8BITS,
 KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE,
 SPF_NONE, TXREP,
 T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Mark Geisert via Cygwin <cygwin@cygwin.com>
Reply-To: Mark Geisert <mark@maxrnd.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: cygwin-bounces+archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 36537FEW001616

Hi again,

ggl329 via Cygwin wrote:
> Hi,
> 
> clang++ fails with iostream.
> Does it go well in your environment?
> # I noticed that clang is orphaned. clang requires a maintainer?

It would indeed be nice to have a clang maintainer.  Until that happens various 
other folks might be able to assist if their schedules allow.

> $ cat sample.cc
> #include <iostream>
> int main()
> {
>      std::cout << "Hello World.\n";
>      return 0;
> }
> 
> $ g++ sample.cc
> $ ./a
> Hello World.
> 
> $ clang++ sample.cc
> In file included from sample.cc:1:
> In file included from /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/iostream:39:
> In file included from /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ostream:38:
> In file included from /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ios:42:
> In file included from 
> /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/bits/ios_base.h:39:
> In file included from 
> /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/ext/atomicity.h:35:
> In file included from 
> /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr.h:148:
> In file included from 
> /usr/lib/gcc/x86_64-pc-cygwin/11/include/c++/x86_64-pc-cygwin/bits/gthr-default.h:35:
> In file included from /usr/include/pthread.h:11:
> In file included from /usr/include/sys/types.h:221:
> In file included from /usr/include/sys/_pthreadtypes.h:12:
> /usr/include/sys/cpuset.h:45:24: error: use of undeclared identifier 
> '__builtin_malloc'; did you mean
>        '__builtin_alloca'?
>    return (cpu_set_t *) __builtin_malloc (CPU_ALLOC_SIZE(num));
>                         ^
> /usr/include/sys/cpuset.h:45:24: note: '__builtin_alloca' declared here
> /usr/include/sys/cpuset.h:52:3: error: use of undeclared identifier '__builtin_free'
>    __builtin_free (set);
>    ^
> 2 errors generated.
> 
> 
> Package version information which may be related.
> 
> Cygwin Package Information
> Package              Version
> binutils             2.40-1
> clang                8.0.1-1
> compiler-rt          8.0.1-1
> cygwin               3.4.7-1
> cygwin-devel         3.4.7-1
> gcc-core             11.4.0-1
> gcc-g++              11.4.0-1
> libc++-devel         8.0.1-1
> libc++1              8.0.1-1
> libc++abi-devel      8.0.1-1
> libc++abi1           8.0.1-1
> libclang-devel       8.0.1-1
> libclang8            8.0.1-1
> libllvm-devel        8.0.1-1
> libllvm8             8.0.1-1
> libpolly-devel       8.0.1-1
> libpolly8            8.0.1-1
> libstdc++6           11.4.0-1
> libunwind-devel      8.0.1-1
> libunwind1           8.0.1-1
> llvm                 8.0.1-1

My previous reply addressed the specific error reported by your testcase.  But I 
am unable to make progress on the root cause because I can't reproduce your report.

On my system I try the compilation and see:
~ clang++ sample.cc
sample.cc:1:10: fatal error: 'iostream' file not found
#include <iostream>
          ^~~~~~~~~~
1 error generated.

My list of possibly related package versions looks very similar to yours:
binutils           2.40-1
clang              8.0.1-1
compiler-rt        8.0.1-1
cygwin             3.4.7-1
cygwin-devel       3.4.7-1
gcc-core           11.4.0-1
gcc-g++            11.4.0-1
libatomic1         11.4.0-1
libc++-devel       8.0.1-1
libc++1            8.0.1-1
libc++abi-devel    8.0.1-1
libc++abi1         8.0.1-1
libclang-devel     8.0.1-1
libclang8          8.0.1-1
libgcc1            11.4.0-1
libllvm-devel      8.0.1-1
libllvm8           8.0.1-1
libpolly-devel     8.0.1-1
libpolly8          8.0.1-1
libquadmath0       11.4.0-1
libstdc++6         11.4.0-1
libunwind-devel    8.0.1-1
libunwind1         8.0.1-1
llvm               8.0.1-1

I'm not a clang user so there might be something fundamentally wrong with my setup 
that I don't see.  Also, do you have a CFLAGS or other environment string(s) that 
would possibly be passed to clang as it would to gcc?  Has "clang++" been aliased 
to something else, perhaps passing options that way?  Also, do you happen to have 
any of the boost libraries installed?

I'm willing to patch the reported error but I'd like to first make sure it is 
legitimate for clang to have gone down the reported include path through what look 
like gcc-related include files.

..mark

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

