Support _Complex in hard-VFP abi

Message ID 53F41920.8040800@codesourcery.com
State New, archived
Headers

Commit Message

Yao Qi Aug. 20, 2014, 3:42 a.m. UTC
  On 08/20/2014 06:44 AM, Pedro Alves wrote:
> This is borderline pedantry, but this looks ugly enough to me that
> I'll speak up in case this ends up being the norm.  :-)  FWIW, I agree
> with Will here -- I think we should make an exception to the rule
> in the cases where the comment is actually a paste of output,
> multiline code or similar cases.  It's kind of like a @smallexample
> region in texinfo, that begs to be rendered on its own block/lines,
> separate from the text around it.

I am fine with this exception here, but we'd better document it.

The rule is documented here
https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards

Block comments must appear in the following form, with no /*- or */-only lines, and no leading *:

/* Wait for control to return from inferior to debugger.  If inferior
   gets a signal, we may decide to start it up again instead of
   returning.  That is why there is a loop in this function.  When
   this function actually returns it means the inferior should be left
   stopped and GDB should read more commands.  */

I propose to add the following words after this paragraph above,

"Exceptionally, */ can be put at a separate line if the comment is ended
with an example, an output or a code snippet:

/* Arguments of complex T where T is one of the types float or
   double get treated as if they are implemented as:

struct complexT
{
  T real;
  T imag;
};

*/"

The patch below updates the comments I've seen in current code base.
  

Comments

Pedro Alves Aug. 20, 2014, 8:20 a.m. UTC | #1
On 08/20/2014 04:42 AM, Yao Qi wrote:
> On 08/20/2014 06:44 AM, Pedro Alves wrote:
>> This is borderline pedantry, but this looks ugly enough to me that
>> I'll speak up in case this ends up being the norm.  :-)  FWIW, I agree
>> with Will here -- I think we should make an exception to the rule
>> in the cases where the comment is actually a paste of output,
>> multiline code or similar cases.  It's kind of like a @smallexample
>> region in texinfo, that begs to be rendered on its own block/lines,
>> separate from the text around it.
> 
> I am fine with this exception here, but we'd better document it.
> 
> The rule is documented here
> https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards
> 
> Block comments must appear in the following form, with no /*- or */-only lines, and no leading *:
> 
> /* Wait for control to return from inferior to debugger.  If inferior
>    gets a signal, we may decide to start it up again instead of
>    returning.  That is why there is a loop in this function.  When
>    this function actually returns it means the inferior should be left
>    stopped and GDB should read more commands.  */
> 
> I propose to add the following words after this paragraph above,
> 
> "Exceptionally, */ can be put at a separate line if the comment is ended
> with an example, an output or a code snippet:
> 
> /* Arguments of complex T where T is one of the types float or
>    double get treated as if they are implemented as:
> 
> struct complexT
> {
>   T real;
>   T imag;
> };
> 
> */"
> 

That's excellent, IMO.

> The patch below updates the comments I've seen in current code base.
> 

Looks great to me.

Thanks,
Pedro Alves
  
Yao Qi Aug. 20, 2014, 10:22 a.m. UTC | #2
On 08/20/2014 04:20 PM, Pedro Alves wrote:
> That's excellent, IMO.
> 
>> > The patch below updates the comments I've seen in current code base.
>> > 
> Looks great to me.

Patch is pushed in and wiki page is updated.
  

Patch

diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 173451f..abd9c48 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -670,7 +670,9 @@  amd64_classify (struct type *type, enum amd64_reg_class class[2])
      struct complexT {
        T real;
        T imag;
-     };  */
+     };
+
+  */
   else if (code == TYPE_CODE_COMPLEX && len == 8)
     class[0] = AMD64_SSE;
   else if (code == TYPE_CODE_COMPLEX && len == 16)
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 2e2d6fd..69ffecb 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -3597,7 +3597,9 @@  arm_vfp_cprc_sub_candidate (struct type *t,
 	 {
 	   T real;
 	   T imag;
-	 };  */
+	 };
+
+      */
       switch (TYPE_LENGTH (t))
 	{
 	case 8:
diff --git a/gdb/arm-wince-tdep.c b/gdb/arm-wince-tdep.c
index 24f0e5b..aff8d20 100644
--- a/gdb/arm-wince-tdep.c
+++ b/gdb/arm-wince-tdep.c
@@ -45,9 +45,12 @@  arm_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
   CORE_ADDR next_pc;
 
   /* The format of an ARM DLL trampoline is:
+
        ldr  ip, [pc]
        ldr  pc, [ip]
-       .dw __imp_<func>  */
+       .dw __imp_<func>
+
+  */
 
   if (pc == 0
       || read_memory_unsigned_integer (pc + 0, 4, byte_order) != 0xe59fc000
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index f5e3418..f5b6341 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -17132,7 +17132,9 @@  psymtab_include_file_name (const struct line_header *lh, int file_index,
 	 include_name = "hello.c"
 	 dir_name = "."
 	 DW_AT_comp_dir = comp_dir = "/tmp"
-	 DW_AT_name = "./hello.c"  */
+	 DW_AT_name = "./hello.c"
+
+      */
 
       if (dir_name != NULL)
 	{