-
-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Including ti84pce.h in multiple files causes linktime warnings. #16
Comments
Tagging this as an external issue until proven otherwise, as include guards are already present, so I'm not sure what to do about it... |
Include guards protect against multiple inclusion of a given header during a single compiler invocation, but they're powerless against single or multiple inclusion of a given header during multiple independent compiler invocations. |
Oh, yeah, "multiple independent compiler invocations", you're probably right... |
WARNING (909) (00000000 Z:\opt\CEdev\lib\std\chelp.lib)--> Public symbol "__imuls" already externally defined. I believe this is related. |
Perhaps turning the equates into a mix of defines and xrefs would help? |
I think "external issue" is not the right tag for this. It's not a compiler issue, it's a "the include file doesn't behave like an include file, because it introduces link-time symbols, rather than merely providing forward declarations" issue. |
Yeah, removed it. |
Just use _At rather than equ. |
The best solution would be to redo the standard libraries to use the libraries in the bootcode. This probably means modifying the crtl source so it doesn't cause these warnings. |
Fixed with release v2.0 (And no, changing the name to 'tice.h' wasn't the solution :P) |
If I
#include <ti84pce.h>
in multiple files, at link time, the object files for some of them emit duplicate symbol warnings for__frameset
:If I rewrite these later files with
#pragma asm
to provide equates for only the labels I need, the warning is not emitted.The text was updated successfully, but these errors were encountered: