Commit b40aef6c authored by Xavier Leroy's avatar Xavier Leroy
Browse files

Error when using -main without -interp

Outside of -interp mode, -main has no (known) effect but could be
confused for a linker option that sets the program's entrypoint, say.
It's safer to reject the option.
parent 5e389894
...@@ -412,6 +412,8 @@ let _ = ...@@ -412,6 +412,8 @@ let _ =
fatal_error no_loc "ambiguous '-o' option (multiple source files)"; fatal_error no_loc "ambiguous '-o' option (multiple source files)";
if !num_input_files = 0 then if !num_input_files = 0 then
fatal_error no_loc "no input file"; fatal_error no_loc "no input file";
if not !option_interp && !main_function_name <> "main" then
fatal_error no_loc "option '-main' requires option '-interp'";
let linker_args = time "Total compilation time" perform_actions () in let linker_args = time "Total compilation time" perform_actions () in
if not (nolink ()) && linker_args <> [] then begin if not (nolink ()) && linker_args <> [] then begin
linker (output_filename_default "a.out") linker_args linker (output_filename_default "a.out") linker_args
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment