2010-11-21 12 views
4

Bu hat için bir uyarı alıyorum:Gcc's -Wsequence noktası uyarı bayrağı kırıldı mı?

e = strtol(++s, (char **)&s, 10); 

ayrı açıklamaya ++s Hareketli uyarı uzağa gider, ama bildiğim kadarıyla söyleyebilirim, bu uyarı tamamen yanlış yapar. Xzx15'in değeri sadece ++s hesaplamasında bir kez kullanılır. Xzx11'in ikinci kullanımı sadece adresini almaktır. Kaybettiğim bir şey mi var?

+0

Sorunu gcc 4.4.3 veya 4.4.5 kullanarak yeniden oluşturamıyorum. Bunu gösteren tam bir example.c gönderilsin mi? – Kamal

+0

Ah, bu sistemde eski 3.x gcc gibi görünüyor. –

+2

Bu arada, bunu bir yanıt olarak gönderin ve kabul ediyorum, çünkü "geçerli gcc bu uyarıyı üretmiyor" uyarısının yanlış olup olmadığı hakkındaki sorularıma iyi bir cevap. –

cevap

4

Gcc'nin yeni sürümleri (4.4.3 veya 4.4.5), gönderdiğiniz hat için herhangi bir uyarı oluşturmaz. Bu uyarının oluşturulması, eski gcc sürümlerinde bir hata gibi görünüyor.

+2

Bkz. [GCC hatası 18050] (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18050) - 4.4.0'de düzeltildi. – ugoren