2015-08-13 9 views
5

में मैं गैर-अनुरूप टैब वर्ण 'आमतौर पर ifort के साथ अपना कोड चलाता हूं, लेकिन कार्यान्वयन के दौरान, मैं gfortran के साथ संकलन और परीक्षण करना पसंद करता हूं क्योंकि मुझे लगता है कि यह अपने इंटेल समकक्ष से बहुत कठोर है।चेतावनी को शांत करें: gfortran

जबकि संकलन ऐसे -Wall के रूप में विकल्पों को चालू करने, मैं निम्न चेतावनी:

Warning: Nonconforming tab character at (1)

वहाँ एक ही संकलन विकल्पों का उपयोग करते समय यह एक विशेष चेतावनी चुप्पी के लिए एक रास्ता है? ध्यान दें कि मैं नहीं अंतरिक्ष वर्णों वाले टैब को प्रतिस्थापित करना चाहता हूं। यदि इस समस्या को हल करने का कोई तरीका नहीं है, तो उत्तर "नहीं, यह संभव नहीं है" पर्याप्त होगा।

+0

'| grep -v "nonconforming टैब कैरेक्टर" ' – agentp

उत्तर

7

चेतावनी: नीचे इस सवाल का जवाब मैं मूल रूप से लिखा था केवल 4.x. gfortran पर लागू होता है संस्करण 5.x में व्यवहार को उलट दिया गया है, the answer by user3024046 देखें।


आपने अभी तक क्या प्रयास किया है? -Wtabs मदद करता है? man gfortran से:

-Wtabs

डिफ़ॉल्ट रूप से, टैब खाली स्थान के रूप में स्वीकार कर रहे हैं, लेकिन टैब फोरट्रान वर्ण सेट के सदस्य नहीं हैं। निरंतरता रेखाओं के लिए, 1 और 9 के बीच अंकों के बाद एक टैब समर्थित है। -नो-टैब किसी टैब का सामना होने पर चेतावनी जारी की जाएगी। नोट, -नोनो-टैब सक्रिय, -std = f95, -std = f2003, -std = f2008 और -Wall के लिए सक्रिय है।

और -Wall सेट -Wno-tabs

यदि यह मदद नहीं करता है, तो यह अभी भी -Wall इस विकल्प को ओवरराइट कर सकता है। तो आप मैन्युअल रूप से टैब हिस्सा बिना -Wall सेट करने का प्रयास कर सकते हैं:

-Wall

आमतौर पर इस्तेमाल किया चेतावनी उपयोग से संबंधित विकल्प है कि हम से बचने की सलाह देते हैं सक्षम करती है और कि हमें विश्वास है कि से बचने के लिए आसान है। इसमें वर्तमान में शामिल हैं- वाइलाइजिंग, -Wampersand, -Wconversion, -Wsurprising, -Wc-binding-type, -Wintrinsics-std, -nono-tabs, -Wintrinsic-shadow, -Wline-truncation, -Warget लक्ष्य-जीवनकाल, -वास्तविक -क-निरंतर और -विज्ञानी।

+0

मैंने' -Wno-tabs' की कोशिश की थी लेकिन '-Wtabs' ने चाल की थी। धन्यवाद! – solalito

+0

आपके उत्तर में थोड़ा सा जोड़ना, '-वॉल'' -Wtabs' विकल्पों को ओवरराइट नहीं करता है, लेकिन '-pedantic' करता है। – solalito

+0

फीडबैक के लिए धन्यवाद :) यह वास्तव में मैं 'पैडेंटिक' से अपेक्षा करता हूं: आप इसे मानक व्यवहार को मजबूर करने के लिए उपयोग करते हैं, इसलिए इसे टैब की अनुमति नहीं देनी चाहिए। –

3

अद्यतन: जीसीसी के साथ/gFortran 5xx (मैं 5.3.0 के साथ देखा), -Wtabs उपयोग किया गया "उलट" है, और के रूप में वे कहते हैं, "अधिक समझदार बनाया"।

यहाँ देखें (https://gcc.gnu.org/gcc-5/changes.html)

अब -Wtabs जबकि -Wno-टैब चेतावनी (अर्थात पिछले उपयोग के विपरीत) बंद हो जाती है करता है, गैर-अनुरूपक चेतावनी दे।

+0

वाह, घटनाओं की दिलचस्प बारी :) खोज के लिए कुडोस, मैंने अपना जवाब यह ध्यान में संपादित किया कि यह केवल 4.x तक काम करता है और वह 5.x आपके उत्तर से ढका हुआ है। अगली बार आंशिक रूप से गलत उत्तर पर टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें, प्रत्येक उत्तर की सीमाओं को जानना महत्वपूर्ण है। –

0

gfortran संस्करण 4.x में चेतावनी से छुटकारा पाने का सबसे आसान तरीका है- Wn-tabs ध्वज को ओवरराइट करना है -Wall ध्वज सेट।तो पहले शामिल करें- वाल और फिर -Wattabs

-Wall -Wtabs 
संबंधित मुद्दे