1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-09 17:03:00 +03:00

gcc's support for __attribute__((noinline)) hasn't been around forever.

Buildfarm member gaur says it wasn't there in 2.95.3.  Guess that 3.0
and later have it.
This commit is contained in:
Tom Lane
2017-10-14 15:52:00 -04:00
parent 4de2d4fba3
commit 82aff8d336

View File

@@ -644,12 +644,13 @@ typedef NameData *Name;
/*
* Forcing a function not to be inlined can be useful if it's the slow-path of
* a performance critical function, or should be visible in profiles to allow
* for proper cost attribution.
* Forcing a function not to be inlined can be useful if it's the slow path of
* a performance-critical function, or should be visible in profiles to allow
* for proper cost attribution. Note that unlike the pg_attribute_XXX macros
* above, this should be placed before the function's return type and name.
*/
/* GCC, Sunpro and XLC support noinline via __attribute */
#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__)
/* GCC, Sunpro and XLC support noinline via __attribute__ */
#if (defined(__GNUC__) && __GNUC__ > 2) || defined(__SUNPRO_C) || defined(__IBMC__)
#define pg_noinline __attribute__((noinline))
/* msvc via declspec */
#elif defined(_MSC_VER)