diff --git a/ChangeLog b/ChangeLog index 3f027c2..3e73da9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Jun 14 23:44:47 2009 Minero Aoki + + * net/loveruby/cflat/compiler/Options.java + (parseCommaSeparatedOptions): AbstractList does not support + #remove. + Sat Jun 13 22:42:24 2009 Minero Aoki * rename class: AssemblyFile -> AssemblyCode. diff --git a/net/loveruby/cflat/compiler/Options.java b/net/loveruby/cflat/compiler/Options.java index 842330a..4d3e027 100644 --- a/net/loveruby/cflat/compiler/Options.java +++ b/net/loveruby/cflat/compiler/Options.java @@ -312,12 +312,16 @@ class Options { /** "-Wl,-rpath,/usr/local/lib" -> ["-rpath", "/usr/local/lib"] */ private List parseCommaSeparatedOptions(String opt) { - List opts = Arrays.asList(opt.split(",")); - opts.remove(0); // remove "-Wl" etc. - if (opts.isEmpty()) { + String[] opts = opt.split(","); + if (opts.length <= 1) { parseError("missing argument for " + opt); } - return opts; + List result = new ArrayList(); + // move items into result, except first item ("-Wl", etc). + for (int i = 1; i < opts.length; i++) { + result.add(opts[i]); + } + return result; } void printUsage(PrintStream out) {