Saya mulai mengerjakan beberapa proyek C yang sedang digunakan gcc. Saya percaya pilihan ini dibuat karena beberapa alasan:
- Harus kompilasi silang untuk lengan sangat awal (saya pikir).
- Kinerja adalah spesifikasi pertama dan terpenting.
gccadalah dan masih merupakan pilihan pertama yang mudah.
Saya tidak punya alasan untuk menentang pilihan itu dan saya tidak dalam posisi untuk melakukannya.
Basis kode dari setiap proyek tunggal relatif kecil. Setiap proyek dibangun dengan Makefile yang relatif bersih (saat ini sedang disegarkan), gcc -Wall -Wextrahampir tidak mengeluh sama sekali dan beberapa pengujian minimal dilakukan. Tidak ada analisis statis otomatis atau pemformatan kode yang dilakukan dan kode ini secara sintaksis tidak konsisten, meskipun sangat mudah dibaca dan terasa dipikirkan.
Saya tidak ingin memformat ulang setiap baris kode sekaligus, saya bermaksud melakukan seperti yang dijelaskan di sekitar jawaban ini (terutama karena konteksnya sebenarnya tidak seburuk): refactoring dan terutama memformat ulang sebanyak mungkin ketika berhadapan dengan topik apa pun, tetapi tetap mengambil topik tanpa niat gaya kode dalam pikiran. Sayangnya, saya tidak dalam posisi untuk memaksakan gaya kode atau pemeriksaan tambahan pada komitmen, tetapi saya merasa ada perasaan di antara rekan-rekan saya bahwa Anda harus menghormati konvensi kode yang ada saat memodifikasi file (Meskipun saya menyadari keadaan saat ini) kode tidak secara ajaib terjadi), dan keinginan untuk menulis kode yang baik.
Ini adalah pemrograman pertama saya di C dengan keadaan pikiran seperti itu, dan saya sangat tertarik dengan berbagai analisis kode dan alat pemformatan yang clangmenyediakan.
Inti dari pertanyaan saya adalah: bisakah hal itu menyebabkan masalah untuk mengikuti clangpetunjuk dan menggunakan clangalat pemformatan dan analisis saat membangun gcc? Misalnya, beberapa peringatan bisa datang dari representasi internal yang gcctidak digunakan, atau dari bytecode clangakan menghasilkan gcctidak.
Apakah ada cara yang baik untuk secara otomatis melewati gccparameter kompilasi (terutama arsitektur target dan level optimisasi) clangsehingga petunjuk peringatan masuk akal?
Saya akan menambahkan bahwa saya kenal gccdan pelaporan kesalahannya. Saya tertarik untuk mendapatkan lebih banyak peringatan dan kesalahan (relevan), bukan hanya peringatan yang lebih baik dan lebih dimengerti. Jadi jika saya tidak dapat mempercayai petunjuk tambahan yang clangdapat menghasilkan berdasarkan representasi internal karena saya membangun dengan gccpada akhir hari, maka saya tidak benar-benar tertarik untuk melakukan ini.
Saya memasukkan banyak konteks sehingga merasa bebas untuk membuat komentar atau untuk menjawab pertanyaan mendasar yang tidak dapat saya sampaikan.