option (オプション) を phase (コンパイル段階) に渡します。
複数のオプションを渡すには、コンマで区切って指定します。-Q でコンポーネントに渡されるオプションは、順序が変更されることがあります。ドライバが認識するオプションは、正しい順序に保持されます。ドライバがすでに認識しているオプションに、-Q は使わないでください。たとえば C++ コンパイラは、リンカー (ld) に対する -z オプションを認識します。次のようなコマンドを実行したとします。
CC -G -zallextract mylib.a -zdefaultextract ... // correct
-z オプションは、この順序でリンカーに渡されます。一方、次のようなコマンドを指定したとします。
CC -G -Qoption ld -zallextract mylib.a -Qoption ld -zdefaultextract ... // error
-z オプションの順序が変わり、不正な結果が生じる可能性があります。
phase には、次の値のいずれか 1 つを指定します。
表 A–18 -Qoption の値
SPARC |
x86 |
---|---|
ccfe |
ccfe |
iropt |
iropt |
cg |
ube |
CClink |
CClink |
ld |
ld |
— |
ir2hf |
fbe |
fbe |
次に示すコマンド行では、ld が CC ドライバによって起動されたとき、-Qoption で指定されたオプションの -i と -m が ld に渡されます。
example% CC -Qoption ld -i,-m test.c |
意図しない結果にならないように注意してください。たとえば、次を見てください。
-Qoption ccfe -features=bool,iddollar |
しかしこの指定は、意図に反して次のように解釈されてしまいます。
-Qoption ccfe -features=bool -Qoption ccfe iddollar |
正しい指定は次のとおりです。
-Qoption ccfe -features=bool,-features=iddollar |