List Info

Thread: gdb/m2-typeprint.c does not compile with older gcc versions




gdb/m2-typeprint.c does not compile with older gcc versions
user name
2006-05-27 11:12:28
gdb/m2-typeprint.c does not compile with older gcc versions,
e.g. gcc-2.95.2.
It is caused by declarations after code, which is a gcc
extension AFAIK.
The gdb-6.5 branch is affected as well.

Here is a fix:

--- m2-typeprint.c.orig	2006-05-23 18:06:34.773753000 +0200
+++ m2-typeprint.c	2006-05-23 19:55:21.047509000 +0200
 -504,13
+504,14  m2_record_fields (struct type *type, str
     }
   else if (show > 0)
     {
+      int i;
+      int len = TYPE_NFIELDS (type);
+
       if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
 	fprintf_filtered (stream, "RECORD\n");
       else if (TYPE_CODE (type) == TYPE_CODE_UNION)
 	/* i18n: Do not translate "CASE" and
"OF" */
 	fprintf_filtered (stream, _("CASE <variant>
OF\n"));
-      int i;
-      int len = TYPE_NFIELDS (type);
 
       for (i = TYPE_N_BASECLASSES (type); i < len; i++)
 	{

-- 
Peter Schauer			Peter.Schauermytum.de
gdb/m2-typeprint.c does not compile with older gcc versions
user name
2006-05-27 17:52:15
On Sat, May 27, 2006 at 01:12:28PM +0200, Peter Schauer
wrote:
> gdb/m2-typeprint.c does not compile with older gcc
versions, e.g. gcc-2.95.2.
> It is caused by declarations after code, which is a gcc
extension AFAIK.
> The gdb-6.5 branch is affected as well.
> Here is a fix:

Thanks Peter. To me, this is an obvious fix, so I checked it
in for you
in both head and 6.5 branch.

2006-05-27  Joel Brobecker  <brobeckeradacore.com>

        From Peter Schauer <peterschauergmx.net>
        * m2-typeprint.c (m2_record_fields): Move variable
declarations
        to the begining of the block.

Tested by re-building GDB after patch.

-- 
Joel
gdb/m2-typeprint.c does not compile with older gcc versions
user name
2006-05-28 22:22:02
Joel Brobecker <brobeckeradacore.com> writes:
> On Sat, May 27, 2006 at 01:12:28PM +0200, Peter Schauer
wrote:
>> gdb/m2-typeprint.c does not compile with older gcc
versions, e.g. gcc-2.95.2.
>> It is caused by declarations after code, which is a
gcc extension AFAIK.
>> The gdb-6.5 branch is affected as well.
>> Here is a fix:
>
> Thanks Peter. To me, this is an obvious fix, so I
checked it in for you
> in both head and 6.5 branch.
>
> 2006-05-27  Joel Brobecker  <brobeckeradacore.com>
>
>         From Peter Schauer <peterschauergmx.net>
>         * m2-typeprint.c (m2_record_fields): Move
variable declarations
>         to the begining of the block.
>
> Tested by re-building GDB after patch.

For what it's worth, ISO C99 allows declarations after
code.  I don't
know when it was introduced.  GDB is supposed to only
require C90,
according to doc/gdbint.texinfo, so I agree the patch is
right,
though.
[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )