Date: Sun, 3 Oct 2010 21:50:35 +0200 From: Roman Divacky <rdivacky@FreeBSD.org> To: Dimitry Andric <dim@FreeBSD.org> Cc: dlt@mebtel.net, current@FreeBSD.org Subject: Re: Another clang problem Message-ID: <20101003195035.GA35617@freebsd.org> In-Reply-To: <4CA89F6B.8050108@FreeBSD.org> References: <20101003134111.GA98699@oriental.arm.org> <4CA89F6B.8050108@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Oct 03, 2010 at 05:21:15PM +0200, Dimitry Andric wrote: > On 2010-10-03 15:41, Derek Tattersall wrote: > >In updating gnash to 8.8 the build failed while linking with libvgl.so. My > >current system was built last week, with both kernel and world built > >with clang. The linkage failure was due to an inlined function, > >"set4pixels" which is only referred to, as far as I can tell, within the > >source file simple.c which contains the function definition. > > The problem is that set4pixels() and another function set2lines() are > defined as 'inline' functions in simple.c, but it is compiled with > -std=gnu99. This means that these definitions cannot be called from > another object file. > > So, either libvgl should be compiled with -std=gnu89, or somebody who > knows about libvgl's "official" API should decide whether these > functions must be externally accessible or not. Since libvgl looks very > old (it was imported 8 years ago, and the last functional change was 6 > years ago), the former is probably the easiest fix. we compile world with -std=gnu99 even with gcc, why isnt this problem with gcc?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101003195035.GA35617>