A rebased patch is attached.

On 14 October 2013 12:31, Rafael Espíndola <[email protected]> wrote:
> The attached patch causes clang to reject alias attributes that point
> to undefined names. For example, with this patch we now reject
>
> void f1(void) __attribute__((alias("g1")));
>
> if g1 is not defined in this file. This matches "modern" gcc (>= 4.2
> at least) behavior. What is different in this implementation is that
> we use the C/C++ level names, not the assembly names like gcc does.
> This is consistent with our implementation of #pragma weak, with has
> the same difference to gcc's implementation.
>
> Other options include
> * Using the mangled name from sema. This would be very expensive and
> we would have to mangle each decl to see if we got it.
> * Produce a terse error from CodeGen. We normally avoid this, but it
> is probably the right thing to do here if we decide to use the mangled
> names.
>
> Cheers,
> Rafael

Attachment: t.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to