[Clang][Driver] Recognize the AIX OBJECT_MODE environment setting
authorDavid Tenty <daltenty@ibm.com>
Thu, 9 Jul 2020 19:10:19 +0000 (15:10 -0400)
committerDavid Tenty <daltenty@ibm.com>
Thu, 9 Jul 2020 19:15:30 +0000 (15:15 -0400)
commit25ec96d91a3a5326a403496fa5532ff0bdb6a15b
treed0eb7b565b708ca108370c902b1f460e74a0a47a
parent2ede89187516ccd4ba06b83303e9d07c5d555ecf
[Clang][Driver] Recognize the AIX OBJECT_MODE environment setting

Summary:
AIX uses an environment variable called OBJECT_MODE to indicate to
utilities in the toolchain whether they should be operating in 32-bit or
64-bit mode. This patch makes the clang driver recognize the current
OBJECT_MODE setting when we are operating with an AIX target and adds a
custom diagnostic for invalid settings.

For more details about OBJECT_MODE on AIX see:

https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/tusetenv1.html
https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/opt_3264.html

Reviewers: stevewan, hubert.reinterpretcast, ShuhongL, jasonliu

Reviewed By: hubert.reinterpretcast, jasonliu

Subscribers: jasonliu, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82476
clang/include/clang/Basic/DiagnosticDriverKinds.td
clang/lib/Driver/Driver.cpp
clang/test/Driver/aix-object-mode.c [new file with mode: 0644]