[PATCH] D91784: [RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG28de0fb4863a: [RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines (authored by luismarques). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91784/new/ https://reviews.llvm.org/D91784 Files: clang/lib/Basic/Targets/RISCV.cpp Index: clang/lib/Basic/Targets/RISCV.cpp === --- clang/lib/Basic/Targets/RISCV.cpp +++ clang/lib/Basic/Targets/RISCV.cpp @@ -115,8 +115,14 @@ Builder.defineMacro("__riscv_muldiv"); } - if (HasA) + if (HasA) { Builder.defineMacro("__riscv_atomic"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); +if (Is64Bit) + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); + } if (HasF || HasD) { Builder.defineMacro("__riscv_flen", HasD ? "64" : "32"); Index: clang/lib/Basic/Targets/RISCV.cpp === --- clang/lib/Basic/Targets/RISCV.cpp +++ clang/lib/Basic/Targets/RISCV.cpp @@ -115,8 +115,14 @@ Builder.defineMacro("__riscv_muldiv"); } - if (HasA) + if (HasA) { Builder.defineMacro("__riscv_atomic"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); +if (Is64Bit) + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); + } if (HasF || HasD) { Builder.defineMacro("__riscv_flen", HasD ? "64" : "32"); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D91784: [RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines
kprovost added a comment. Thanks for the review. I don't have commit access to the LLVM repo, so I'd appreciate it if someone who does can commit this. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91784/new/ https://reviews.llvm.org/D91784 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D91784: [RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines
jrtc27 accepted this revision. jrtc27 added reviewers: asb, lenary, luismarques. jrtc27 added a comment. This revision is now accepted and ready to land. This seems correct. GCC doesn't define the 1 and 2 variants but it implements those with libcalls rather than inline like LLVM so that's to be expected, just something to be aware of. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91784/new/ https://reviews.llvm.org/D91784 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D91784: [RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines
kprovost created this revision. kprovost added reviewers: kito-cheng, khchen, s.egerton, emaste. Herald added subscribers: cfe-commits, frasercrmck, NickHung, evandro, luismarques, apazos, sameer.abuasal, pzheng, lenary, Jim, benna, psnobl, jocewei, PkmX, jfb, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, niosHD, sabuasal, simoncook, johnrusso, rbar, asb. Herald added a project: clang. kprovost requested review of this revision. Herald added a subscriber: MaskRay. The RISCV target did not set the GCC atomic compare and swap defines, unlike other targets. This broke builds for things like glib on RISCV. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D91784 Files: clang/lib/Basic/Targets/RISCV.cpp Index: clang/lib/Basic/Targets/RISCV.cpp === --- clang/lib/Basic/Targets/RISCV.cpp +++ clang/lib/Basic/Targets/RISCV.cpp @@ -115,8 +115,14 @@ Builder.defineMacro("__riscv_muldiv"); } - if (HasA) + if (HasA) { Builder.defineMacro("__riscv_atomic"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); +if (Is64Bit) + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); + } if (HasF || HasD) { Builder.defineMacro("__riscv_flen", HasD ? "64" : "32"); Index: clang/lib/Basic/Targets/RISCV.cpp === --- clang/lib/Basic/Targets/RISCV.cpp +++ clang/lib/Basic/Targets/RISCV.cpp @@ -115,8 +115,14 @@ Builder.defineMacro("__riscv_muldiv"); } - if (HasA) + if (HasA) { Builder.defineMacro("__riscv_atomic"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); +Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); +if (Is64Bit) + Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); + } if (HasF || HasD) { Builder.defineMacro("__riscv_flen", HasD ? "64" : "32"); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits