GCC compiler options
# Standard --std=c++2a --all-warnings --extra-warnings # Things that aren't added by default -Wshadow -Wfloat-equal -Weffc++ -Wdelete-non-virtual-dtor -Warray-bounds -Wdeprecated-copy -Wattribute-alias -Wformat-overflow -Wformat-truncation -Wclass-conversion -Wmissing-attributes -Wstringop-truncation # Some optimisation but you can still debug it -Og
-fwhole-program Assume that the current compilation unit represents the whole program being compiled. All public functions and variables with the exception of main and those merged by attribute externally_visible become static functions and in effect are optimized more aggressively by interprocedural optimizers.
See gcc documentation.