2013-06-10 8 views

उत्तर

7

जीसीसी सही है।

टिप्पणियों का प्रतिस्थापन (लाइन ब्रेक समेत) अनुवाद चरण 3 में होता है, अनुवाद चरण 4 में पूर्व प्रसंस्करण (आईएसओ/आईईसी 98 99: 1 999, §5.1.1.2)।

इसलिए, कंपाइलर का प्रीप्रोकैसिंग हिस्सा अब लाइन-ब्रेक को "देख" नहीं देता है।

और, #error इस तरह परिभाषित किया गया है (§6.10.5):

रूप

# error pp-tokens_opt new-line

के एक पूर्व प्रसंस्करण निर्देश कार्यान्वयन एक नैदानिक ​​संदेश यह है कि शामिल हैं का उत्पादन करने का कारण बनता है preprocessing टोकन के अनुक्रम निर्दिष्ट।

तो, foo आउटपुट का हिस्सा होना चाहिए।

2

जीसीसी सही है क्योंकि इसे मानक में एक ही स्थान / * ... * / द्वारा प्रतिस्थापित किया जाना चाहिए।

संबंधित मुद्दे