From bca4378009c3db34f2153b9adfa893e9bbf3b4fb Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Fri, 15 Jul 2022 10:04:24 +0200 Subject: [PATCH] Hopefully another linux fix --- uppsrc/ide/clang/clang.cpp | 13 ++++++++----- uppsrc/ide/clang/clang.h | 1 + uppsrc/ide/main.cpp | 2 -- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/uppsrc/ide/clang/clang.cpp b/uppsrc/ide/clang/clang.cpp index b9b14d545..50735b1a3 100644 --- a/uppsrc/ide/clang/clang.cpp +++ b/uppsrc/ide/clang/clang.cpp @@ -29,14 +29,20 @@ String SourceLocation::ToString() const return String() << filename << " (" << line << ":" << column << ")"; } -#ifdef PLATFORM_WIN32 String GetClangInternalIncludes() { static String includes; ONCELOCK { String dummy = ConfigFile("dummy.cpp"); Upp::SaveFile(dummy, String()); - String h = Sys(GetExeDirFile("bin/clang/bin/c++") + " -v -x c++ -E " + dummy); + String h = Sys( + #ifdef PLATFORM_WIN32 + GetExeDirFile("bin/clang/bin/c++") + + #else + "clang++" + #endif + " -v -x c++ -E " + dummy + ); DeleteFile(dummy); h.Replace("\r", ""); Vector ln = Split(h, '\n'); @@ -48,7 +54,6 @@ String GetClangInternalIncludes() } return includes; } -#endif SourceLocation::SourceLocation(CXSourceLocation location) { @@ -79,9 +84,7 @@ bool Clang::Parse(const String& filename, const String& content, const String& i cmdline << RedefineMacros(); String includes = includes_; -#ifdef PLATFORM_WIN32 MergeWith(includes, ";", GetClangInternalIncludes()); -#endif Vector args; for(const String& s : Split(includes, ';')) diff --git a/uppsrc/ide/clang/clang.h b/uppsrc/ide/clang/clang.h index f3f55585a..25c2db3ad 100644 --- a/uppsrc/ide/clang/clang.h +++ b/uppsrc/ide/clang/clang.h @@ -23,6 +23,7 @@ struct SourceLocation { }; String RedefineMacros(); +String GetClangInternalIncludes(); enum AdditionalKinds { KIND_INCLUDEFILE = -1000, diff --git a/uppsrc/ide/main.cpp b/uppsrc/ide/main.cpp index 04af09f42..825d24fba 100644 --- a/uppsrc/ide/main.cpp +++ b/uppsrc/ide/main.cpp @@ -116,8 +116,6 @@ void StartEditorMode(const Vector& args, Ide& ide, bool& clset) return Upp::GetExitCode(); \ } -String GetClangInternalIncludes(); - #ifdef flagMAIN GUI_APP_MAIN #else