[cfe-dev] [llvm-dev] Modernizing LLVM Coding Style Guide and enforcing Clang-tidy

David Blaikie via cfe-dev cfe-dev at lists.llvm.org
Mon Jan 9 15:21:45 PST 2017


On Mon, Jan 9, 2017 at 3:14 PM Daniel Berlin <dberlin at dberlin.org> wrote:

> On Mon, Jan 9, 2017 at 3:06 PM, David Blaikie via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Mon, Jan 9, 2017 at 2:59 PM Sanjoy Das via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
> Sorry I fat fingered an earlier send in the previous email.  I was
> trying to say:
>
> On Mon, Jan 9, 2017 at 2:52 PM, Sanjoy Das
> <sanjoy at playingwithpointers.com> wrote:
> >> +1 Exactly this.
> >> I don't think C programmer will not understand using. The "=" makes it
> much
> >> simpler to read, even if it is the first time you see it, which is not
> the
> >> case of typedef.
> >>
> >> typedef MyType::NestedType (*fptr)(const MyOhterType&);
> >> or
> >> using fptr = MyType::NestedType (*)(const MyOhterType&);
> >
>
> I would prefer to please keep using typedefs at least for function
> pointers.  I find either of
>
> typedef MyType::NestedType (*fptr)(const MyOhterType&);
>
> or
>
> typedef int fptr(const int&);
>
> void f(fptr* ptr) {
>   ...
> }
>
> easier to read than the "using" declaration (especially the second
> form, with the explicit `fptr* ptr`).
>
>
> Not sure I follow. You're saying this:
>
>   typedef int func_type(const int&);
>
> is easier for you to read than this:
>
>   using func_type = int(const int&);
>
>
> I'd say so, one looks like the functions i right. The other looks strange
> ;)
>

Fair enough

(though mostly (going by a quick grep) we end up with (a very rough guess,
looking at a grep over llvm - maybe 20 times more common than function
typedefs):

  typedef void (*fptr)(const int&);

which is a bit more arcane & perhaps easier as:

  using fptr = void (*)(const int&);

Then you don't have to try to remember where the variable name goes in
these weird declarations - it's still pretty ugly, admittedly)


>
>
>
> ?
>
>
>
> -- Sanjoy
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170109/0fbcbe14/attachment.html>


More information about the cfe-dev mailing list