Index: clang/lib/Driver/ToolChains/WebAssembly.cpp =================================================================== --- clang/lib/Driver/ToolChains/WebAssembly.cpp +++ clang/lib/Driver/ToolChains/WebAssembly.cpp @@ -528,10 +528,12 @@ // First add the per-target include path if the OS is known. if (IsKnownOs) { - std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version; + std::string TargetDir = LibPath + "/c++/" + Version + "/" + MultiarchTriple; addSystemInclude(DriverArgs, CC1Args, TargetDir); } // Second add the generic one. addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); + // Third the backward one. + addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward"); } Index: clang/test/Driver/wasm-toolchain.cpp =================================================================== --- clang/test/Driver/wasm-toolchain.cpp +++ clang/test/Driver/wasm-toolchain.cpp @@ -80,8 +80,9 @@ // COMPILE_STDCXX: clang{{.*}}" "-cc1" // COMPILE_STDCXX: "-resource-dir" "[[RESOURCE_DIR:[^"]*]]" // COMPILE_STDCXX: "-isysroot" "[[SYSROOT:[^"]+]]" -// COMPILE_STDCXX: "-internal-isystem" "[[SYSROOT:[^"]+]]/include/wasm32-wasi/c++/4.8" +// COMPILE_STDCXX: "-internal-isystem" "[[SYSROOT:[^"]+]]/include/c++/4.8/wasm32-wasi" // COMPILE_STDCXX: "-internal-isystem" "[[SYSROOT:[^"]+]]/include/c++/4.8" +// COMPILE_STDCXX: "-internal-isystem" "[[SYSROOT:[^"]+]]/include/c++/4.8/backward" // COMPILE_STDCXX: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include" // COMPILE_STDCXX: "-internal-isystem" "[[SYSROOT:[^"]+]]/include/wasm32-wasi" // COMPILE_STDCXX: "-internal-isystem" "[[SYSROOT:[^"]+]]/include"