* Re: GCC-TM dependency build
[not found] ` <20100408165919.GA6093@redhat.com>
@ 2010-04-09 16:37 ` Richard Henderson
2010-04-10 2:48 ` Jonathan Wakely
0 siblings, 1 reply; 3+ messages in thread
From: Richard Henderson @ 2010-04-09 16:37 UTC (permalink / raw)
To: gcc; +Cc: Aldy Hernandez, jarias, Ulrich Drepper, aoliva
On 04/08/2010 09:59 AM, Aldy Hernandez wrote:
> The problem is that now the problem is present on a serial make (ala,
> "/src/configure && make").
I've reliably reproduced this. As far as I can tell, it's a problem
of makefile variable expansion in the top-level make.
For the folks just joining in gcc@, the problem is in the building of
libitm on the transactional-memory branch. Libitm is written in C++,
and uses <cassert>.
On the *first* invocation of make, the value of CXX_FOR_TARGET that is
passed down to the libitm sub-make does *not* include the -I flags for
the appropriate libstdc++ directories, and so <cassert> is not found
and results in the obvious build error. This failure can apparently
be masked by having an existing installation at PREFIX (which is I
suppose why it took me so long to see the problem).
On the *second* invocation of make, the value of CXX_FOR_TARGET *does*
include the appropriate -I flags and compilation succeeds.
This failure does not appear for libjava, the only other c++ library,
because it only uses the C headers (<ctype.h> etc) instead of the C++
wrapper headers (<cctype>). It doesn't *really* use libstdc++ at all.
As best I can figure, this...
> GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
> [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
> c++)
... gets expanded too early in the make process. During the first
invocation of make the testsuite_flags script does not yet exist,
and the variable is not re-evaluated after configure-target-libstdc++-v3.
I have no idea how to fix this. Ideas?
r~
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: GCC-TM dependency build
2010-04-09 16:37 ` GCC-TM dependency build Richard Henderson
@ 2010-04-10 2:48 ` Jonathan Wakely
2010-04-12 18:28 ` Richard Henderson
0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Wakely @ 2010-04-10 2:48 UTC (permalink / raw)
To: Richard Henderson; +Cc: gcc, Aldy Hernandez, jarias, Ulrich Drepper, aoliva
On 9 April 2010 17:00, Richard Henderson wrote:
>
> I have no idea how to fix this. Ideas?
Maybe a dumb question, I don't know the context of this problem...
Is <cassert> the only C++ header that causes a problem?
<cassert> is exactly equivalent to <assert.h> because it only declares
macros, which are not in namespace std anyway.
So if that's the only problem, using <assert.h> instead of <cassert>
would solve it.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: GCC-TM dependency build
2010-04-10 2:48 ` Jonathan Wakely
@ 2010-04-12 18:28 ` Richard Henderson
0 siblings, 0 replies; 3+ messages in thread
From: Richard Henderson @ 2010-04-12 18:28 UTC (permalink / raw)
To: Jonathan Wakely; +Cc: gcc, Aldy Hernandez, jarias, Ulrich Drepper, aoliva
On 04/09/2010 03:16 PM, Jonathan Wakely wrote:
> Is<cassert> the only C++ header that causes a problem?
>
> <cassert> is exactly equivalent to<assert.h> because it only declares
> macros, which are not in namespace std anyway.
>
> So if that's the only problem, using<assert.h> instead of<cassert>
> would solve it.
No, we also use <type_traits>, so avoiding the C wrapper headers
doesn't really help.
r~
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-04-12 18:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20100331163055.GA2700@redhat.com>
[not found] ` <4BB39088.5080502@redhat.com>
[not found] ` <20100331184807.GA2923@redhat.com>
[not found] ` <4BBB255B.8000504@bsc.es>
[not found] ` <20100406121705.GA6766@redhat.com>
[not found] ` <37064.192.168.6.2.1270740237.squirrel@webmail.bsc.es>
[not found] ` <20100408153506.GA4966@redhat.com>
[not found] ` <4BBE0781.7050907@redhat.com>
[not found] ` <20100408164448.GA5771@redhat.com>
[not found] ` <4BBE0AED.60407@redhat.com>
[not found] ` <20100408165919.GA6093@redhat.com>
2010-04-09 16:37 ` GCC-TM dependency build Richard Henderson
2010-04-10 2:48 ` Jonathan Wakely
2010-04-12 18:28 ` Richard Henderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).