anjankgk created this revision. anjankgk added reviewers: daltenty, Whitney, hubert.reinterpretcast. anjankgk requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
AIX currently doesn't support the 128-bit long double. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D106074 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/unsupported-option.c Index: clang/test/Driver/unsupported-option.c =================================================================== --- clang/test/Driver/unsupported-option.c +++ clang/test/Driver/unsupported-option.c @@ -21,3 +21,11 @@ // RUN: not %clang -fprofile-generate -flto=thin --target=powerpc64-ibm-aix %s 2>&1 | \ // RUN: FileCheck %s --check-prefix=AIX-PROFILE-THINLTO // AIX-PROFILE-THINLTO: error: invalid argument '-fprofile-generate' only allowed with '-flto' + +// RUN: not %clang --target=powerpc-ibm-aix %s -mlong-double-128 2>&1 | \ +// RUN: FileCheck %s --check-prefix=AIX-LONGDOUBLE128-ERR +// AIX-LONGDOUBLE128-ERR: error: unsupported option '-mlong-double-128' for target 'powerpc-ibm-aix' + +// RUN: not %clang --target=powerpc64-ibm-aix %s -mlong-double-128 2>&1 | \ +// RUN: FileCheck %s --check-prefix=AIX64-LONGDOUBLE128-ERR +// AIX64-LONGDOUBLE128-ERR: error: unsupported option '-mlong-double-128' for target 'powerpc64-ibm-aix' Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -4841,6 +4841,13 @@ CmdArgs.push_back("-mabi=vec-default"); } + if (Arg *A = Args.getLastArg(options::OPT_mlong_double_128)) { + // AIX doesn't support 128-bit long double yet. + if (Triple.isOSAIX()) + D.Diag(diag::err_drv_unsupported_opt_for_target) + << A->getSpelling() << RawTriple.str(); + } + if (Arg *A = Args.getLastArg(options::OPT_Wframe_larger_than_EQ)) { StringRef v = A->getValue(); // FIXME: Validate the argument here so we don't produce meaningless errors
Index: clang/test/Driver/unsupported-option.c =================================================================== --- clang/test/Driver/unsupported-option.c +++ clang/test/Driver/unsupported-option.c @@ -21,3 +21,11 @@ // RUN: not %clang -fprofile-generate -flto=thin --target=powerpc64-ibm-aix %s 2>&1 | \ // RUN: FileCheck %s --check-prefix=AIX-PROFILE-THINLTO // AIX-PROFILE-THINLTO: error: invalid argument '-fprofile-generate' only allowed with '-flto' + +// RUN: not %clang --target=powerpc-ibm-aix %s -mlong-double-128 2>&1 | \ +// RUN: FileCheck %s --check-prefix=AIX-LONGDOUBLE128-ERR +// AIX-LONGDOUBLE128-ERR: error: unsupported option '-mlong-double-128' for target 'powerpc-ibm-aix' + +// RUN: not %clang --target=powerpc64-ibm-aix %s -mlong-double-128 2>&1 | \ +// RUN: FileCheck %s --check-prefix=AIX64-LONGDOUBLE128-ERR +// AIX64-LONGDOUBLE128-ERR: error: unsupported option '-mlong-double-128' for target 'powerpc64-ibm-aix' Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -4841,6 +4841,13 @@ CmdArgs.push_back("-mabi=vec-default"); } + if (Arg *A = Args.getLastArg(options::OPT_mlong_double_128)) { + // AIX doesn't support 128-bit long double yet. + if (Triple.isOSAIX()) + D.Diag(diag::err_drv_unsupported_opt_for_target) + << A->getSpelling() << RawTriple.str(); + } + if (Arg *A = Args.getLastArg(options::OPT_Wframe_larger_than_EQ)) { StringRef v = A->getValue(); // FIXME: Validate the argument here so we don't produce meaningless errors
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits