[lldb-dev] RFC: Break/Watchpoint refactor
Sean Callanan via lldb-dev
lldb-dev at lists.llvm.org
Tue Sep 27 15:58:09 PDT 2016
That solves the problem of excising the macros, but it replaces it with now having to look at a superclass. Honestly that sounds like six one way, a half dozen the other.
I wouldn't want this great overall list of improvements to get sidetracked over bike shedding this, however. I'm fine with whatever approach is used, even if it's the status quo.
Sean
> On Sep 27, 2016, at 3:43 PM, Zachary Turner <zturner at google.com> wrote:
>
> One solution I've seen (I think boost does this as well) is to make a utility class called noncopyable that you can privately inherit from:
>
> class noncopyable {
> public:
> noncopyable(const noncopyable &) = delete;
> noncopyable &operator=(const noncopyable &other) = delete;
> };
>
> class Foo : private noncopyable {
> };
>
>
>
> On Tue, Sep 27, 2016 at 3:29 PM Sean Callanan <scallanan at apple.com <mailto:scallanan at apple.com>> wrote:
> The issue I have with the DISALLOW_ macro is that when you're looking to see what sort of constructors etc. are possible, you now have to look through a macro. Personally, I like to see what constructors are available on an object in one list, and not have to guess about whether e.g. a move constructor is present or disallowed.
>
> Sean
>
>> On Sep 27, 2016, at 3:24 PM, Jim Ingham <jingham at apple.com <mailto:jingham at apple.com>> wrote:
>>
>> Why? The macro states the intent explicitly, rather than having to deduce it from details scattered through the class definition.
>>
>> Jim
>>
>>> On Sep 27, 2016, at 3:13 PM, Sean Callanan via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>>>
>>> Doing it everywhere would be a public service IMO. I don't like macros either.
>>>
>>> Sean
>>>
>>>> On Sep 27, 2016, at 3:07 PM, Zachary Turner via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>>>>
>>>> FWIW LLVM removed all it's disallow copy / assign macros in favor of explicitly writing it. I agree it's easier to just change the macro, but I would just do what LLVM does as long as you don't mind the extra work.
>>>>
>>>> On Tue, Sep 27, 2016 at 3:01 PM Daniel Austin Noland via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>>>>
>>>>
>>>> On 09/27/2016 03:37 PM, Enrico Granata wrote:
>>>>>
>>>>>> On Sep 27, 2016, at 1:09 PM, Daniel Austin Noland via lldb-dev <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>> wrote:
>>>>>>
>>>>>> * Prefer explicitly deleted copy ctor / assignments over multiline macro DISALLOW_COPY_AND_ASSIGN
>>>>>
>>>>>
>>>>> Why not just move DISALLOW_COPY_AND_ASSIGN over to using =delete ? That seems like a trivial change..
>>>>
>>>> That was my first thought as well. Still, I personally try to avoid macros. On the other hand that one is simple enough that it may be justified.
>>>>
>>>>>
>>>>> Thanks,
>>>>> - Enrico
>>>>> 📩 egranata@.com <> ☎️ 27683
>>>>>
>>>>
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev>
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev>
>>>
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160927/df8de0c1/attachment-0001.html>
More information about the lldb-dev
mailing list