On Tue, May 19, 2020 at 11:36:23PM +0200, Patrick Wildt wrote:
> Hi,
> 
> drahn@ was complaining to me that his cross-compiler wasn't defining
> __OpenBSD__ or __ELF__, and I think the fix is pretty simple.  We're
> just missing a case in a switch-case.
> 
> The .cpp file itself still compiles, but I haven't built a full clang
> with it.  Please give it a go and report back.
> 
> I'll already ask for OKs though, but will only commit once I got
> positive feedback.  :)
> 
> ok?

$ powerpc64-unknown-openbsd6.7-clang -dM -E -
...
#define __OpenBSD__ 1
...
#define __ELF__ 1
...

ok drahn@

> 
> Patrick
> 
> diff --git a/gnu/llvm/tools/clang/lib/Basic/Targets.cpp 
> b/gnu/llvm/tools/clang/lib/Basic/Targets.cpp
> index 3c139d72479..5bff08ad70d 100644
> --- a/gnu/llvm/tools/clang/lib/Basic/Targets.cpp
> +++ b/gnu/llvm/tools/clang/lib/Basic/Targets.cpp
> @@ -349,6 +349,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
>        return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
>      case llvm::Triple::NetBSD:
>        return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
> +    case llvm::Triple::OpenBSD:
> +      return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
>      default:
>        return new PPC64TargetInfo(Triple, Opts);
>      }
> @@ -359,6 +361,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
>        return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts);
>      case llvm::Triple::NetBSD:
>        return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
> +    case llvm::Triple::OpenBSD:
> +      return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
>      default:
>        return new PPC64TargetInfo(Triple, Opts);
>      }
> 
Dale Rahn                               [email protected]

Reply via email to