anchor.diff:  
     gccMultiStdenv = overrideCC stdenv gcc_multi;
     clangMultiStdenv = overrideCC stdenv clang_multi;
  +  multiStdenv = if stdenv.cc.isClang then clangMultiStdenv else gccMultiStdenv;
   
     gcc_debug = lowPrio (wrapCC (gcc.cc.override {
       stripped = false;
  
positive.code:   };
  
    #Use this instead of stdenv to build with clang
    clangStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.stdenv;
    clang-sierraHack-stdenv = overrideCC stdenv clang-sierraHack;
    libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv;
  
  
negative.code:   gcc = gcc6;
    gcc-unwrapped = gcc.cc;
  
    gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override {
      allowedRequisites = null;
      cc = gcc;
      # Remove libcxx/libcxxabi, and add clang for AS if on darwin (it uses
      # clang's internal assembler).
      extraBuildInputs = lib.optional hostPlatform.isDarwin clang.cc;
    };
  
    wrapCCMulti = cc:
  