[PATCH] D45176: implement recent "standard-layout" changes

2018-04-03 Thread John McCall via Phabricator via cfe-commits
rjmccall added inline comments. Comment at: AST/DeclCXX.cpp:1130 data().IsStandardLayout = false; + data().IsCXX11StandardLayout = false; +} `IsCXX11StandardLayout` should be based on `FieldRec->isCXX11StandardLayout()`, I assume. h

[PATCH] D45179: [libc++] Add _LIBCPP_FORCE_NODISCARD define to force-enable nodiscard in pre-C++17

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. I'm also in favor of making this opt-out instead of opt-in, except for a handful of functions like `unique_ptr::release` which may yield false positives. However, for functions where discarding the return value is always a bug, I don't see an issue in libc++ emitting a w

[PATCH] D45179: [libc++] Add _LIBCPP_FORCE_NODISCARD define to force-enable nodiscard in pre-C++17

2018-04-03 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. Yes, if we think that the committee is likely to include questionable functions on the `[[nodiscard]]` list which we don't want to warn about pre-C++17, then it makes sense to have two internal macros, one for functions like `std::move` that should be unconditionally w

[PATCH] D45231: [CUDA] Check initializers of instantiated template variables.

2018-04-03 Thread Artem Belevich via Phabricator via cfe-commits
tra created this revision. tra added a reviewer: jlebar. Herald added a subscriber: sanjoy. We were already performing checks on non-template variables, but the checks on templated ones were missing. https://reviews.llvm.org/D45231 Files: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaC

[PATCH] D44801: Add the -fsanitize=shadow-call-stack flag

2018-04-03 Thread Vlad Tsyrklevich via Phabricator via cfe-commits
vlad.tsyrklevich updated this revision to Diff 140868. vlad.tsyrklevich added a comment. - Small test, doc updates Repository: rC Clang https://reviews.llvm.org/D44801 Files: docs/ShadowCallStack.rst docs/index.rst include/clang/Basic/Sanitizers.def lib/CodeGen/CGDeclCXX.cpp lib/Co

r329122 - Add the -fsanitize=shadow-call-stack flag

2018-04-03 Thread Vlad Tsyrklevich via cfe-commits
Author: vlad.tsyrklevich Date: Tue Apr 3 15:33:53 2018 New Revision: 329122 URL: http://llvm.org/viewvc/llvm-project?rev=329122&view=rev Log: Add the -fsanitize=shadow-call-stack flag Summary: Add support for the -fsanitize=shadow-call-stack flag which causes clang to add ShadowCallStack attribu

[PATCH] D42034: [clang-format] In tests, expected code should be format-stable

2018-04-03 Thread Mark Zeren via Phabricator via cfe-commits
mzeren-vmw added a comment. In https://reviews.llvm.org/D42034#1051965, @mzeren-vmw wrote: > Update other verifyFormat implementations. Ping? Repository: rC Clang https://reviews.llvm.org/D42034 ___ cfe-commits mailing list cfe-commits@lists.l

[PATCH] D44801: Add the -fsanitize=shadow-call-stack flag

2018-04-03 Thread Vlad Tsyrklevich via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL329122: Add the -fsanitize=shadow-call-stack flag (authored by vlad.tsyrklevich, committed by ). Herald added a subscriber: llvm-commits. Repository: rL LLVM https://reviews.llvm.org/D44801 Files: c

r329127 - [CUDA] Check initializers of instantiated template variables.

2018-04-03 Thread Artem Belevich via cfe-commits
Author: tra Date: Tue Apr 3 15:41:06 2018 New Revision: 329127 URL: http://llvm.org/viewvc/llvm-project?rev=329127&view=rev Log: [CUDA] Check initializers of instantiated template variables. We were already performing checks on non-template variables, but the checks on templated ones were missin

[PATCH] D44921: [PowerPC] Option for secure plt mode

2018-04-03 Thread Nemanja Ivanovic via Phabricator via cfe-commits
nemanjai added a comment. In https://reviews.llvm.org/D44921#1050299, @joerg wrote: > GCC supports -mbss-plt to get the legacy behavior. Not sure if anyone > actually uses it though. @spetrovic Is this something we want to implement? https://reviews.llvm.org/D44921 ___

[PATCH] D45231: [CUDA] Check initializers of instantiated template variables.

2018-04-03 Thread Artem Belevich via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC329127: [CUDA] Check initializers of instantiated template variables. (authored by tra, committed by ). Changed prior to commit: https://reviews.llvm.org/D45231?vs=140867&id=140871#toc Repository: rC

[PATCH] D45233: [Driver] Update GCC libraries detection logic for Gentoo.

2018-04-03 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta created this revision. manojgupta added a reviewer: mgorny. 1. Find GCC's LDPATH from the actual GCC config file. 2. Make library detection to take into account crossdev installed cross-compiler gcc libraries even when a sysroot is specified. 3. Avoid picking libraries from a similar n

[PATCH] D45234: CMake: Check LLVM_ENABLE_LIBXML2 in clang

2018-04-03 Thread Stephen Crane via Phabricator via cfe-commits
rinon created this revision. rinon added reviewers: hans, rnk. Herald added subscribers: cfe-commits, mgorny. If LLVM_ENABLE_LIBXML2=OFF, we should not attempt to link clang against libxml2. Repository: rC Clang https://reviews.llvm.org/D45234 Files: CMakeLists.txt Index: CMakeLists.txt

r329128 - [ObjC] Use the name specified by objc_runtime_name instead of the class

2018-04-03 Thread Akira Hatanaka via cfe-commits
Author: ahatanak Date: Tue Apr 3 15:50:16 2018 New Revision: 329128 URL: http://llvm.org/viewvc/llvm-project?rev=329128&view=rev Log: [ObjC] Use the name specified by objc_runtime_name instead of the class identifier. This patch fixes a few places in CGObjCMac.cpp where the class identifier was

[PATCH] D45128: [libcxx][test] Silence -Wself-assign diagnostics

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM. Perhaps we could add a comment for the first such occurrence of the cast in each file explaining it. Repository: rCXX libc++ https://reviews.llvm.org/D45128 __

[PATCH] D45101: [ObjC] Use the name specified by objc_runtime_name instead of the class identifier

2018-04-03 Thread Akira Hatanaka via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL329128: [ObjC] Use the name specified by objc_runtime_name instead of the class (authored by ahatanak, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.l

[PATCH] D45233: [Driver] Update GCC libraries detection logic for Gentoo.

2018-04-03 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta added a comment. MichaƂ, will appreciate if you can test this on your (multiple?) Gentoo configurations. Will work on updating the testcases after that. To test it locally, I used the following : $ cat test.cpp #include #include int main() { std::cout << " Hello, Worl

Re: r329110 - [driver][darwin] Do not infer -simulator environment for non-simulator SDKs

2018-04-03 Thread Alex L via cfe-commits
On 3 April 2018 at 14:30, Chandler Carruth wrote: > On Tue, Apr 3, 2018 at 1:52 PM Alex Lorenz via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: arphaman >> Date: Tue Apr 3 13:50:05 2018 >> New Revision: 329110 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=329110&view=rev

[PATCH] D45233: [Driver] Update GCC libraries detection logic for Gentoo.

2018-04-03 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta added a reviewer: chandlerc. manojgupta added a comment. Chandler, I recall that you are also a Gentoo user so please take a look. Repository: rC Clang https://reviews.llvm.org/D45233 ___ cfe-commits mailing list cfe-commits@lists.llvm

[PATCH] D45237: [RISCV] Fix logic check if frame pointer should be used

2018-04-03 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added a reviewer: asb. Herald added subscribers: shiva0217, kito-cheng. The logic was broken for Linux triples as it returns true in the switch for Triple.isOSLinux(). Repository: rC Clang https://reviews.llvm.org/D45237 Files: lib/Driver/ToolChains/Cl

Re: r329110 - [driver][darwin] Do not infer -simulator environment for non-simulator SDKs

2018-04-03 Thread Chandler Carruth via cfe-commits
On Tue, Apr 3, 2018 at 4:01 PM Alex L via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On 3 April 2018 at 14:30, Chandler Carruth wrote: > >> On Tue, Apr 3, 2018 at 1:52 PM Alex Lorenz via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: arphaman >>> Date: Tue Apr 3 13:50

[PATCH] D45237: [RISCV] Fix logic check if frame pointer should be used

2018-04-03 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. @asb Should we keep frame pointer enabled for debug builds? Internally, for ARM/Thumb we leave frame pointer ON if debug is enabled. Repository: rC Clang https://reviews.llvm.org/D45237 ___ cfe-commits mailing list cfe-co

[PATCH] D44883: [Sema] Extend -Wself-assign and -Wself-assign-field to warn on overloaded self-assignment (classes)

2018-04-03 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment. In https://reviews.llvm.org/D44883#1054326, @thakis wrote: > In https://reviews.llvm.org/D44883#1048751, @dblaikie wrote: > > > Historically Clang's policy on warnings was, I think, much more > > conservative than it seems to be today. There was a strong desire not to

[PATCH] D40218: [Clang] Add __builtin_launder

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Ping. https://reviews.llvm.org/D40218 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Ping. I would like to get a way for libc++ to detect this case before the next release. Repository: rC Clang https://reviews.llvm.org/D45015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cg

[PATCH] D44411: [libc++] Fix Container::insert(value_type const&) tests

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Have you verified that we're not losing test coverage here? That is, are you sure we still have tests for the rvalue overloads in other test files? Comment at: libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp:41 +const VT v3(3); +

[PATCH] D32411: [libcxx] Provide #include_next alternative for MSVC

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. Herald added a subscriber: christof. I spoke to STL on the MSVC team a while ago, and he stated that if we produced a paper describing why we need `#include_next` and the rational behind it, and they would pass that on to the front-end team. They didn't guarantee that the

[PATCH] D45239: AArch64: Implement support for the shadowcallstack attribute.

2018-04-03 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc created this revision. pcc added reviewers: vlad.tsyrklevich, eugenis, kcc, t.p.northover, olista01. Herald added subscribers: hiraditya, kristof.beyls, javed.absar, rengolin. The implementation of shadow call stack on aarch64 is quite different to the implementation on x86_64. Instead of rese

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-03 Thread Lewis Baker via Phabricator via cfe-commits
lewissbaker accepted this revision. lewissbaker added a comment. This revision is now accepted and ready to land. The `coroutine_handle` type does not have a `from_address()` or a `from_promise()` static functions in the same way that the `coroutine_handle` implementation does. Is this intention

[PATCH] D45240: [ARM] Compute a target feature which corresponds to the ARM version.

2018-04-03 Thread Eli Friedman via Phabricator via cfe-commits
efriedma created this revision. efriedma added reviewers: compnerd, SjoerdMeijer, fhahn. Herald added subscribers: kristof.beyls, javed.absar, mehdi_amini. Currently, the interaction between the triple, the CPU, and the supported features is a mess: the driver edits the triple to indicate the sup

r329141 - Split test/Driver/darwin-sdkroot.c into two tests

2018-04-03 Thread Alex Lorenz via cfe-commits
Author: arphaman Date: Tue Apr 3 19:11:20 2018 New Revision: 329141 URL: http://llvm.org/viewvc/llvm-project?rev=329141&view=rev Log: Split test/Driver/darwin-sdkroot.c into two tests The test additions in r329110 are Darwin-specific, as they rely on a code path that is reachabled when driver is

[PATCH] D45241: [analyzer] Invalidate union regions properly. Don't hesitate to load the default binding later.

2018-04-03 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ created this revision. NoQ added reviewers: dcoughlin, xazax.hun, a.sidorin, george.karpenkov, szepet. Herald added subscribers: cfe-commits, rnkovacs. (1) We weren't invalidating our unions correctly. The previous behavior in `invalidateRegionsWorker::VisitCluster()` was to //direct//-bind a

[PATCH] D45241: [analyzer] Invalidate union regions properly. Don't hesitate to load the default binding later.

2018-04-03 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added inline comments. Comment at: test/Analysis/unions.cpp:82 uu = vv; -// FIXME: Should be true. -clang_analyzer_eval(uu.i == 5); // expected-warning{{UNKNOWN}} +clang_analyzer_eval(uu.i == 5); // expected-warning{{TRUE}} } This test got

[PATCH] D45178: Fixes errors caused by https://reviews.llvm.org/D44960

2018-04-03 Thread Max Moroz via Phabricator via cfe-commits
Dor1s added a comment. Friendly ping. We'll probably land it tomorrow anyway, as it blocks another fix needed for llvm-cov, but having another pair of eyes to look at this would be still helpful :) Repository: rC Clang https://reviews.llvm.org/D45178 _

[PATCH] D45176: implement recent "standard-layout" changes

2018-04-03 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith updated this revision to Diff 140896. https://reviews.llvm.org/D45176 Files: AST/ASTImporter.cpp AST/DeclCXX.cpp AST/RecordLayoutBuilder.cpp CXX/drs/dr14xx.cpp CXX/drs/dr16xx.cpp CXX/drs/dr18xx.cpp CXX/drs/dr21xx.cpp CXX/drs/dr22xx.cpp Layout/watchos-standard-layout.cpp

[PATCH] D45176: implement recent "standard-layout" changes

2018-04-03 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith marked an inline comment as done. rsmith added inline comments. Comment at: AST/DeclCXX.cpp:1130 data().IsStandardLayout = false; + data().IsCXX11StandardLayout = false; +} rjmccall wrote: > `IsCXX11StandardLayout` should be bas

[PATCH] D45176: implement recent "standard-layout" changes

2018-04-03 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith updated this revision to Diff 140897. rsmith marked an inline comment as done. https://reviews.llvm.org/D45176 Files: AST/ASTImporter.cpp AST/DeclCXX.cpp AST/RecordLayoutBuilder.cpp CXX/drs/dr14xx.cpp CXX/drs/dr16xx.cpp CXX/drs/dr18xx.cpp CXX/drs/dr21xx.cpp CXX/drs/dr22xx.c

Re: r328731 - [ObjC++] Make parameter passing and function return compatible with ObjC

2018-04-03 Thread Richard Smith via cfe-commits
On 3 April 2018 at 13:07, Akira Hatanaka via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > > On Apr 1, 2018, at 6:00 PM, Richard Smith wrote: > > On 28 March 2018 at 14:13, Akira Hatanaka via cfe-commits lists.llvm.org> wrote: > >> Author: ahatanak >> Date: Wed Mar 28 14:13:14 2018 >> New

[PATCH] D44619: [CodeGen] Add cleanup scope to EmitInlinedInheritingCXXConstructorCall

2018-04-03 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai added a comment. Finally got a chance to dig into some of the failures this patch is causing. Here's an example crasher (run with `clang -cc1 -triple i686-windows -emit-llvm`): struct Q { Q(int); ~Q(); }; struct Z {}; struct A { A(Q); }; struct B : Z, A { usi

[PATCH] D44619: [CodeGen] Add cleanup scope to EmitInlinedInheritingCXXConstructorCall

2018-04-03 Thread Shoaib Meenai via Phabricator via cfe-commits
smeenai planned changes to this revision. smeenai added a comment. This doesn't pass all tests right now, and I'll also need to change the test in accordance with the review comments. Repository: rC Clang https://reviews.llvm.org/D44619 ___ cfe-

[PATCH] D45194: [Sema] Defer checking constexpr lambda until after we've finished the lambda class.

2018-04-03 Thread Faisal Vali via Phabricator via cfe-commits
faisalv added a comment. Thanks for working on this fairly embarrassing bug (let's fix this before the week is over :) Comment at: clang/lib/Sema/SemaDecl.cpp:12886 if (!IsInstantiation && FD && FD->isConstexpr() && !FD->isInvalidDecl() && +!isLambdaCallOperator(F

[libcxx] r329143 - Fix locale test data for GLIBC 2.27 and newer.

2018-04-03 Thread Eric Fiselier via cfe-commits
Author: ericwf Date: Tue Apr 3 21:00:14 2018 New Revision: 329143 URL: http://llvm.org/viewvc/llvm-project?rev=329143&view=rev Log: Fix locale test data for GLIBC 2.27 and newer. GLIBC 2.27 changed the locale data for fr_FR and ru_RU. In particular they change the decimal and thousands separator

[PATCH] D45176: implement recent "standard-layout" changes

2018-04-03 Thread John McCall via Phabricator via cfe-commits
rjmccall accepted this revision. rjmccall added a comment. This revision is now accepted and ready to land. Okay. LGTM. Thank you for putting the effort into maintaining both rules simultaneously. https://reviews.llvm.org/D45176 ___ cfe-commits m

[libcxx] r329144 - Touch up tests for new header; fix module.modulemap.

2018-04-03 Thread Eric Fiselier via cfe-commits
Author: ericwf Date: Tue Apr 3 21:21:54 2018 New Revision: 329144 URL: http://llvm.org/viewvc/llvm-project?rev=329144&view=rev Log: Touch up tests for new header; fix module.modulemap. This patch does some housekeeping for the new header. It adds it to the module.modulemap, and the double_incl

[PATCH] D44580: Sema: allow comparison between blocks & block-compatible objc types

2018-04-03 Thread John McCall via Phabricator via cfe-commits
rjmccall accepted this revision. rjmccall added a comment. This revision is now accepted and ready to land. Okay, LGTM with the reduced set of changes to the functionality. Repository: rC Clang https://reviews.llvm.org/D44580 ___ cfe-commits mail

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-03 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/experimental/coroutine:262 +struct noop_coroutine_promise {}; + This whole thing should be wrapped in a `__has_builtin(__builtin_coro_noop)` so the header still compiles with older clang versions. ===

[PATCH] D45212: [HIP] Let CUDA toolchain support HIP language mode

2018-04-03 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. The other changes I see here seem reasonable, but please do split the patch. Comment at: include/clang/Basic/Cuda.h:61 + GFX900, + GFX902, LAST, Does this actually have anything to do with HIP? You have a lot of changes in this

[libcxx] r329145 - Update Clang version on Appveyor bots

2018-04-03 Thread Eric Fiselier via cfe-commits
Author: ericwf Date: Tue Apr 3 21:33:09 2018 New Revision: 329145 URL: http://llvm.org/viewvc/llvm-project?rev=329145&view=rev Log: Update Clang version on Appveyor bots Modified: libcxx/trunk/appveyor-reqs-install.cmd Modified: libcxx/trunk/appveyor-reqs-install.cmd URL: http://llvm.org/v

[libcxx] r329148 - Fix undefined macro issue in locale tests

2018-04-03 Thread Eric Fiselier via cfe-commits
Author: ericwf Date: Tue Apr 3 21:39:38 2018 New Revision: 329148 URL: http://llvm.org/viewvc/llvm-project?rev=329148&view=rev Log: Fix undefined macro issue in locale tests Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_poi

[libcxx] r329149 - Fix undefined macro issue in locale tests; Try 2

2018-04-03 Thread Eric Fiselier via cfe-commits
Author: ericwf Date: Tue Apr 3 21:48:26 2018 New Revision: 329149 URL: http://llvm.org/viewvc/llvm-project?rev=329149&view=rev Log: Fix undefined macro issue in locale tests; Try 2 Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-03 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov added a comment. In https://reviews.llvm.org/D45121#1056408, @lewissbaker wrote: > The `coroutine_handle` type does not have a > `from_address()` or a `from_promise()` static functions in the same way that > the `coroutine_handle` implementation does. > Is this intentional or an ov

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-03 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 140903. GorNishanov added a comment. incorporated review feedback https://reviews.llvm.org/D45121 Files: include/experimental/coroutine test/std/experimental/language.support/support.coroutines/coroutine.handle/coroutine.handle.noop/noop_coroutine.

r329151 - Fix typo in ASTStructuralEquivalence.cpp for UnaryTransform types.

2018-04-03 Thread Eric Fiselier via cfe-commits
Author: ericwf Date: Tue Apr 3 23:31:21 2018 New Revision: 329151 URL: http://llvm.org/viewvc/llvm-project?rev=329151&view=rev Log: Fix typo in ASTStructuralEquivalence.cpp for UnaryTransform types. Previously UnaryTransformType nodes were comparing the same node for structural equivalence. This

[PATCH] D45185: [clang-format] Support lightweight Objective-C generics

2018-04-03 Thread Daniel Jasper via Phabricator via cfe-commits
djasper added inline comments. Comment at: lib/Format/UnwrappedLineParser.cpp:2135 +nextToken(); +if (FormatTok->Tok.is(tok::less)) + NumOpenAngles++; The UnwrappedLineParser is very much about error recovery. Implemented like this, it will consume

[PATCH] D45243: [XRay][clang] Consolidate runtime and link-time flag processing (NFC)

2018-04-03 Thread Dean Michael Berris via Phabricator via cfe-commits
dberris created this revision. dberris added reviewers: echristo, devnexen. Herald added a subscriber: emaste. This change fixes http://llvm.org/PR36985 to define a single place in CommonArgs.{h,cpp} where XRay runtime flags and link-time dependencies are processed for all toolchains that support

[PATCH] D45121: [coroutines] Add noop_coroutine to

2018-04-03 Thread Lewis Baker via Phabricator via cfe-commits
lewissbaker added inline comments. Comment at: include/experimental/coroutine:294 + +inline _LIBCPP_ALWAYS_INLINE +noop_coroutine_handle noop_coroutine() _NOEXCEPT { EricWF wrote: > This should just be `_LIBCPP_INLINE_VISIBILITY`. We try not to use > `_LIBCPP_AL

<    1   2