On Fri, Oct 24, 2014 at 06:25:29PM +0100, Charles Baylis wrote: > On 24 October 2014 17:05, Andrew Pinski <pins...@gmail.com> wrote: > > On Fri, Oct 24, 2014 at 8:11 AM, Tejas Belagod <tejas.bela...@arm.com> > > wrote: > > >> The diagnostic issued points to the line in arm_neon.h, but we expect this > >> to point to the line in cr.c. I suspect we need something closer to the > >> front-end? > > > > > > You need to change arm_neon.h to use the __artificial__ attribute as I > > mentioned before. Also please move away from "static inline" since > > they cannot be used from templates in C++98/03. > > The __artificial__ attribute seems like it would improve the debug > view, but it does not seem to affect the location of error reporting.
Note, for that case you can't emit the error too early, you need to wait until inlining and constant propagation are performed, otherwise the argument would never be constant. And for -O0, you need to use macros instead of inlines, see what i?86 *intrin.h headers are doing for that. Jakub