This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


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

Strange linker's error message


ld port for DOS (from DJGPP package) produces an error: "Type of symbol '_i' changed from 4 to 8 in alter_md.o"

At the link stage ld gives this error message without specifying the exact code line number where it occurs.
"i" has been defined as following in ALTER_MD.C:

typedef struct split_integer
{
  union
  {
    integer int_;
    struct { byte low, high; } s_false;
  }u
} split_integer;

split_integer i;

Later "i" has been used in differrent expressions like:

i.u.int_ = &line[4].position[76];
...
i.u.s_false.low = 0;
...
adjust_output( 5, i.u.int_, nonvol.last_draft_size);

etc.

(function prototype:

       typedef byte fpn_[4];

       void adjust_output( byte, integer, fpn_ const c )

)

Is this a bug or normal situation? If so, where can I find a description for this error message?

Thank you.

Alex Oleynikov,

CompuWeigh Corp., USA


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