LADSoft / OrangeC

OrangeC Compiler And Tool Chain
http://ladsoft.tripod.com/orange_c_compiler.html
Other
284 stars 39 forks source link

Suggestion: include OrangeC in compiler-explorer #950

Open GitMensch opened 10 months ago

GitMensch commented 10 months ago

It is nice to be able to compare the results of compilers, and also gives the project some additional visibility.

Adding OrangeC to compiler-explorer would mean to add it to its main repo into the existing C and C++ definitions, similar to

https://github.com/compiler-explorer/compiler-explorer/blob/main/lib/compilers/zig.ts https://github.com/compiler-explorer/compiler-explorer/blob/main/lib/compilers/zigcc.ts

https://github.com/compiler-explorer/compiler-explorer/blob/main/etc/config/c%2B%2B.amazonwin.properties https://github.com/compiler-explorer/compiler-explorer/blob/main/etc/config/c.amazonwin.properties

and also to integrate it to the infrastructure repository, see

https://github.com/compiler-explorer/infra/blob/main/bin/yaml/zig.yaml.

Note: before this is done it is likely useful to ensure that the codegen works nicely for the examples, including the optimized ones, those are available at https://github.com/compiler-explorer/compiler-explorer/tree/main/examples/c https://github.com/compiler-explorer/compiler-explorer/tree/main/examples/c++

After that it is likely a good to create a new compiler issue there and discuss the necessary steps and if they may could do part of the actual work.

LADSoft commented 10 months ago

this sounds interesting... thank you.

LADSoft commented 9 months ago

I will probably start evaluating the examples next weekend...

LADSoft commented 9 months ago

ok so i looked at the code gen... as always there could be improvements but they are minor and I'm not making them now.

but i did check that the /sxx compiler switch still works and that aligned_alloc works as desired.... hadn't checked either of those in a while.

i noticed that the c++ 'alignas' didn't work the way I thought it should and will make a separate issue for that...

The only change I made for this is to add the __restrict keyword.

Next time I do a release I will submit orangec to this site...