कंपेलरों के लिए switch to warn when code is unreachable प्रदान करना आम बात है। मैंने कुछ पुस्तकालयों के लिए मैक्रोज़ भी देखे हैं, जो assertions for unreachable code प्रदान करते हैं।जीसीसी को संकेत कैसे दें कि एक लाइन पहुंच योग्य नहीं होनी चाहिए?
वहाँ इस तरह के एक pragma के माध्यम से के रूप में एक संकेत है, या builtin है कि मैं, जीसीसी (या उस बात के लिए किसी अन्य compilers) को पारित कर सकते हैं कि चेतावनी दी है या संकलन के दौरान त्रुटि करेगा कि क्या यह है कि एक लाइन की उम्मीद होने के लिए निर्धारित है पहुंचने योग्य वास्तव में पहुंचा जा सकता है?
if (!conf->devpath) {
conf->devpath = arg;
return 0;
} // pass other opts into fuse
else {
return 1;
}
UNREACHABLE_LINE();
इस का मूल्य का पता लगाने में, उम्मीद नहीं पहुंचा जा सकता रेखा से ऊपर शर्तों में परिवर्तन के बाद, कि लाइन तथ्य से पहुंचा जा सकता है है:
यहाँ एक उदाहरण है।
मैं यह नोट करना चाहता हूं कि '-उनरेच करने योग्य-कोड' विकल्प जीसीसी के बाद के संस्करणों में हटा दिया गया था (क्योंकि यह विभिन्न अनुकूलन विकल्पों के तहत अत्यधिक अप्रत्याशित था) – Hasturkun