summaryrefslogtreecommitdiff
path: root/xmake/modules/detect/tools/clang/cxxfeatures.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/modules/detect/tools/clang/cxxfeatures.lua')
-rw-r--r--xmake/modules/detect/tools/clang/cxxfeatures.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/xmake/modules/detect/tools/clang/cxxfeatures.lua b/xmake/modules/detect/tools/clang/cxxfeatures.lua
index 6a468db00..1fd57c8d6 100644
--- a/xmake/modules/detect/tools/clang/cxxfeatures.lua
+++ b/xmake/modules/detect/tools/clang/cxxfeatures.lua
@@ -38,9 +38,10 @@ function main()
_g.features = cxxfeatures()
-- init conditions
+ -- clang -x c++ -std=c++20 -dM -E - < /dev/null | grep __cplusplus
local clang_minver = "((__clang_major__ * 100) + __clang_minor__) >= 301"
- local clang80_cxx20 = "((__clang_major__ * 100) + __clang_minor__) >= 800 && __cplusplus > 201707L"
- local clang50_cxx17 = "((__clang_major__ * 100) + __clang_minor__) >= 500 && __cplusplus > 201703L"
+ local clang80_cxx20 = "((__clang_major__ * 100) + __clang_minor__) >= 800 && __cplusplus >= 202002L"
+ local clang50_cxx17 = "((__clang_major__ * 100) + __clang_minor__) >= 500 && __cplusplus >= 201703L"
local clang34_cxx14 = "((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus > 201103L"
local clang31_cxx11 = clang_minver .. " && __cplusplus >= 201103L"
local clang29_cxx11 = clang_minver .. " && __cplusplus >= 201103L"