This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Lx51 "Data Type Different" Warnings ?

Hello.

I have a project that links to a library I created using the C51 toolset.

If I build it using BL51, everything's cool. If I build it with Lx51, I get warnings like this:

*** WARNING L25: DATA TYPES DIFFERENT
    SYMBOL:  _FnName
    MODULE:  .\main.obj (MAIN)
though the application appears to work just fine in the simulator.

If I build the project with source files only (i.e. I compile the modules that are normally in the library, and I don't link to the library) then everything works under BL51 and Lx51.

So, what can I do to enable me to build projects using Lx51 and my libraries, and avoid these "Data Type Different" Warnings?

Parents Reply Children
  • Why does the error message list only one module?
    It would be a lot more helpful if it named both the defining & referring modules, and which type each was using.


    The problem with that is that there may be a lot of places that the variable is used and listing each occurance would create a huge list.

    Maybe engineering can figure out a good way to display it anyway, so I'll fwd it to them.

    You may use the source browser to locate the declaration and the uses of the variable in question. That's probably the best way to fix the problem.

    Jon

  • "The problem with that is that there may be a lot of places that the variable is used and listing"

    But the message only refers to one particular instance (one module?) - so the Linker should be able to give the details for the particular instance on which it's reporting?

    "each occurance would create a huge list."
    As I've noted many times, a single mistake often leads to a whole raft of messages, so that shouldn't be an undue worry.

    "Maybe engineering can figure out a good way to display it"
    As I've noted before, "big" compilers (eg, Borland, Microsoft) often give better diagnostics than the "small" cross-compilers.
    I'm sure that Borland does give you all the info in its equivalent message.

    "You may use the source browser"

    But if the Link fails, you can't use the Source Browser - because the browse info is only available from a successful build!

  • This is added in the next update and release.

    Jon