WL#4962: Fix inlining when using SunStudio in InnoDB

Affects: Server-5.4   —   Status: Complete   —   Priority: Medium

Fixing inling when using SunStudio in InnoDB
In MySQL 5.4.0
Function inlining with SunStudio does not work. IFDEFs in the code that
apply only to Linux must be changed to include SunStudio.
This fixes an inlining problem with SunStudio

=== modified file 'storage/innobase/include/univ.i'
--- storage/innobase/include/univ.i	2008-03-27 01:40:45 +0000
+++ storage/innobase/include/univ.i	2008-10-13 19:49:39 +0000
@@ -56,9 +56,9 @@ of the 32-bit x86 assembler in mutex ope
 # endif
 
 /* We only try to do explicit inlining of functions with gcc and
-Microsoft Visual C++ */
+ Sun Studio */
 
-# if !defined(__GNUC__)
+# if !defined(__GNUC__) && !( defined(sun) || defined(__sun) )
 #  undef  UNIV_MUST_NOT_INLINE			/* Remove compiler warning */
 #  define UNIV_MUST_NOT_INLINE
 # endif



=== modified file 'storage/innobase/include/univ.i'
--- storage/innobase/include/univ.i	2008-10-13 19:49:39 +0000
+++ storage/innobase/include/univ.i	2008-10-16 15:04:44 +0000
@@ -58,7 +58,7 @@ of the 32-bit x86 assembler in mutex ope
 /* We only try to do explicit inlining of functions with gcc and
  Sun Studio */
 
-# if !defined(__GNUC__) && !( defined(sun) || defined(__sun) )
+# if !defined(__GNUC__) && !defined(__SUNPRO_C)
 #  undef  UNIV_MUST_NOT_INLINE			/* Remove compiler warning */
 #  define UNIV_MUST_NOT_INLINE
 # endif