This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Use __inline instead of inline in emmintrin.h


On Mon, May 30, 2005 at 10:28:51PM -0700, Mike Stump wrote:
> On Monday, May 30, 2005, at 08:51  AM, Jakub Jelinek wrote:
> >Given that __inline is used a few hundred times in *mmintrin.h and
> >inline just for the 6 inlines added in January, I think the following
> >patch makes sense if not for anything else, then for consistency.
> >Ok for HEAD/4.0?
> 
> Hum, for Altivec, we found we like always inline...  Any reason to not 
> do that here as well?

inline doesn't work with -std=c89 -pedantic-errors, __inline or __inline__
works.

It is true that <emmintrin.h> is not usable with those switches due to
other problems (only the last 6 errors fixed by the patch I posted).

echo -e '#include <emmintrin.h>\nint i;' | LC_ALL=C gcc -pedantic-errors -std=c89 -msse2 -xc - -S -O2 -o /dev/null
In file included from /usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:34,
                 from <stdin>:1:
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h: In function '_mm_setzero_ps':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h:93: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h: In function '_mm_set_ss':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h:835: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h: In function '_mm_set1_ps':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h:842: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h: In function '_mm_set_ps':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h:897: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h: In function '_mm_setr_ps':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/xmmintrin.h:904: error: ISO C90 forbids compound literals
In file included from <stdin>:1:
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set_sd':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:54: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set1_pd':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:61: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set_pd':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:74: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_setr_pd':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:81: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_setzero_pd':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:88: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set_epi64x':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:556: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set_epi32':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:568: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set_epi16':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:575: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_set_epi8':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:587: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_setzero_si128':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:715: error: ISO C90 forbids compound literals
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: In function '_mm_clflush':
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1359: error: 'return' with a value, in function returning void
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h: At top level:
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1390: error: syntax error before '__m128'
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1396: error: syntax error before '__m128i'
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1402: error: syntax error before '__m128d'
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1408: error: syntax error before '__m128i'
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1414: error: syntax error before '__m128'
/usr/lib/gcc/i386-redhat-linux/4.0.0/include/emmintrin.h:1420: error: syntax error before '__m128d'

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]