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

Sanjoy Das via cfe-dev cfe-dev at lists.llvm.org
Tue Jan 10 08:49:51 PST 2017


Sent from a mobile device, please excuse typos.

On Jan 10, 2017 2:04 AM, "Piotr Padlewski" <piotr.padlewski at gmail.com>
wrote:



2017-01-10 0:06 GMT+01:00 David Blaikie <dblaikie at gmail.com>:

>
>
> 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 never saw syntax

typedef int funct_type(const int&);

I tried to use it and I got compile error for code:
int z(const int&);

int main() {
    typedef int fptr(const int&);

    fptr f = z;


That needs to be fptr* f = z;

    f(42);
}

where typedef int (*fptr)(const int&)

works.



>
>> -- Sanjoy
>> _______________________________________________
>> 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/20170110/5c9a85c8/attachment.html>


More information about the cfe-dev mailing list