I thought function inlining is simple and easy thing. But I read that gcc doesn't make function inline without optimization flag, and function inlining is the last thing to do when gcc optimize something. So I compiled a cpp file with -S and -O1, -O2, -O3 flags. Document says that only -O3 turns on function inlining, but with -O2, gcc also eliminated function calls. The result was better than I expected. But I am confusing. 0. Does 'gcc -O2' make functions inline? 1. Is function inlining is dangerous? 2. Is 'gcc -O3 ' safe? (I heard -O2 is recommended) and any advice about this will help me. Thanks. (Here's my test cpp. and .s results) http://www.nabble.com/file/p18273137/test.cpp test.cpp http://www.nabble.com/file/p18273137/testO1.s testO1.s http://www.nabble.com/file/p18273137/testO2.s testO2.s http://www.nabble.com/file/p18273137/testO3.s testO3.s -- View this message in context: http://www.nabble.com/Optimization%2C-inline-functions-tp18273137p18273137.html Sent from the gcc - Help mailing list archive at Nabble.com.