User Activity

  • Posted a comment on discussion Help on Small Device C Compiler (SDCC)

    Sorry, but I can't find any SDCC 4.6.0. for win 32. The latest seems to be 4.5.0 (2025-01-28) here.

  • Posted a comment on discussion Help on Small Device C Compiler (SDCC)

    This is usually called "smart linking" and works at function level. That is: if a function is defined but never called, then the linker removes it from the final object. It is very similar to what happens when you link libraries: you don't get the whole library, only the function you use. With my great surprise, I just discovered, like you did, that the sdcc linker doesn't perform the smart linking. Introducing it would be a great enhancement, IMHO. I was then thinking to convert my files to library...

  • Created ticket #3992 on Small Device C Compiler (SDCC)

    error 0: Duplicate symbol

  • Modified a comment on ticket #3986 on Small Device C Compiler (SDCC)

    Sorry, I forgot the "code" attribute. void main(void) { uint8_t FooOk = 30*8; // Ok uint8_t Foo = 30*8 - 1; // error 158: overflow in implicit constant conversion }

  • Posted a comment on ticket #3986 on Small Device C Compiler (SDCC)

    Sorry, I forgot the "code" attribute. void main(void) { uint8_t FooOk = 308; // Ok uint8_t Foo = 308 - 1; // error 158: overflow in implicit constant conversion }

  • Created ticket #3986 on Small Device C Compiler (SDCC)

    error 158: overflow in implicit constant conversion

  • Posted a comment on ticket #3979 on Small Device C Compiler (SDCC)

    Sorry, probably I misplaced the category of this bug. Probably it's real place should be "front end".

  • Posted a comment on ticket #3979 on Small Device C Compiler (SDCC)

    Things are even worse! #include <stdint.h> typedef struct { uint8_t n; union { uint8_t A; struct { uint8_t B; uint8_t C; }; struct { uint8_t D; uint8_t E; uint8_t F; }; }; } Struct_t; static const Struct_t Foo1 = { .n = 100, .A = 123 }; static const Struct_t Foo2 = { .n = 100, .C = 123 }; static const Struct_t Foo3 = { .n = 100, .E = 123 }; volatile uint8_t __at(1000) Size; void main(void) { Size = sizeof(Struct_t); Size = sizeof(Foo1); Size = sizeof(Foo2); Size = sizeof(Foo3); } Please note that...

View All

Personal Data

Username:
flurmy
Joined:
2026-04-19 08:49:43.174000

Projects

  • No projects to display.

Personal Tools