Hi Bruno, We talked about removing `-fcoroutines-ts` in https://github.com/llvm/llvm-project/issues/59110 and https://reviews.llvm.org/D108697. I raised the example you used here. And the conclusion is that this is the clang's policy for `-f*-ts` options. The same thing happens for -fconcepts-ts and -fmodules-ts. From my understanding, this is because we (clang) want less dialects and we want to focus on the form `-std=*`. > If my understanding now is right, `-std=c++17 -fcoroutines` should work, > right? `clang -std=c++17 -fcoroutines` shouldn't work. Since it is the same with `-fcoroutines-ts`. But if you want or you can't update to `-std=c++20` quickly, you can use `clang -std=c++17 -Xclang -fcoroutines` for the period of transition. But the `Xclang` options are for developers instead of the users. So we (the users) should update to `-std=c++20` or higher to use coroutines finally. Thanks, Chuanqi ------------------------------------------------------------------ From:Bruno Cardoso Lopes <bruno.card...@gmail.com> Send Time:2023年2月28日(星期二) 06:51 To:Chuanqi Xu <yedeng...@linux.alibaba.com>; Chuanqi Xu <llvmlist...@llvm.org> Cc:cfe-commits <cfe-commits@lists.llvm.org> Subject:Re: [clang] 6ed67cc - [Coroutines] Remove -fcoroutines-ts > I understand that the name "coroutines-ts" isn't meaningful these > days, but it also sounds like this commit does more than remove the > flag, it caps useful functionality. How are users supposed to use > c++17 with coroutines now? It's very common in our codebase and we > have users relying on it. Looks like I misread your patch, sorry! If my understanding now is right, `-std=c++17 -fcoroutines` should work, right? We should probably add an extra test in `clang/test/Driver/coroutines.cpp` that just test that (we currently just test when it's not). Cheers, -- Bruno Cardoso Lopes http://www.brunocardoso.cc
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits