[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-11-03 Thread Manoj Gupta via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG2497d5aa7716: Define _GNU_SOURCE for arm baremetal in C++ mode. (authored by manojgupta). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136712/new/ https://

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-11-03 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta updated this revision to Diff 473004. manojgupta added a comment. Updated test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136712/new/ https://reviews.llvm.org/D136712 Files: clang/lib/Basic/Targets/ARM.cpp clang/test/Preprocesso

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-11-03 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay accepted this revision. MaskRay added a comment. This revision is now accepted and ready to land. LG with a test nit. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136712/new/ https://reviews.llvm.org/D136712 __

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-11-03 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: clang/test/Driver/arm-baremetal-defines.cpp:1 +// RUN: %clang --target=arm-none-eabi -march=armv7-m %s -emit-llvm -S -c -o - 2>&1 | FileCheck %s + MaskRay wrote: > Move this to `test/Preprocessor/init-arm.c` test/Prepro

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-11-03 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta updated this revision to Diff 472962. manojgupta added a comment. Restore back to C++ only. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136712/new/ https://reviews.llvm.org/D136712 Files: clang/lib/Basic/Targets/ARM.cpp clang/test

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-11-03 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta updated this revision to Diff 472961. manojgupta added a comment. restore back to C++ only Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136712/new/ https://reviews.llvm.org/D136712 Files: clang/lib/Basic/Targets/ARM.cpp clang/test/

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-28 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. The `_GNU_SOURCE` definition needs to be guarded by `if (Opts.CPlusPlus)`. Comment at: clang/test/Driver/arm-baremetal-defines.cpp:1 +// RUN: %clang --target=arm-none-eabi -march=armv7-m %s -emit-llvm -S -c -o - 2>&1 | FileCheck %s + M

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-28 Thread Tom Hughes via Phabricator via cfe-commits
tomhughes added a comment. More context: https://issuetracker.google.com/254916723 I take back my earlier comment about it applying for both C and C++. Checking locally I see the behavior @MaskRay describes: `_GNU_SOURCE` not defined: gcc -E -dD -o empty empty.c `_GNU_SOURCE` defined: g+

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-28 Thread Hafiz Abid Qadeer via Phabricator via cfe-commits
abidh added a comment. In D136712#3892986 , @manojgupta wrote: > @tomhughes has more details on this but if we do not define it in clang > itself, we'll need to define it for every package manually at build time > since the usage goes deep inside newli

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-28 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta added a comment. @tomhughes has more details on this but if we do not define it in clang itself, we'll need to define it for every package manually at build time since the usage goes deep inside newlib headers. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-28 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. Is this an upstream GCC behavior or a behavior from some gcc-none-eabi distributions? GCC's C++ mode defines `_GNU_SOURCE` historically due to a libstdc++ limitation https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.predefined and nowadays "the ship has sailed" and

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-28 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta added reviewers: MaskRay, efriedma. manojgupta added subscribers: MaskRay, efriedma. manojgupta added a comment. Herald added a subscriber: StephenFan. I am not sure who is a good reviewer for this. Starting with @MaskRay and @efriedma Repository: rG LLVM Github Monorepo CHANGES S

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-25 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta updated this revision to Diff 470611. manojgupta added a comment. Removed c++ limitation. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136712/new/ https://reviews.llvm.org/D136712 Files: clang/lib/Basic/Targets/ARM.cpp clang/test/D

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-25 Thread Tom Hughes via Phabricator via cfe-commits
tomhughes added inline comments. Comment at: clang/lib/Basic/Targets/ARM.cpp:697-698 Builder.defineMacro("__ELF__"); +if (Opts.CPlusPlus) + Builder.defineMacro("_GNU_SOURCE"); + } I think this should apply to both C and C++ Repository: rG LLVM

[PATCH] D136712: Define _GNU_SOURCE for arm baremetal in C++ mode.

2022-10-25 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta created this revision. manojgupta added reviewers: abidh, tomhughes. Herald added subscribers: kristof.beyls, ki.stfu, dschuff. Herald added a project: All. manojgupta requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This matches