Which results in a more user-obvious case, ignoring the interrupt attribute or ignoring the weak attribute? I would think that we never want to compile and link successfully if we can't do what the user wants, and omitting an interrupt handler is... bad.
I think this should either be a hard error, so the user must fix it right away, or ignore the weak, which results in a linker error (somehow? maybe?) if the user specifies two handlers for the same interrupt.