Skip to content

Commit

Permalink
Remove COMPILER_IBMXL macro for z/OS (#1777)
Browse files Browse the repository at this point in the history
COMPILER_IBMXL identifies the Clang based IBM XL compiler (xlclang) on z/OS. This compiler is obsolete and replaced by the Open XL compiler, so the macro is no longer needed and the existing code would lead to incorrect asm syntax for Open XL.
  • Loading branch information
fanbo-meng authored Apr 3, 2024
1 parent f3ec7b8 commit 70916cb
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 7 deletions.
5 changes: 3 additions & 2 deletions src/cycleclock.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,11 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
#elif defined(__s390__) // Covers both s390 and s390x.
// Return the CPU clock.
uint64_t tsc;
#if defined(BENCHMARK_OS_ZOS) && defined(COMPILER_IBMXL)
// z/OS XL compiler HLASM syntax.
#if defined(BENCHMARK_OS_ZOS)
// z/OS HLASM syntax.
asm(" stck %0" : "=m"(tsc) : : "cc");
#else
// Linux on Z syntax.
asm("stck %0" : "=Q"(tsc) : : "cc");
#endif
return tsc;
Expand Down
6 changes: 1 addition & 5 deletions src/internal_macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,7 @@
#endif

#if defined(__clang__)
#if defined(__ibmxl__)
#if !defined(COMPILER_IBMXL)
#define COMPILER_IBMXL
#endif
#elif !defined(COMPILER_CLANG)
#if !defined(COMPILER_CLANG)
#define COMPILER_CLANG
#endif
#elif defined(_MSC_VER)
Expand Down

0 comments on commit 70916cb

Please # to comment.