Hi,
I've tweaked a bit the Issue page on the OSDK website:
http://www.osdk.org/index.php?page=issues
Now you can sort issues by Component (XA, PictConv, etc...), ID, Date, or Reporter (name of who reported issues).
Additionally, there's a bug reporting field at the top that can be expanded to send report, feel free to try it, even if it's to submit fake/test reports, so I can see if it work, and feedback is obviously welcome.
Thanks!
OSDK Issue Tracker
- NekoNoNiaow
- Flight Lieutenant
- Posts: 272
- Joined: Sun Jan 15, 2006 10:08 pm
- Location: Montreal, Canadia
Re: OSDK Issue Tracker
Nice!
I have just added a new issue (compiler.exe crashing ).
Will be adding a new one soon.
I have just added a new issue (compiler.exe crashing ).
Will be adding a new one soon.
Re: OSDK Issue Tracker
Ok, so what I received is that:
obviously the process to add it to the tracker is manual, but in any case, even with some real issue tracker, one needs to go through the reports, check if they are usable, prioritize, etc... so I don't see that as an actual problem in practice
I'll add it to the actual issue page during the weekend
Code: Select all
-------------------------
OSDK issue reporting:
-------------------------
Form details below:
Osdk Version: OSDK 1.13
Osdk Component: compiler
User Comment: Compiler.exe crashes when compiling the following source:
--
void main(void)
{
int returnValue;
char* argv[] = { "dhrystone" };
returnValue = main( sizeof(argv) / sizeof(*argv), argv );
}
--
Compile with:
%OSDK%\BIN\compiler.exe -Nlibc -O0 source.c >source.c2
User Name: nekoniaow@forum.defence-force.org
Email:
-------------------------
I'll add it to the actual issue page during the weekend
Re: OSDK Issue Tracker
Hi,
Err... What is the interest of this code anyway that just looks to me as an endless recursive calling sequence of main() with the wrong dunction signature ?!
I guess the compiler actually detected the code was nonsense and decided to call it quits !
Err... What is the interest of this code anyway that just looks to me as an endless recursive calling sequence of main() with the wrong dunction signature ?!
I guess the compiler actually detected the code was nonsense and decided to call it quits !
Re: OSDK Issue Tracker
Alternatively, you can see that as a simple way to generate a crash in the compiler, which could possibly have been happening in actual useful code.
One shall never spit on a super simple test case that produce incorrect results
- NekoNoNiaow
- Flight Lieutenant
- Posts: 272
- Joined: Sun Jan 15, 2006 10:08 pm
- Location: Montreal, Canadia
Re: OSDK Issue Tracker
Well, you should give it a better look because both your impression and your conclusion are incorrect.
- This is not an endless recursive sequence. main(int argc, char**argv) and main(void) are two different functions, there is no recursion at all.
- Even if this were recursion, this would still be perfectly valid code anyway, no reason for the compiler to crash. Endless recursion would be perfectly valid C code.
It is up to the C standard to decide what the compiler should compile or not, not to the compiler.
Absolutely, if the compiler crashes on that perfectly valid C code, then it will likely crash on other similar and valid code and thus needs to be corrected.
Even if the code was really incorrect, crashing on the user is definitely not ok.
Crashes needs to be fixed, regardless of the cause.
Re: OSDK Issue Tracker
Well, there was no "int main(int argc, char**argv)" function in the code snippet DBug posted so looking at this code it seemed it was a very strange case of recursion with the wrong function signature
I failed to understand at first how you could have two functions with the same name but with different signatures in C, as function overloading is only available in C++.
Then I thought of course there is the va_args package in C for printf() and the like...
.. and of course it is (more or less) the same for main(), but I must admit I never tried coding a program with two or more main functions with different signatures, I actually cannot see how the linker could decide wich one would be the "main" one to call at program start...
I failed to understand at first how you could have two functions with the same name but with different signatures in C, as function overloading is only available in C++.
Then I thought of course there is the va_args package in C for printf() and the like...
.. and of course it is (more or less) the same for main(), but I must admit I never tried coding a program with two or more main functions with different signatures, I actually cannot see how the linker could decide wich one would be the "main" one to call at program start...
- NekoNoNiaow
- Flight Lieutenant
- Posts: 272
- Joined: Sun Jan 15, 2006 10:08 pm
- Location: Montreal, Canadia
Re: OSDK Issue Tracker
No worries, this indeed looks strange at first sight.retroric wrote: ↑Sun Mar 31, 2019 3:54 pm Well, there was no "int main(int argc, char**argv)" function in the code snippet DBug posted so looking at this code it seemed it was a very strange case of recursion with the wrong function signature
[snip]
.. and of course it is (more or less) the same for main(), but I must admit I never tried coding a program with two or more main functions with different signatures, I actually cannot see how the linker could decide wich one would be the "main" one to call at program start...
The reason I ended up with this naming is that the program I am compiling already has a main() function with the standard two parameters (argc, argv) but the Oric's libc entry signature is actually "void main(void)" so I had to add some stub code to link the two calls.