From 9288c6f27a0d159af7f6b39c59b50597b6a8a0ce Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Thu, 17 Sep 2015 21:20:16 +0000 Subject: [PATCH] [Myriad]: add "/include" to standard search path git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247948 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/ToolChains.cpp | 6 ++++++ lib/Driver/ToolChains.h | 3 +++ test/Driver/myriad-toolchain.c | 9 +++++++++ 3 files changed, 18 insertions(+) diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 592542d5fb..b0b7cc3c57 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -3944,6 +3944,12 @@ MyriadToolChain::MyriadToolChain(const Driver &D, const llvm::Triple &Triple, MyriadToolChain::~MyriadToolChain() {} +void MyriadToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs, + ArgStringList &CC1Args) const { + if (!DriverArgs.hasArg(options::OPT_nostdinc)) + addSystemInclude(DriverArgs, CC1Args, getDriver().SysRoot + "/include"); +} + // MyriadToolChain handles several triples: // {shave,sparc{,el}}-myriad-{rtems,unknown}-elf Tool *MyriadToolChain::SelectTool(const JobAction &JA) const { diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index 3a10ca7633..203e30bc84 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -928,6 +928,9 @@ public: const llvm::opt::ArgList &Args); ~MyriadToolChain() override; + void + AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; Tool *SelectTool(const JobAction &JA) const override; void getCompilerSupportDir(std::string &Dir) const; void getBuiltinLibDir(std::string &Dir) const; diff --git a/test/Driver/myriad-toolchain.c b/test/Driver/myriad-toolchain.c index 55828017dc..256a56449c 100644 --- a/test/Driver/myriad-toolchain.c +++ b/test/Driver/myriad-toolchain.c @@ -8,6 +8,15 @@ // LINK_WITH_RTEMS: Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2/crtend.o // LINK_WITH_RTEMS: Inputs/basic_myriad_tree/lib/gcc/sparc-myriad-elf/4.8.2/crtn.o +// RUN: %clang -### -E -target sparc-myriad --sysroot=/yow %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix=SLASH_INCLUDE +// SLASH_INCLUDE: "-isysroot" "/yow" "-internal-isystem" "/yow/include" + +// RUN: %clang -### -E -target sparc-myriad --sysroot=/yow %s -nostdinc 2>&1 \ +// RUN: | FileCheck %s -check-prefix=NO_SLASH_INCLUDE +// NO_SLASH_INCLUDE: "-isysroot" "/yow" +// NO_SLASH_INCLUDE-NOT: "-internal-isystem" "/yow/include" + // RUN: %clang -### -target what-myriad %s 2>&1 | FileCheck %s -check-prefix=BAD_ARCH // BAD_ARCH: the target architecture 'what' is not supported by the target 'myriad' -- 2.50.1