mirror of
https://github.com/google/googletest.git
synced 2025-12-07 01:06:50 +08:00
Extend NVC workaround for no-optimize-sibling-calls
__attribute__((optimize("no-optimize-sibling-calls"))) is not supported
for at least some versions of NVC (nVidia HPC compiler), and this case
has a workaround in gtest-port.h. Actually, this is true not just for
NVC (that defines __NVCOMPILER), but for other EDG-based compilers as
well, for example, LCC.
So the correct check here would be not just for __NVCOMPILER, but
for __EDG__ (NVC defines this too, because it is based on EDG).
This commit does this.
This commit is contained in:
parent
df6fa41e1b
commit
24699b4926
@ -897,7 +897,7 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
|
|||||||
// Ask the compiler not to perform tail call optimization inside
|
// Ask the compiler not to perform tail call optimization inside
|
||||||
// the marked function.
|
// the marked function.
|
||||||
#define GTEST_NO_TAIL_CALL_ __attribute__((disable_tail_calls))
|
#define GTEST_NO_TAIL_CALL_ __attribute__((disable_tail_calls))
|
||||||
#elif defined(__GNUC__) && !defined(__NVCOMPILER)
|
#elif defined(__GNUC__) && !defined(__EDG__)
|
||||||
#define GTEST_NO_TAIL_CALL_ \
|
#define GTEST_NO_TAIL_CALL_ \
|
||||||
__attribute__((optimize("no-optimize-sibling-calls")))
|
__attribute__((optimize("no-optimize-sibling-calls")))
|
||||||
#else
|
#else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user