This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [Patch] Microblaze: Port of Linux gdbserver



-----Original Message-----
From: Michael Eager [mailto:eager@eagercon.com] 
Sent: Tuesday, October 14, 2014 8:37 PM
To: Ajit Kumar Agarwal; Pedro Alves; Joel Brobecker
Cc: gdb-patches@sourceware.org; Vinod Kathail; Vidhumouli Hunsigida; Nagaraju Mekala
Subject: Re: [Patch] Microblaze: Port of Linux gdbserver

On 10/13/14 20:03, Ajit Kumar Agarwal wrote:
>
>

> On 10/13/14 09:00, Ajit Kumar Agarwal wrote:
>>
>
>>> +#define microblaze_breakpoint_len 4
>>>
>>>>> Use CAPS for macros.
>>>
>>> The MIPS and the ARM gdbserver code does not use the CAPS for the above macro defined.
>>
>>> Let's follow the GNU coding standard, even if some other targets haven't.
>>
>> https://gcc.gnu.org/ml/gcc-patches/2000-09/msg00901.html
>> https://gcc.gnu.org/ml/gcc-patches/2000-09/msg00912.html
>
>> To quote your first reference:
>
>> "I actually think it's a mistake to spell function-like macros in ALL_CAPS, precisely because that makes changing back-and-forth unduly disruptive."
>
>> To quote the second reference:
>
>> "ALL_CAPS in cases when it's important to be aware that it's a macro, but when we make "wrappers" for efficiency purposes where we basically want to >pretend it's a function,".
>
>> This is not a function-like macro.  In this case, it is important to be aware that this is a macro, not a variable.
>
> The macro microblaze_breakpoint_len is initialized in the struct linux_target_ops the_low_target.  This makes it as a wrapper and the above quote is valid.
> Still the CAPS is required for the above macro?

>>You clearly do not have any understanding of what a wrapper is.
>>A wrapper macro is one which looks like a function and calls another function or macro, passing it some arguments.

>>Please read a definition of "wrapper" or "function-like macro":
>>http://programmers.stackexchange.com/questions/142069/using-macro-as-an-abstraction-layer
>>https://gcc.gnu.org/onlinedocs/cpp/Function-like-Macros.html

>>microblaze_breakpoint_len is not initialized in any struct or anywhere else.  It is a preprocessor macro definition.  In C, only variables can be initialized, and >>that cannot happen in a struct.

>>microblaze_breakpoint_len is used in an initializer for an instance of struct linux_target_ops.

>>In general, macro definitions like this one should be at the top of a file, not buried in the middle of the file.

>>You appear to be unfamiliar with common terminology like wrapper, function- like macro, or initialize, or what can or cannot be done within a struct. I >>suggest you study C programming.  There are a number of books on advanced C programming available online.

I am well aware and adept with the above knowledge and I am afraid I won't be needing your guidance as far as this is concerned. 

> AGAIN, please follow the GNU Coding Standard.

Please make sure when replying to email that you do not confuse your responses with the text you are responding to.  I don't know how you are reading or submitting email, but just about every message is garbled.

USE CAPS FOR MACROS.  Is that clear enough?


-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]