[PATCH] D72970: clang: Only define OBJC_NEW_PROPERTIES when -x objective-c

2020-01-24 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith added a comment. Thanks, committed in 1e487e4c16821b6de3d651f618274df90bd3fad9 . CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72970/new/ https://reviews.llvm.org/D72970

[PATCH] D73500: [driver] Add a -builtininc flag that lets Darwin driver include Clang builtin headers even with -nostdinc

2020-01-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith requested changes to this revision. dexonsmith added inline comments. This revision now requires changes to proceed. Comment at: clang/include/clang/Driver/Options.td:503-504 def bind__at__load : Flag<["-"], "bind_at_load">; +def builtininc : Flag<["-"], "builtininc">

[PATCH] D73500: [driver] Add a -builtininc flag that lets Darwin driver include Clang builtin headers even with -nostdinc

2020-01-28 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. Okay, LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73500/new/ https://reviews.llvm.org/D73500

[PATCH] D73208: [objc_direct] fix codegen for mismatched Decl/Impl return types

2020-01-30 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D73208#1837909 , @MadCoder wrote: > In D73208#1836789 , @dexonsmith > wrote: > > > I think we're talking across each other. The idea is check the type when > > generating the implem

[PATCH] D73208: [objc_direct] fix codegen for mismatched Decl/Impl return types

2020-01-30 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM, with one style nitpick. Comment at: clang/lib/CodeGen/CGObjCMac.cpp:4049-4051 +if (!OMD->getBody() || COMD->getReturnType() == OMD->getReturnType()) { +

[PATCH] D44753: [Preprocessor] Rename __is_{target -> host}_* function-like builtin macros

2018-03-22 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith requested changes to this revision. dexonsmith added a comment. This revision now requires changes to proceed. I agree with Saleem and Bob: `__is_target_*` is not confusing here and seems to be a straightforward spelling. It has also already shipped in LLVM 6.0.0: it would be awkward

[PATCH] D39502: [Driver] Make clang/cc conforms to UNIX standard

2017-11-01 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. I have a few nitpicks, but otherwise this LGTM. I'd like to wait for someone on the CUDA side to confirm though. Comment at: lib/Driver/Compilation.cpp:185 -void Compilation::ExecuteJobs( -const JobList &Jobs, -SmallVectorImpl> &FailingCo

[PATCH] D39502: [Driver] Make clang/cc conforms to UNIX standard

2017-11-02 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D39502#914667, @steven_wu wrote: > Also split out the testcase for UNIX conformance. That test is not related > to output file cleanup. Split it out to make it clear that is for UNIX > conformance. Great idea. Confirming this LGTM once

[PATCH] D130303: Handle template parameter-dependent bit field widths in libclang

2023-03-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. In D130303#3724392 , @dexonsmith wrote: > In D130303#3724247 , @rnk wrote: > >> Pinging alternative

[PATCH] D130303: Handle template parameter-dependent bit field widths in libclang

2023-03-07 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D130303#4175664 , @collinbaker wrote: > @dexonsmith can you weigh in? Introducing `clang_isBitFieldDecl` sounds like a clean/straightforward solution to me. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTI

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-08 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4179512 , @wlei wrote: > Hi @ahatanak > > We recently hit an issue of inconsistent codegen related with this > optimization. In one build, Clang frontend generates different llvm IRs for > the same function that is o

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-08 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Oh, de-refining is pretty nifty / evil. This patch has background: https://reviews.llvm.org/D18634 Since 2016, the optimizer is not allowed to do IPA on functions that can be de-refined (such as `linkonce_odr` functions). Here's a hypothetical problematic scenario fo

[PATCH] D130303: Handle template parameter-dependent bit field widths in libclang

2023-03-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: clang/tools/libclang/CXType.cpp:13 +#include "CXType.h" #include "CIndexer.h" vedgy wrote: > collinbaker wrote: > > vedgy wrote: > > > I guess //clang-format// did this include reordering. But it certainly > > > l

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4181981 , @hoy wrote: > That said, the LLVM optimizer does not strictly subsume the front-end because > of how it fails to handle `linkonce_odr` functions as in > https://reviews.llvm.org/D18634. I'm wondering how co

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4182428 , @hoy wrote: > In D83906#4182287 , @dexonsmith > wrote: > >> In C++, you get linkonce_odr all over the place. It's basically all >> functions that are defined in C++

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4182777 , @rjmccall wrote: > In D83906#4182287 , @dexonsmith > wrote: > >> - At IRGen time, you know the LLVM attributes have not been adjusted after >> the optimized refined

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4182847 , @hoy wrote: > As far as I know, the optimizer IPO pass that infers function attributes > (i..e `InferFunctionAttrsPass`) is placed at the very beginning of the > optimization pipeline. Does this sound to y

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a subscriber: sanjoy. dexonsmith added a comment. In D83906#4182902 , @rjmccall wrote: > So your argument is that it would not be possible to recognize that we're > doing such an optimization and mark the function as having had a possible

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4183453 , @hoy wrote: > Wondering if we can come up with a way to tell the optimizer about that, > e.g., through a new module flag. When it comes to LTO, the selection of > linkonce_odr symbols should already been do

[PATCH] D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind

2023-03-12 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83906#4186887 , @hoy wrote: > In D83906#4184916 , @dexonsmith > wrote: > >> In D83906#4183453 , @hoy wrote: >> >>> Wondering if we can come u

[PATCH] D103930: [clang][HeaderSearch] Fix implicit module when using header maps

2023-05-01 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added subscribers: iana, ributzka. dexonsmith added a comment. In D103930#4310061 , @ivanmurashko wrote: > Friendly ping > > @arphaman, @jansvoboda11, I have made the patch buildable on all platforms > and have all tests passed. There was als

[PATCH] D30954: Modules: Simulate diagnostic settings for implicit modules

2017-03-14 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. This is a follow-up to r293123 that makes it work with implicit modules. Some background: An implicit module build (using Clang's internal build system) uses the same PCM file location for different `-Werror` levels. E.g., if a TU has `-Werror

[PATCH] D28299: Module: use PCMCache to manage memory buffers for pcm files.

2017-03-14 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 91799. dexonsmith added a comment. Rebased again, and cleaned up tests, and a ping... now that dependencies are resolved. Richard and/or Ben, can you take a look? https://reviews.llvm.org/D28299 Files: clang/include/clang/Basic/DiagnosticSerializatio

[PATCH] D28299: Module: use PCMCache to manage memory buffers for pcm files.

2017-03-14 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. > ! In https://reviews.llvm.org/D28299#701194, @dexonsmith wrote: > Rebased again, and cleaned up tests, and a ping... now that dependencies are > resolved. > > Richard and/or Ben, can you take a look? (Or anyone else that feels comfortable confirming that the owner

[PATCH] D28299: Module: use PCMCache to manage memory buffers for pcm files.

2017-03-17 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith marked an inline comment as done. dexonsmith added a comment. Thanks for the reviews! Committed in r298165. https://reviews.llvm.org/D28299 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://l

[PATCH] D30954: Modules: Simulate diagnostic settings for implicit modules

2017-03-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Ping! https://reviews.llvm.org/D30954 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-03-31 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. For std::isinf, the standard requires effectively calling isinf as double from Libc for integral types. But integral types are never infinite; we don't need to call Libc to return false. Also short-circuit other functions where Libc won't have interestin

[PATCH] D31564: string: Remove always_inline from basic_string::__init

2017-03-31 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. Herald added subscribers: rengolin, aemerson. This is effectively a partial revert of r278356, which started inlining basic_string::__init. Even if we want to help the compiler along with an inlinehint, we shouldn't hamstring it by forcing it to inline all the ti

[PATCH] D31564: string: Remove always_inline from basic_string::__init

2017-03-31 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith added a comment. Committed in r299290. https://reviews.llvm.org/D31564 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 94675. dexonsmith added a comment. Updated clang/test/Preprocessor/stdint.c, which I missed in the original patch. https://reviews.llvm.org/D31856 Files: clang/lib/Headers/stdint.h clang/test/Headers/stdint-type-of-SIZE_MAX.cpp clang/test/Preproces

[PATCH] D30954: Modules: Simulate diagnostic settings for implicit modules

2017-04-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Thanks for the review! Somehow I missed it until now (I think I must have an "ignore rsmith" filter set up), but I should find a chance to rebase and commit tomorrow or Monday. https://reviews.llvm.org/D30954 ___ cfe-c

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Ping. https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. size_t is usually defined as unsigned long, but on 64-bit platforms, stdint.h currently defines SIZE_MAX using "ull" (unsigned long long). Although this is the same width, it doesn't necessarily have the same alignment or calling convention. It also triggers prin

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 94750. dexonsmith added a comment. Responding to Hal's comments. https://reviews.llvm.org/D31561 Files: libcxx/include/math.h libcxx/test/std/numerics/c.math/cmath.pass.cpp Index: libcxx/test/std/numerics/c.math/cmath.pass.cpp ==

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith marked 2 inline comments as done. dexonsmith added a comment. Marking Hal's comments as "Done". Thanks for the review. https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/

[PATCH] D30954: Modules: Simulate diagnostic settings for implicit modules

2017-04-11 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith marked an inline comment as done. dexonsmith added a comment. And committed in: r297770 c0c27f3 Modules: Optimize bitcode encoding of diagnostic state r300021 5e5be8e Serialization: Skip check in WritePragmaDiagnosticMappings, NFC r300024 91f051f Seriali

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-13 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added reviewers: hfinkel, rsmith. dexonsmith added a comment. +Hal and Richard, a couple of possible reviewers. https://reviews.llvm.org/D31856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/

[PATCH] D27689: Module: hash the pcm content and use it as SIGNATURE for implicit modules.

2017-01-28 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith commandeered this revision. dexonsmith added a reviewer: manmanren. dexonsmith added a comment. Taking this over to rebase. https://reviews.llvm.org/D27689 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-

[PATCH] D27689: Module: hash the pcm content and use it as SIGNATURE for implicit modules.

2017-01-28 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 86193. dexonsmith added a comment. I've rebased the patch on ToT and cleaned a few things up. Sadly, the clang/test/Modules/diagnostic-options-out-of-date.m test fails because r293123 makes the command-line diagnostic options affect the AST, and thus mak

[PATCH] D27689: Module: hash the pcm content and use it as SIGNATURE for implicit modules.

2017-02-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 87256. dexonsmith added a comment. Rebased past r293123, which filled in diagnostic pragma records for modules. I've moved the DIAG_PRAGMA_MAPPINGS to the unhashed block, as suggested by Richard, so the tests now pass. Richard, can you take a look? ht

[PATCH] D28299: Module: use PCMCache to manage memory buffers for pcm files.

2017-02-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith commandeered this revision. dexonsmith edited reviewers, added: manmanren; removed: dexonsmith. dexonsmith added a comment. Taking this over to rebase it. https://reviews.llvm.org/D28299 ___ cfe-commits mailing list cfe-commits@lists.llvm

[PATCH] D28299: Module: use PCMCache to manage memory buffers for pcm files.

2017-02-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 87257. dexonsmith added a comment. Herald added subscribers: mgorny, nemanjai. Rebased on top of the current https://reviews.llvm.org/D27689. This also has some substantive changes: - Renamed the data structure PCMCache to MemoryBufferCache, and split it

[PATCH] D28299: Module: use PCMCache to manage memory buffers for pcm files.

2017-02-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith requested review of this revision. dexonsmith added a comment. This has changed enough it needs another review. Richard or Ben, could you take a(nother) look? https://reviews.llvm.org/D28299 ___ cfe-commits mailing list cfe-commits@list

[PATCH] D29753: [PCH] Avoid early VarDecl emission attempt if no owning module avaiable

2017-02-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. I'm not comfortable signing off on this, but it seems like this should be set up as a blocker for LLVM 4.0 if it isn't already. Comment at: lib/Serialization/ASTReaderDecl.cpp:2518-2523 // An ImportDecl or VarDecl imported from a module will get

[PATCH] D34574: [Sema] Disable c++17 aligned new and delete operators if not implemented in the deployment target's c++ standard library

2017-06-26 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D34574#791124, @ahatanak wrote: > Duncan and I had a discussion on this. > > We are thinking about adding a warning that tells users that aligned > allocation /deallocation operators are being called but they are not defined > in the libra

[PATCH] D34574: [Sema] Disable c++17 aligned new and delete operators if not implemented in the deployment target's c++ standard library

2017-06-26 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D34574#791158, @rsmith wrote: > Should we also remove the recently-added availability attributes in libc++ > too? If I'm using a recent libc++ and providing my own aligned allocation > functions, we shouldn't reject attempts to call those

[PATCH] D34331: func.wrap.func.con: Unset function before destroying anything

2017-07-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Ping! https://reviews.llvm.org/D34331 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D35069: [Frontend] Verify that the bitstream is not empty before reading the serialised diagnostics

2017-07-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM. Repository: rL LLVM https://reviews.llvm.org/D35069 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

[PATCH] D34578: cmath: Support clang's -fdelayed-template-parsing

2017-07-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Ping! Hal, you committed r283051. Do you have a problem with this? https://reviews.llvm.org/D34578 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D34578: cmath: Support clang's -fdelayed-template-parsing

2017-07-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith added a comment. In https://reviews.llvm.org/D34578#801519, @hfinkel wrote: > In https://reviews.llvm.org/D34578#801357, @dexonsmith wrote: > > > Ping! Hal, you committed r283051. Do you have a problem with this? > > > It looks like you're just renami

[PATCH] D35158: [libcxxabi][demangler] NFC: Don't make everything a template

2017-07-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. Assuming nothing in `arena<>`...`Db` actually changed (just moved), this LGTM if you split the move into a separate prep commit. https://reviews.llvm.org/D35158 ___

[PATCH] D34331: func.wrap.func.con: Unset function before destroying anything

2017-07-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D34331#802747, @EricWF wrote: > @dexonsmith Mind if I hijack this and check in your changes to `` > with my tests? Not at all. In https://reviews.llvm.org/D34331#802821, @EricWF wrote: > @dexonsmith I'm not sure it's sane to allow reent

[PATCH] D35159: [libcxxabi][demangler] Use an AST to represent the demangled name

2017-07-12 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. This LGTM. Mehdi, do you have any other concerns? Comment at: src/cxa_demangle.cpp:44 +class string_ref +{ erik.pilkington wrote: > mehdi_amini wrote: > > If this is supposed to be *the* ultimate LLVM demangler, can we follow LLVM

[PATCH] D35159: [libcxxabi][demangler] Use an AST to represent the demangled name

2017-07-12 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a reviewer: mclow.lists. dexonsmith added a subscriber: mclow.lists. dexonsmith added a comment. +mclow.lists Comment at: src/cxa_demangle.cpp:44 +class string_ref +{ mehdi_amini wrote: > dexonsmith wrote: > > erik.pilkington wrote: > > > meh

[PATCH] D34331: func.wrap.func.con: Unset function before destroying anything

2017-07-13 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D34331#803452, @EricWF wrote: > In https://reviews.llvm.org/D34331#803105, @dexonsmith wrote: > > > In https://reviews.llvm.org/D34331#802747, @EricWF wrote: > > > > > @dexonsmith Mind if I hijack this and check in your changes to > > > ``

[PATCH] D35159: [libcxxabi][demangler] Use an AST to represent the demangled name

2017-07-16 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D35159#809724, @erik.pilkington wrote: > Rebase. I don't think the issue of purging underscores from this file/libcxx > should block this, if we want to discuss that cfe-dev would probably be the > place. I agree that it would be nice to c

[PATCH] D34439: Add GCC's noexcept-type alias for c++1z-compat-mangling

2017-07-18 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM. https://reviews.llvm.org/D34439 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listi

[PATCH] D35159: [libcxxabi][demangler] Use an AST to represent the demangled name

2017-07-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. In https://reviews.llvm.org/D35159#823211, @erik.pilkington wrote: > Use LLVM naming conventions for all the new stuff in this patch. Thanks for renaming everything. LGTM! https://

[PATCH] D41885: [libcxxabi][demangler] Improve handling of variadic templates

2018-01-22 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith requested changes to this revision. dexonsmith added a comment. This revision now requires changes to proceed. Thanks for working on this! Comment at: src/cxa_demangle.cpp:260-261 + +#if 0 + void dump() const { +char *Buffer = static_cast(std::malloc(1024)); ---

[PATCH] D41885: [libcxxabi][demangler] Improve handling of variadic templates

2018-01-29 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM once you clean up the `#if 0`. Comment at: src/cxa_demangle.cpp:260-261 + +#if 0 + void dump() const { +char *Buffer = static_cast(std::malloc(1024)); -

[PATCH] D41887: [libcxxabi][demangler] Clean up and llvm-ify the expression parser

2018-01-31 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM. Comment at: src/cxa_demangle.cpp:1992 +const char* +parse_expression(const char* first, const char* last, Db& db) +{ I think clang-format would

[PATCH] D41889: [libcxxabi][demangler] Clean up and llvm-ify the type parser

2018-01-31 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith requested changes to this revision. dexonsmith added a comment. This revision now requires changes to proceed. If it's possible to separate the bugfix into a separate commit (either before or after), I think you should. Repository: rCXXA libc++abi https://reviews.llvm.org/D41889

[PATCH] D41889: [libcxxabi][demangler] Clean up and llvm-ify the type parser

2018-02-04 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM! https://reviews.llvm.org/D41889 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listi

[PATCH] D29469: Fix PR31843: Clang-4.0 crashes/assert while evaluating __builtin_object_size

2017-02-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a reviewer: nlopes. dexonsmith added a comment. +Nuno, who worked on objectsize in the past. https://reviews.llvm.org/D29469 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[PATCH] D27689: Module: hash the pcm content and use it as SIGNATURE for implicit modules.

2017-02-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Ping. https://reviews.llvm.org/D27689 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D17469: [libcxx] Add deployment knobs to tests (for Apple platforms)

2017-03-06 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a subscriber: mehdi_amini. dexonsmith added a comment. Mehdi, are you interested in rebasing this? https://reviews.llvm.org/D17469 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinf

[PATCH] D27689: Module: hash the pcm content and use it as SIGNATURE for implicit modules.

2017-03-13 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith marked 3 inline comments as done. dexonsmith added a comment. Thanks for the review Richard! Committed in r297655 with those changes. Sorry for the long delay on this. Somehow I missed until today the review after my ultimate ping. I'd like to blame

[PATCH] D27689: Module: hash the pcm content and use it as SIGNATURE for implicit modules.

2016-12-12 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: include/clang/Serialization/ASTBitCodes.h:256 EXTENSION_BLOCK_ID, + DIAGNOSTIC_OPTIONS_BLOCK_ID }; rsmith wrote: > Add a comment describing this block. > > Please also give this a name that describes

[PATCH] D32263: Preprocessor: Suppress -Wnonportable-include-path for header maps

2017-04-19 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. If a file search involves a header map, suppress -Wnonportable-include-path. It's firing lots of false positives for framework authors internally, and it's not trivial to fix. Consider a framework called "Foo" with a main (installed) framework header "Foo/Foo.h"

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-19 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Ping. https://reviews.llvm.org/D31856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-19 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Marshall, that's what I assumed originally, but I figured Hal had some non-standard-but-worth-supporting use case in mind. Hal, what do you think? https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-19 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Eric: somehow I never got an email notification for your review :/. If Marshall is okay with the current state, I'll document that before commit. https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits@

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-20 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Thanks for the review. `__SIZE_MAX__` makes sense to me; and better even if not for the `#if` requirement. I'll do that for both `SIZE_MAX` and `PTRDIFF_MAX` when I get a chance. Comment at: clang/test/Preprocessor/stdint.c:1411 // JOIN:PTRDIFF_

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-20 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Marshall, are you fine with figuring this out in-tree? Or should I revert to using `std::is_floating_point` for now? https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.l

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-20 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Hmm... presumably, this test should pass: $ ./bin/clang -nostdinc -isystem ./lib/clang/5.0.0/include -std=c++1z -fsyntax-only t.cpp t.cpp:3:1: error: static_assert failed static_assert(__is_same(intptr_t, __INTPTR_TYPE__)); ^ ~~

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-20 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 96078. dexonsmith added a comment. Here's an updated patch that uses `__SIZE_MAX__` and also handles the other pointer-like integers. However, the first three static asserts fail, because `intptr_t` and `__INTPTR_TYPE__` are different types (same for `ui

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-20 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. It looks like `__INTPTR_TYPE__` was introduced in r64495 in order to help define `intptr_t`, and then they diverged in r89237. Changing `intptr_t` would change the mangling of symbols in libcxx, so that doesn't seem safe. Is it safe to change `__INTPTR_TYPE__`? ht

[PATCH] D32263: Preprocessor: Suppress -Wnonportable-include-path for header maps

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 96201. dexonsmith added a comment. Thanks for the review, Eli. I've changed `IsModule` to be a required `bool*` parameter. Setting the default to `nullptr` looked confusing at call sites. https://reviews.llvm.org/D32263 Files: clang/include/clang/Le

[PATCH] D32263: Preprocessor: Suppress -Wnonportable-include-path for header maps

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. s/Eli/Eric/ https://reviews.llvm.org/D32263 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Since I haven't heard from Marshall and Hal's fine with the less-future-proof std::is_floating_point, I'll commit that and we can iterate in tree. Just running tests. https://reviews.llvm.org/D31561 ___ cfe-commits mai

[PATCH] D31561: cmath: Skip Libc for integral types in isinf, etc.

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith added a comment. Committed in r301060. https://reviews.llvm.org/D31561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith updated this revision to Diff 96269. dexonsmith added a comment. Thanks Eli and Richard. Given that, I've thrown in fixes for `INTMAX_MIN`, `INTMAX_MAX`, `UINTMAX_MAX`, `INTMAX_C()`, and `UINTMAX_C()`, as well as fixing the typedefs for `intptr_t`, `uintptr_t`, `intmax_t`, and `uintm

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: clang/test/Headers/stdint-typeof-MINMAX.cpp:1 +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=aarch64-none-none +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=arm-none-none

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-22 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: clang/test/Headers/stdint-typeof-MINMAX.cpp:1 +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=aarch64-none-none +// RUN: %clang_cc1 %s -ffreestanding -std=c++1z -fsyntax-only -triple=arm-none-none

[PATCH] D32576: [Modules] Improve diagnostics for incomplete umbrella

2017-04-26 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM after a couple of changes inline. Comment at: lib/Lex/PPLexerChange.cpp:290-292 +static void +collectAllSubModulesWithUmbrellaHeader(Module *Mod, +

[PATCH] D32576: [Modules] Improve diagnostics for incomplete umbrella

2017-04-26 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Oh, and it would be nice to split out `Preprocessor::diagnoseMissingHeaderInUmbrellaDir` in a separate NFC commit ahead of time. https://reviews.llvm.org/D32576 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[PATCH] D32603: Build the Apple-style stage2 with modules and full debug info

2017-04-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. (Both changes SGTM, but I doubt you're looking for my advice on the CMake logic.) Comment at: cmake/caches/Apple-stage2.cmake:31-32 set(CMAKE_CXX_FLAGS "-fno-stack-protector -fno-common -Wno-profile-instr-unprofiled" CACHE STRING "") -set(CMAKE_C_

[PATCH] D32263: Preprocessor: Suppress -Wnonportable-include-path for header maps

2017-04-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith closed this revision. dexonsmith added a comment. Fixed in r301592. https://reviews.llvm.org/D32263 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. Thanks for the reviews! Committed in r301593. https://reviews.llvm.org/D31856 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[PATCH] D31856: Headers: Make the type of SIZE_MAX the same as size_t

2017-04-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. rsmith: I just noticed you still have a red "X" here (since Phab won't let me "close"). I think I addressed your comments, but let me know if you want me to revert until you have time to look. https://reviews.llvm.org/D31856 _

[PATCH] D31739: Add markup for libc++ dylib availability

2017-04-29 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. This LGTM, and it's liable to bitrot if it hangs out here any longer. We can always iterate in tree if we find a better way to organize the markup and/or tests. Eric and Marshall: do

[PATCH] D32796: [Driver] Add a "-mmacos_version_min" option that's an alias for "-mmacosx_version_min"

2017-05-03 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. LGTM. Repository: rL LLVM https://reviews.llvm.org/D32796 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

[PATCH] D32836: CMake: Only add test/ subdirectory when it exists

2017-05-03 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. Herald added a subscriber: mgorny. CMake: Only add test/ subdirectory when it exists r296685 started adding the test/ subdirectory even when LIBCXX_INCLUDE_TESTS=OFF. This is great for testing libcxx standalone, but it also breaks the build when the test/ subdir

[PATCH] D32836: CMake: Only add test/ subdirectory when it exists

2017-05-03 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Thanks for being flexible; committed in r302095. Maybe longer term we could add a CMake configuration for whether to include the tests, but naming it might be hard ;). https://reviews.llvm.org/D32836 ___ cfe-commits ma

[PATCH] D32838: [libcxx] Make __shared_weak_count VTable consistent across all build configurations

2017-05-03 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. Breaking the ABI of that configuration SGTM. Comment at: src/memory.cpp:126-130 const void* __shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT { -return 0; +return nullptr; } If this is the right change,

[PATCH] D32724: [Modules] Include the enabled sanitizers in the module hash

2017-05-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D32724#747728, @aprantl wrote: > Is it the right solution to use the module hash for correctness, or should > the mismatch of the serialized langopts trigger a module rebuild and the > module hash is only there to tune the performance/disk

[PATCH] D32724: [Modules] Include the enabled sanitizers in the module hash

2017-05-09 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In https://reviews.llvm.org/D32724#750074, @vsk wrote: > In https://reviews.llvm.org/D32724#749868, @dexonsmith wrote: > > > In https://reviews.llvm.org/D32724#747728, @aprantl wrote: > > > > > Is it the right solution to use the module hash for correctness, or > > >

[PATCH] D33049: [libcxx] Support for Objective-C++ tests

2017-05-13 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: utils/libcxx/compiler.py:110-114 +if input_is_text: +if is_objcxx: +cmd += ['-x', 'objective-c++', '-fobjc-arc'] +else: +cmd += ['-x', 'c++'] Do we need/

[PATCH] D33177: any: Add availability for experimental::bad_any_cast

2017-05-14 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith created this revision. As a follow up to r302172, add missing availability for bad_any_cast. rdar://problem/32161524 https://reviews.llvm.org/D33177 Files: libcxx/include/__config libcxx/include/experimental/any libcxx/test/std/experimental/any/any.class/any.assign/copy.pass.c

[PATCH] D33368: [libcxxabi][demangler] Fix a crash in the demangler

2017-05-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added inline comments. Comment at: src/cxa_demangle.cpp:3042-3051 +for (size_t k = k0; k < k1; ++k) { +auto tmp = db.names[k].move_full(); +if (!tmp.empty()) +{ +

<    7   8   9   10   11   12   13   14   15   >