मैं अगले कोड है:g ++ इस कन्स्ट्रक्टर से संबंधित अस्वीकरण चेतावनी को '-fpic` सक्षम क्यों नहीं करता है?
#include <exception>
#include <cstdlib>
void g() { throw 1; }
void (*p)() = g;
template <class T>
void f(T) noexcept (noexcept (T())) // warning 1
{
p();
}
struct A { A() { } }; // warning 2
int main()
{
try { f(A()); } catch (int) { }
return 1;
}
और अगले विकल्पों के साथ:
-fno-pic -fmessage-length=0 -std=c++0x -Wnoexcept
जी ++ अगले चेतावनी फेंक:
noexcept03.C:16:6: warning: noexcept-expression evaluates to 'false' because of a call to 'A::A()' [-Wnoexcept]
noexcept03.C:21:12: warning: but 'A::A()' does not throw; perhaps it should be declared 'noexcept' [-Wnoexcept]
लेकिन जब मैं -fno-pic
के बजाय -fpic
का उपयोग g++
फेंक नहीं है कोई चेतावनी?
संपादित करें:
जीसीसी संस्करण - 4.7.2
जीसीसी का कौन सा संस्करण आप संकलन के लिए उपयोग कर रहे हैं? –
@kumar_m_kiran 4.7.2 – Arseniy