This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe6629be31e67: [AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined macros (authored by Jake-Egan, committed by cbowler <cbow...@pcoral03.rtp.raleigh.ibm.com>).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103707/new/ https://reviews.llvm.org/D103707 Files: clang/lib/Basic/Targets/OSTargets.h clang/test/Preprocessor/init-ppc.c Index: clang/test/Preprocessor/init-ppc.c =================================================================== --- clang/test/Preprocessor/init-ppc.c +++ clang/test/Preprocessor/init-ppc.c @@ -723,6 +723,16 @@ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-NOTHREADSAFE %s // PPC-AIX-NOTHREADSAFE-NOT:#define _THREAD_SAFE 1 +// RUN: %clang_cc1 -x c -std=c11 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC %s +// RUN: %clang_cc1 -x c -std=gnu11 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC %s +// RUN: %clang_cc1 -x c -std=c17 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC %s +// PPC-AIX-STDC:#define __STDC_NO_ATOMICS__ 1 +// PPC-AIX-STDC:#define __STDC_NO_THREADS__ 1 + +// RUN: %clang_cc1 -x c -std=c99 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC-N %s +// PPC-AIX-STDC-N-NOT:#define __STDC_NO_ATOMICS__ 1 +// PPC-AIX-STDC-N-NOT:#define __STDC_NO_THREADS__ 1 + // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-LINUX %s // // PPC-LINUX:#define _ARCH_PPC 1 Index: clang/lib/Basic/Targets/OSTargets.h =================================================================== --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -676,6 +676,11 @@ Builder.defineMacro("_AIX"); + if (LangStandard::getLangStandardForKind(Opts.LangStd).isC11()) { + Builder.defineMacro("__STDC_NO_ATOMICS__"); + Builder.defineMacro("__STDC_NO_THREADS__"); + } + if (Opts.EnableAIXExtendedAltivecABI) Builder.defineMacro("__EXTABI__");
Index: clang/test/Preprocessor/init-ppc.c =================================================================== --- clang/test/Preprocessor/init-ppc.c +++ clang/test/Preprocessor/init-ppc.c @@ -723,6 +723,16 @@ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-NOTHREADSAFE %s // PPC-AIX-NOTHREADSAFE-NOT:#define _THREAD_SAFE 1 +// RUN: %clang_cc1 -x c -std=c11 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC %s +// RUN: %clang_cc1 -x c -std=gnu11 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC %s +// RUN: %clang_cc1 -x c -std=c17 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC %s +// PPC-AIX-STDC:#define __STDC_NO_ATOMICS__ 1 +// PPC-AIX-STDC:#define __STDC_NO_THREADS__ 1 + +// RUN: %clang_cc1 -x c -std=c99 -E -dM -ffreestanding -triple=powerpc-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-AIX-STDC-N %s +// PPC-AIX-STDC-N-NOT:#define __STDC_NO_ATOMICS__ 1 +// PPC-AIX-STDC-N-NOT:#define __STDC_NO_THREADS__ 1 + // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-LINUX %s // // PPC-LINUX:#define _ARCH_PPC 1 Index: clang/lib/Basic/Targets/OSTargets.h =================================================================== --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -676,6 +676,11 @@ Builder.defineMacro("_AIX"); + if (LangStandard::getLangStandardForKind(Opts.LangStd).isC11()) { + Builder.defineMacro("__STDC_NO_ATOMICS__"); + Builder.defineMacro("__STDC_NO_THREADS__"); + } + if (Opts.EnableAIXExtendedAltivecABI) Builder.defineMacro("__EXTABI__");
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits