2012-10-01 44 views
4

警告「使指針從整數沒有演員」作爲錯誤我試圖做出警告「警告:傳遞參數1的'func'使得整數沒有演員指針」作爲錯誤,但不能找到選項的名稱。作出錯誤

我試着從

gcc -Q --help=warnings | grep enabled 

試過所有警告要麼做-Werror = XXXX,從列表中選項的名稱,

甚至嘗試禁用警告-Wno-XXXX,並不能禁用。

有沒有人知道這個特定警告的選項?

+0

時間切換到叮噹聲! –

回答

2

我也想知道它,所以我檢查了海灣合作委員會的來源(4.8.1)。在C-typeck.c有下面的代碼發出警告:

WARN_FOR_ASSIGNMENT (location, 0, 
         G_("passing argument %d of %qE makes " 
          "pointer from integer without a cast"), 
         G_("assignment makes pointer from integer " 
          "without a cast"), 
         G_("initialization makes pointer from " 
          "integer without a cast"), 
         G_("return makes pointer from integer " 
          "without a cast")); 

0秒參數WAIT_FOR_ASSIGNMENT?通常情況下,這是診斷選項之一。然而,在這種情況下,它是零,所以我擔心這意味着錯誤不能成爲一個錯誤。

0

由於GCC手冊狀態

-Werror =使指定警告到錯誤。例如,-Werror =開關將由-Wswitch控制的警告 變爲錯誤。此開關採用否定形式, 用於否定特定警告的錯誤,例如 -Wno-error =開關使得-Wswitch警告不是錯誤,即使在-Werror有效時也是如此。您可以使用-fdiagnostics-show-option選項來修改每個可控警告,並使用 控制該選項的選項來確定要使用此選項的內容。

任何支持的選項都應該使用-fdiagnostics-show-option開關報告。

如果您很幸運,您的gcc版本可能會讓您選擇性地將您的警告轉化爲錯誤。 我使用絕對版本沒有,所以無論使用

-Werror 使所有警告變爲錯誤。

-pedantic-錯誤 類似於-pedantic,只是發出錯誤而不是警告。

可能是gcc發出錯誤的唯一可能性。