kaz7 created this revision. kaz7 added reviewers: simoll, k-ishizaka. kaz7 added projects: clang, VE. Herald added a subscriber: cfe-commits. kaz7 requested review of this revision.
VE needs to support integrated assembler and "nas". This "nas" doesn't recognize ".sigaddr" pseudo mnemonics, so need to disable it. This patch disable it on VE by default. Also add a regression test for that. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D91350 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/ve-toolchain.c Index: clang/test/Driver/ve-toolchain.c =================================================================== --- clang/test/Driver/ve-toolchain.c +++ clang/test/Driver/ve-toolchain.c @@ -60,6 +60,23 @@ // NOTINITARRAY: clang{{.*}} "-cc1" // NOTINITARRAY: "-fno-use-init-array" +///----------------------------------------------------------------------------- +/// Checking -faddrsig + +// RUN: %clang -### -target ve %s 2>&1 | FileCheck -check-prefix=DEFADDESIG %s +// DEFADDESIG: clang{{.*}} "-cc1" +// DEFADDESIG-NOT: "-faddrsig" + +// RUN: %clang -### -target ve %s -faddrsig 2>&1 | \ +// RUN: FileCheck -check-prefix=ADDRSIG %s +// ADDRSIG: clang{{.*}} "-cc1" +// ADDRSIG: "-faddrsig" + +// RUN: %clang -### -target ve %s -fno-addrsig 2>&1 | \ +// RUN: FileCheck -check-prefix=NOADDRSIG %s +// NOADDRSIG: clang{{.*}} "-cc1" +// NOADDRSIG-NOT: "-faddrsig" + ///----------------------------------------------------------------------------- /// Checking exceptions Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -6365,11 +6365,10 @@ if (Args.hasFlag(options::OPT_faddrsig, options::OPT_fno_addrsig, (TC.getTriple().isOSBinFormatELF() || TC.getTriple().isOSBinFormatCOFF()) && - !TC.getTriple().isPS4() && - !TC.getTriple().isOSNetBSD() && - !Distro(D.getVFS(), TC.getTriple()).IsGentoo() && - !TC.getTriple().isAndroid() && - TC.useIntegratedAs())) + !TC.getTriple().isPS4() && !TC.getTriple().isVE() && + !TC.getTriple().isOSNetBSD() && + !Distro(D.getVFS(), TC.getTriple()).IsGentoo() && + !TC.getTriple().isAndroid() && TC.useIntegratedAs())) CmdArgs.push_back("-faddrsig"); if (Arg *A = Args.getLastArg(options::OPT_fsymbol_partition_EQ)) {
Index: clang/test/Driver/ve-toolchain.c =================================================================== --- clang/test/Driver/ve-toolchain.c +++ clang/test/Driver/ve-toolchain.c @@ -60,6 +60,23 @@ // NOTINITARRAY: clang{{.*}} "-cc1" // NOTINITARRAY: "-fno-use-init-array" +///----------------------------------------------------------------------------- +/// Checking -faddrsig + +// RUN: %clang -### -target ve %s 2>&1 | FileCheck -check-prefix=DEFADDESIG %s +// DEFADDESIG: clang{{.*}} "-cc1" +// DEFADDESIG-NOT: "-faddrsig" + +// RUN: %clang -### -target ve %s -faddrsig 2>&1 | \ +// RUN: FileCheck -check-prefix=ADDRSIG %s +// ADDRSIG: clang{{.*}} "-cc1" +// ADDRSIG: "-faddrsig" + +// RUN: %clang -### -target ve %s -fno-addrsig 2>&1 | \ +// RUN: FileCheck -check-prefix=NOADDRSIG %s +// NOADDRSIG: clang{{.*}} "-cc1" +// NOADDRSIG-NOT: "-faddrsig" + ///----------------------------------------------------------------------------- /// Checking exceptions Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -6365,11 +6365,10 @@ if (Args.hasFlag(options::OPT_faddrsig, options::OPT_fno_addrsig, (TC.getTriple().isOSBinFormatELF() || TC.getTriple().isOSBinFormatCOFF()) && - !TC.getTriple().isPS4() && - !TC.getTriple().isOSNetBSD() && - !Distro(D.getVFS(), TC.getTriple()).IsGentoo() && - !TC.getTriple().isAndroid() && - TC.useIntegratedAs())) + !TC.getTriple().isPS4() && !TC.getTriple().isVE() && + !TC.getTriple().isOSNetBSD() && + !Distro(D.getVFS(), TC.getTriple()).IsGentoo() && + !TC.getTriple().isAndroid() && TC.useIntegratedAs())) CmdArgs.push_back("-faddrsig"); if (Arg *A = Args.getLastArg(options::OPT_fsymbol_partition_EQ)) {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits