On Mon, Jul 29, 2013 at 2:30 PM, Richard Smith <[email protected]>wrote:
> On Mon, Jul 29, 2013 at 2:00 PM, Eli Friedman <[email protected]>wrote: > >> On Mon, Jul 29, 2013 at 1:14 PM, Richard Smith >> <[email protected]> wrote: >> > Author: rsmith >> > Date: Mon Jul 29 15:14:16 2013 >> > New Revision: 187374 >> > >> > URL: http://llvm.org/viewvc/llvm-project?rev=187374&view=rev >> > Log: >> > PR16715: Fix assert in verifier: only mark call to 'operator new' as >> 'builtin' if >> > corresponding 'operator new' was actually emitted as a function marked >> 'nobuiltin'. >> >> There's a similar bug involving LTO; consider the following: >> >> a.cpp: >> using size_t = decltype(sizeof(0)); >> void *operator new(size_t) __attribute__((alias("something"))); >> >> b.cpp: >> int *pr16715 = new int; >> >> If I link these two together with llvm-link, I get exactly the same error. >> >> Overall, this seems like a very fragile constraint; maybe we can relax >> it somehow? > > > It would seem reasonable to me for the verifier to allow the 'builtin' > attribute on calls to functions declared without 'nobuiltin'. Patch > attached. > Ping. -Eli
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
