use @main for juliac executable entry point
#57588
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
juliac clearly should use the at-main mechanism for executables. That also allows us to call julia_init from C main instead of using
__attribute__((constructor)). I also added support for passing in the command line arguments (kind of useful!)I changed
Core.ARGSfrom aVector{Any}to aVector{String}. I don't know why we didn't do that years ago. Surely this is ok?The biggest problem is looking up juliamainfrom C main. For now I put in a hack to keep the binding around, but it's not very satisfying. Maybe we should insert accallablewith some known name likejuliac_exe_main? Any other ideas on how to handle this? Edit: done.