[PATCH] D157331: [clang] Implement C23

2023-10-19 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D157331#4654362 , @jrtc27 wrote: > In D157331#4654353 , @aaron.ballman > wrote: > >> In D157331#4654265 , @mstorsjo >> wrote: >> >>> Th

[PATCH] D157331: [clang] Implement C23

2023-10-18 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added a comment. In D157331#4654353 , @aaron.ballman wrote: > In D157331#4654265 , @mstorsjo > wrote: > >> This change broke building a recent version of gettext. Gettext uses gnulib >> for polyfilling v

[PATCH] D157331: [clang] Implement C23

2023-10-18 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D157331#4654265 , @mstorsjo wrote: > This change broke building a recent version of gettext. Gettext uses gnulib > for polyfilling various utility functions. Since not long ago, these > functions internally use ``, > h

[PATCH] D157331: [clang] Implement C23

2023-10-18 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added a comment. This change broke building a recent version of gettext. Gettext uses gnulib for polyfilling various utility functions. Since not long ago, these functions internally use ``, https://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/malloca.c?id=ef5a4088d9236a55283d1eb576

[PATCH] D157331: [clang] Implement C23

2023-10-16 Thread Zijun Zhao via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3694697003bb: [clang] Implement C23 (authored by ZijunZhao). Changed prior to commit: https://reviews.llvm.org/D157331?vs=557650&id=557720#toc Repository: rG LLVM Github Monorepo CHANG

[PATCH] D157331: [clang] Implement C23

2023-10-16 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added a comment. Thanks, my concerns in the tests have been addressed Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 ___ cfe-commits mailing list cfe-co

[PATCH] D157331: [clang] Implement C23

2023-10-09 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557650. ZijunZhao added a comment. Add the blank lines back and then rerun the utc script Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/Relea

[PATCH] D157331: [clang] Implement C23

2023-10-06 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added inline comments. Comment at: clang/test/C/C2x/n2683_2.c:5-6 +#include +#include +// CHECK-LABEL: define dso_local void @test_add_overflow_to64( +// CHECK-SAME: ) #[[ATTR0:[0-9]+]] { jrtc27 wrote: > UTC won't insert such a blank line if it doesn't e

[PATCH] D157331: [clang] Implement C23

2023-10-06 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM! Please wait for @jrtc27 to also sign off before landing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://r

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557622. ZijunZhao added a comment. 1. set `--triple=x86-64` as the first argument 2. run the script for the tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Fi

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added inline comments. Comment at: clang/test/C/C2x/n2683_2.c:5-6 +#include +#include +// CHECK-LABEL: define dso_local void @test_add_overflow_to64( +// CHECK-SAME: ) #[[ATTR0:[0-9]+]] { UTC won't insert such a blank line if it doesn't exist in the inpu

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557621. ZijunZhao added a comment. Add --triple=x86_64 into the tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added a comment. In D157331#4653224 , @aaron.ballman wrote: > In D157331#4653222 , @jrtc27 wrote: > >> One more thought: we need to specify a triple for the tests as otherwise >> it'll use whatever defaul

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D157331#4653222 , @jrtc27 wrote: > One more thought: we need to specify a triple for the tests as otherwise > it'll use whatever default you have configured in LLVM, which will affect the > exact code generated (especia

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added a comment. One more thought: we need to specify a triple for the tests as otherwise it'll use whatever default you have configured in LLVM, which will affect the exact code generated (especially wrt argument and return lowering), no? Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557619. ZijunZhao added a comment. Run the script to update the test Test command: llvm/utils/update_cc_test_checks.py --clang build/bin/clang ./clang/test/C/C2x/n2683_2.c llvm/utils/update_cc_test_checks.py --clang build/bin/clang ./clang/test/Headers/s

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added inline comments. Comment at: clang/test/C/C2x/n2683_2.c:14 +// CHECK:store i64 %2, ptr %[[RES64]], align 8 +// CHECK:%frombool = zext i1 %1 to i8 +// CHECK:store i8 %frombool, ptr %[[FLAG_ADD:.*]], align 1 You missed this one. But please

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Please use update_cc_test_checks.py Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 ___ cfe-commits mailing list cfe-commits@lists.llv

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557618. ZijunZhao marked 3 inline comments as done. ZijunZhao added a comment. Name a regex pattern and then use that to avoid post-commit CI breakage. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/C/C2x/n2683_2.c:7-15 +// CHECK:%result64 = alloca i64, align 8 +// CHECK:%flag_add = alloca i8, align 1 +// CHECK:store i64 0, ptr %result64, align 8 +// CHECK:%0 = call { i64, i1 } @llvm.sadd.with.overfl

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added inline comments. Comment at: clang/test/C/C2x/n2683_2.c:7-15 +// CHECK:%result64 = alloca i64, align 8 +// CHECK:%flag_add = alloca i8, align 1 +// CHECK:store i64 0, ptr %result64, align 8 +// CHECK:%0 = call { i64, i1 } @llvm.sadd.with.overflow.i64(

[PATCH] D157331: [clang] Implement C23

2023-10-05 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/C/C2x/n2683_2.c:7-15 +// CHECK:%result64 = alloca i64, align 8 +// CHECK:%flag_add = alloca i8, align 1 +// CHECK:store i64 0, ptr %result64, align 8 +// CHECK:%0 = call { i64, i1 } @llvm.sadd.with.overfl

[PATCH] D157331: [clang] Implement C23

2023-10-04 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557589. ZijunZhao added a comment. Remove stdckdint.h in module.map Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/inc

[PATCH] D157331: [clang] Implement C23

2023-10-04 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. Precommit CI is still finding some issues that boil down to: # .---command stderr # | C:\ws\src\clang\test\Modules/Inputs/System/usr/include\module.map:19:12: error: header 'stdckdint.h' not found # |19 | header "stdckdint.h" # | |

[PATCH] D157331: [clang] Implement C23

2023-10-03 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557565. ZijunZhao added a comment. Rebase to latest main branch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/include

[PATCH] D157331: [clang] Implement C23

2023-09-29 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557493. ZijunZhao added a comment. Update the SemaChecking.cpp and the test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst

[PATCH] D157331: [clang] Implement C23

2023-09-29 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. Precommit CI seems to be finding issues with your changes: [3278/3832] Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaChecking.cpp.o FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaChecking.cpp.o ccache /usr/bin/c++ -D

[PATCH] D157331: [clang] Implement C23

2023-09-28 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 557470. ZijunZhao marked 5 inline comments as done. ZijunZhao added a comment. 1. Simplify code in SemaChecking.cpp 2. Fix the nit and rename the variable in SemaChecking.cpp 3. Update the condition in SemaChecking.cpp 4. Add wchar_t test to show our care

[PATCH] D157331: [clang] Implement C23

2023-09-28 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:373-387 + bool CkdOperation = false; + SourceManager &SM = S.getSourceManager(); + if (BuiltinID == Builtin::BI__builtin_add_overflow && +TheCall->getExprLoc().isMacroID() && Lexer::getImm

[PATCH] D157331: [clang] Implement C23

2023-09-19 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D157331#4648417 , @pirama wrote: > @aaron.ballman do you have additional comments or does this patch looks good > to merge? Aaron is away this week at a conference in Norway (see his Discourse announcement), so you're not

[PATCH] D157331: [clang] Implement C23

2023-09-19 Thread Pirama Arumuga Nainar via Phabricator via cfe-commits
pirama added a comment. @aaron.ballman do you have additional comments or does this patch looks good to merge? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 556504. ZijunZhao added a comment. Remove c++ related conditions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/includ

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 556496. ZijunZhao added a comment. update comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 556494. ZijunZhao added a comment. add #include_next Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basi

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 556484. ZijunZhao added a comment. update the reformat msg and tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/in

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 556475. ZijunZhao marked an inline comment as done. ZijunZhao added a comment. Reformat the error msg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Elliott Hughes via Phabricator via cfe-commits
enh added a comment. (yeah, similar for Android --- we'll just use the clang one as-is. but if there's already precedent for allowing include_next, that doesn't hurt us either.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://re

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added inline comments. Comment at: clang/lib/Headers/stdckdint.h:12 +#define __STDCKDINT_H + +/* C23 7.20.1 Defines several macros for performing checked integer arithmetic*/ pirama wrote: > aaron.ballman wrote: > > Should a hosted build attempt to do an

[PATCH] D157331: [clang] Implement C23

2023-09-11 Thread Pirama Arumuga Nainar via Phabricator via cfe-commits
pirama added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:8618-8619 + "operand argument to %select{overflow builtin|checked integer operation}0 " + "must be an integer type %select{|other than plain 'char', 'bool', bit-precise, " + "or an enum

[PATCH] D157331: [clang] Implement C23

2023-08-30 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 554784. ZijunZhao marked 3 inline comments as done. ZijunZhao added a comment. Remove the short type check part. >From Aaron Ballman: > Instead, we'd want to do some data flow analysis (in the clang static > analyzer) so we know the potential range of va

[PATCH] D157331: [clang] Implement C23

2023-08-29 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao marked an inline comment as not done. ZijunZhao added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:388 + } + // First two arguments should be integers. aaron.ballman wrote: > I keeps my original code because it just checks once but

[PATCH] D157331: [clang] Implement C23

2023-08-29 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 554534. ZijunZhao marked 3 inline comments as done. ZijunZhao added a comment. 1. Remove pure integer check to the right place 2. Update error msg and all related tests 3. Add explanations to header file Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D157331: [clang] Implement C23

2023-08-29 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. I have some suggested changes for the way we're checking and diagnosing unsuitable types; I've not tried my suggestions out though, so if you run into problems, please let me know. Comment at: clang/include/clang/AST/Type.h:2159 bool isEnumer

[PATCH] D157331: [clang] Implement C23

2023-08-25 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 553639. ZijunZhao added a comment. Add integer type test and update c2x tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst

[PATCH] D157331: [clang] Implement C23

2023-08-24 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 553274. ZijunZhao added a comment. Prevent result type from being short and fix the breaking in builtinoverflow.cpp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331

[PATCH] D157331: [clang] Implement C23

2023-08-24 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 553199. ZijunZhao added a comment. Rename the warn_overflow_builtin_can_not_be_short for precision Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/do

[PATCH] D157331: [clang] Implement C23

2023-08-23 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 552899. ZijunZhao marked 2 inline comments as done. ZijunZhao added a comment. 1. define __STDC_VERSION_STDCKDINT_H__ 2. check short type Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://revi

[PATCH] D157331: [clang] Implement C23

2023-08-22 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#define __STDC_VERSION_STDCKDINT_H__ 202311L + I think this should only be defined when the function-like macros are being defined, so this should move down into the `#if` block

[PATCH] D157331: [clang] Implement C23

2023-08-21 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/lib/Headers/stdckdint.h:1 +/*=== stdckdint.h - Standard header for checking integer + *-=== aaron.ballman wrote: > hiraditya wrote: > > nit: format. > The formatting for this is still

[PATCH] D157331: [clang] Implement C23

2023-08-21 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/test/C/C2x/n2683.c:16 + +bool flag_add = ckd_add(&result, a33, char_var); +bool flag_sub = ckd_sub(&result, bool_var, day); aaron.ballman wrote: > It looks like the builtins are missing some checks that a

[PATCH] D157331: [clang] Implement C23

2023-08-21 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 552177. ZijunZhao marked 9 inline comments as done. ZijunZhao added a comment. 1. Reformat test files in C/C2x 2. Update the definition and the test about `__STDC_VERSION_STDCKDINT_H__` 3. Update release docs and the introduction in the test file 4. Update R

[PATCH] D157331: [clang] Implement C23

2023-08-21 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a subscriber: jrtc27. aaron.ballman added inline comments. Comment at: clang/docs/ReleaseNotes.rst:113-115 +- Clang now adds which defines several macros for performing + checked integer arithmetic. The macro ``__STDC_VERSION_STDCKDINT_H__`` + is an integer

[PATCH] D157331: [clang] Implement C23

2023-08-18 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added a comment. Reformat clang/lib/Lex/PPDirectives.cpp. I use git-clang-format due to previous pre-check failure but lots of modifications in clang/lib/Lex/ directory. Should I keep running git-clang-format if the pre-check fails again? Repository: rG LLVM Github Monorepo CHANGE

[PATCH] D157331: [clang] Implement C23

2023-08-18 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 551607. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/docs/ReleaseNotes.rst clang/lib/Headers/CMakeLists.txt clang/lib/Headers/stdckdint.h clan

[PATCH] D157331: [clang] Implement C23

2023-08-16 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/test/C/C2x/n2359.c:40 +#error "__STDC_VERSION_STDCKDINT_H__ not defined" +// expected-error@-1 {{"__STDC_VERSION_STDCKDINT_H__ not defined"}} +#endif enh wrote: > don't you need another test somewhere that this _

[PATCH] D157331: [clang] Implement C23

2023-08-16 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/test/C/C2x/n2359.c:40 +#error "__STDC_VERSION_STDCKDINT_H__ not defined" +// expected-error@-1 {{"__STDC_VERSION_STDCKDINT_H__ not defined"}} +#endif don't you need another test somewhere that this _is_ defined under s

[PATCH] D157331: [clang] Implement C23

2023-08-16 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added a comment. Skip `static_assert()` tests because `constexpr` is not supported in C23 yet: https://github.com/llvm/llvm-project/issues/64742 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331

[PATCH] D157331: [clang] Implement C23

2023-08-16 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 550910. ZijunZhao added a comment. 1. separate two files in clang/test/C/C2x 2. make some update about the macro __STDC_VERSION_STDCKDINT_H__ add the test for testing it Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.ll

[PATCH] D157331: [clang] Implement C23

2023-08-16 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:10 + +#ifndef __STDC_VERSION_STDCKDINT_H__ +#define __STDC_VERSION_STDCKDINT_H__ i think this should just be `__STDCKDINT_H` to match the other headers' include guards, and then you want a _sep

[PATCH] D157331: [clang] Implement C23

2023-08-15 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 550547. ZijunZhao added a comment. 1. rename to .c file 2. create clang/test/C/C2x/n2683.c and add codegen tests and semantic tests 3. update clang/docs/ReleseNotes.rst 4. update clang/www/c_status.html 5. reformat PPDirectives.cpp 6. set __STDC_VERSION__ in

[PATCH] D157331: [clang] Implement C23

2023-08-11 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added a comment. In D157331#4576540 , @aaron.ballman wrote: > In D157331#4575224 , @ZijunZhao > wrote: > >> Another followup question: I check >> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683

[PATCH] D157331: [clang] Implement C23

2023-08-10 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D157331#4575224 , @ZijunZhao wrote: > Another followup question: I check > https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683.pdf and I only add > Core Proposal here. Do I need to add Supplemental Proposal, like som

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added a comment. Another followup question: I check https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683.pdf and I only add Core Proposal here. Do I need to add Supplemental Proposal, like some types? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + hiraditya wrote: > aaron.ballman wrote: > > ZijunZhao wrote: > > > enh wrote: > > > > Zi

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) aaron.ballman wrote: > enh wrote: > > ZijunZhao wrote: > > > cor3ntin wrote: > > > > aaron.ballm

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > ZijunZhao wrote: > > cor3ntin wrote: > > > aaron.ballman wrote: > > > > hiradit

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) ZijunZhao wrote: > cor3ntin wrote: > > aaron.ballman wrote: > > > hiraditya wrote: > > > > enh wrote:

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) cor3ntin wrote: > aaron.ballman wrote: > > hiraditya wrote: > > > enh wrote: > > > > hiraditya w

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) aaron.ballman wrote: > hiraditya wrote: > > enh wrote: > > > hiraditya wrote: > > > > xbolva00 wr

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added reviewers: efriedma, jyknight, clang-language-wg, hubert.reinterpretcast. aaron.ballman requested changes to this revision. aaron.ballman added a comment. This revision now requires changes to proceed. Thank you for working on this! Adding some more reviewers for more opinions

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Elliott Hughes via Phabricator via cfe-commits
enh added a comment. > I try to grep "std>" in clang/test/Headers but find nothing, and nothing in > stdalign.h is about > grep for `__STDC_VERSION__` instead. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D15

[PATCH] D157331: [clang] Implement C23

2023-08-09 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + enh wrote: > ZijunZhao wrote: > > enh wrote: > > > ZijunZhao wrote: > > > > enh wrote: > > >

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > hiraditya wrote: > > xbolva00 wrote: > > > yabinc wrote: > > > > enh wrote: > > > >

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + ZijunZhao wrote: > enh wrote: > > ZijunZhao wrote: > > > enh wrote: > > > > hiraditya wrote: > > >

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + enh wrote: > ZijunZhao wrote: > > enh wrote: > > > hiraditya wrote: > > > > seems like we do

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + ZijunZhao wrote: > enh wrote: > > hiraditya wrote: > > > seems like we don't have a -std=gnu23, or

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + enh wrote: > hiraditya wrote: > > seems like we don't have a -std=gnu23, or -std=c23 standar

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) hiraditya wrote: > xbolva00 wrote: > > yabinc wrote: > > > enh wrote: > > > > enh wrote: > > > > > enh

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added inline comments. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %clang_cc1 -emit-llvm -fgnuc-version=4.2.1 -std=gnu++11 %s -o - | FileCheck %s + seems like we don't have a -std=gnu23, or -std=c23 standard flag for this in clang yet. ht

[PATCH] D157331: [clang] Implement C23

2023-08-08 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) xbolva00 wrote: > yabinc wrote: > > enh wrote: > > > enh wrote: > > > > enh wrote: > > > > > Zij

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Yabin Cui via Phabricator via cfe-commits
yabinc added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > enh wrote: > > enh wrote: > > > ZijunZhao wrote: > > > > enh wrote: > > > > > is this

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > enh wrote: > > enh wrote: > > > ZijunZhao wrote: > > > > enh wrote: > > > > > is thi

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > enh wrote: > > ZijunZhao wrote: > > > enh wrote: > > > > is this ever _not_ set for clang

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > ZijunZhao wrote: > > enh wrote: > > > is this ever _not_ set for clang? > > https://githu

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) ZijunZhao wrote: > enh wrote: > > is this ever _not_ set for clang? > https://github.com/llvm/llvm-pro

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) enh wrote: > is this ever _not_ set for clang? https://github.com/llvm/llvm-project/blob/main/cl

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Elliott Hughes via Phabricator via cfe-commits
enh added inline comments. Comment at: clang/lib/Headers/stdckdint.h:13 + +#if defined(__GNUC__) +#define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R)) is this ever _not_ set for clang? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 547986. ZijunZhao marked an inline comment as done. ZijunZhao added a comment. 1. Fix some format nits 2. Change `CHECK-NEXT` to `CHECK` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://revie

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. For the record, the documentation for stdckdint.h is here: https://open-std.org/JTC1/SC22/WG14/www/docs/n3096.pdf#page=330 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 _

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added inline comments. Comment at: clang/lib/Headers/stdckdint.h:1 +/*=== stdckdint.h - Standard header for checking integer + *-=== nit: format. Comment at: clang/test/Headers/stdckdint.cpp:1 +// RUN: %cla

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Yabin Cui via Phabricator via cfe-commits
yabinc accepted this revision. yabinc added a comment. This revision is now accepted and ready to land. LGTM, but please wait for a couple of days in case others wish to review Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://revie

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao updated this revision to Diff 547949. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157331/new/ https://reviews.llvm.org/D157331 Files: clang/lib/Headers/CMakeLists.txt clang/lib/Headers/stdckdint.h clang/lib/Lex/ModuleMap.cpp clan

[PATCH] D157331: [clang] Implement C23

2023-08-07 Thread Zijun Zhao via Phabricator via cfe-commits
ZijunZhao created this revision. Herald added a project: All. ZijunZhao requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. https://github.com/llvm/llvm-project/issues/62248 Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D157