[PATCH] D85324: [SystemZ][z/OS] Add z/OS Target and define macros

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 20 12:54:53 PDT 2020


MaskRay added inline comments.


================
Comment at: clang/lib/Basic/Targets/OSTargets.h:743
+    Builder.defineMacro("__BFP__");
+    // FIXME: __BOOL__ should be defined under strict -std=c89.
+    Builder.defineMacro("__BOOL__");
----------------
What is strict -std=c89? `!Opts.C99` ?


================
Comment at: clang/lib/Basic/Targets/OSTargets.h:757
+    if (Opts.C99)
+      Builder.defineMacro("_ISOC99_SOURCE");
+
----------------
This is strange. On other systems the user requests it.


================
Comment at: clang/lib/Basic/Targets/OSTargets.h:773
+      // type is not declared as a typedef in system headers.
+      Builder.defineMacro("__wchar_t");
+    }
----------------
Does it need a value?


================
Comment at: clang/test/Preprocessor/init-zos.c:4
+// RUN: %clang_cc1 -x c++ -std=gnu++14 -E -dM -ffreestanding -triple=s390x-none-zos -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix S390X-ZOS -check-prefix S390X-ZOS-GNUXX %s
+//
+// S390X-ZOS-GNUXX:#define _EXT 1
----------------
We usually drop `// ` 'empty' lines. Their absence makes navigation easier.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85324/new/

https://reviews.llvm.org/D85324



More information about the cfe-commits mailing list