فهرست منبع

disallow some reserved compiler flags in command line (fixed issue #1060)

Simon Krajewski 13 سال پیش
والد
کامیت
989b492f0a
1فایلهای تغییر یافته به همراه6 افزوده شده و 0 حذف شده
  1. 6 0
      main.ml

+ 6 - 0
main.ml

@@ -89,6 +89,11 @@ let htmlescape s =
 	let s = String.concat ">" (ExtString.String.nsplit s ">") in
 	s
 
+let reserved_flags = [
+	"cross";"flash8";"js";"neko";"flash";"php";"cpp";"cs";"java";
+	"as3";"swc";"macro";"sys"
+	]
+
 let complete_fields fields =
 	let b = Buffer.create 0 in
 	Buffer.add_string b "<list>\n";
@@ -790,6 +795,7 @@ try
 			| "use_rtti_doc" -> Parser.use_doc := true
 			| "no_opt" -> com.foptimize <- false
 			| _ -> ());
+			if List.mem var reserved_flags then raise (Arg.Bad (var ^ " is a reserved compiler flag and cannot be defined from command line"));
 			Common.define com var
 		),"<var> : define a conditional compilation flag");
 		("-v",Arg.Unit (fun () ->