# This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see # <http://www.gnu.org/licenses/>. # Verify behavior of the gcc.get_*gcc_version() methods import gcc def test_version(name, v): print(name) # print(v) # print(tuple(v)) assert hasattr(v, 'basever') assert hasattr(v, 'datestamp') assert hasattr(v, 'devphase') assert hasattr(v, 'revision') assert hasattr(v, 'configuration_arguments') test_version('gcc.get_gcc_version()', gcc.get_gcc_version()) test_version('gcc.get_plugin_gcc_version()', gcc.get_plugin_gcc_version()) assert isinstance(gcc.GCCPLUGINS_API_VERSION, int) assert gcc.GCCPLUGINS_API_VERSION >= 4006
This diagram shows the various GCC optimization passes, arranged vertically, showing child passes via indentation. The lifetime of the various properties that they maintain is shown, giving the pass that initially creates the data (if any), the pass that destroys it (if any), and each pass that requires a particular property (based on the PROP_* flags). .. image:: passes.svg :width: 550px :height: 3302px :scale: 50% ''') print(""" These tables contain the same information. The diagram and tables were autogenerated, using GCC %s""" % gcc.get_gcc_version().basever) print for rootname, reflabel, ps in zip(('The lowering passes', 'The "small IPA" passes', 'The "regular IPA" passes', 'Passes generating Link-Time Optimization data', 'The "all other passes" catch-all'), ('all_lowering_passes', 'all_small_ipa_passes', 'all_regular_ipa_passes', 'all_lto_gen_passes', 'all_passes'), gcc.Pass.get_roots()): print('.. _%s:' % reflabel) print print(rootname)
This diagram shows the various GCC optimization passes, arranged vertically, showing child passes via indentation. The lifetime of the various properties that they maintain is shown, giving the pass that initially creates the data (if any), the pass that destroys it (if any), and each pass that requires a particular property (based on the PROP_* flags). .. image:: passes.svg :width: 550px :height: 3302px :scale: 50% ''') print(""" These tables contain the same information. The diagram and tables were autogenerated, using GCC %s""" % gcc.get_gcc_version().basever) print for rootname, reflabel, ps in zip( ('The lowering passes', 'The "small IPA" passes', 'The "regular IPA" passes', 'Passes generating Link-Time Optimization data', 'The "all other passes" catch-all'), ('all_lowering_passes', 'all_small_ipa_passes', 'all_regular_ipa_passes', 'all_lto_gen_passes', 'all_passes'), gcc.Pass.get_roots()): print('.. _%s:' % reflabel) print print(rootname) print('-' * len(rootname)) print t = Table([
# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see # <http://www.gnu.org/licenses/>. # Verify behavior of the gcc.get_*gcc_version() methods import gcc def test_version(name, v): print(name) # print(v) # print(tuple(v)) assert hasattr(v, 'basever') assert hasattr(v, 'datestamp') assert hasattr(v, 'devphase') assert hasattr(v, 'revision') assert hasattr(v, 'configuration_arguments') test_version('gcc.get_gcc_version()', gcc.get_gcc_version()) test_version('gcc.get_plugin_gcc_version()', gcc.get_plugin_gcc_version())
# This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see # <http://www.gnu.org/licenses/>. # Verify behavior of the gcc.get_*gcc_version() methods import gcc def test_version(name, v): print(name) # print(v) # print(tuple(v)) assert hasattr(v, 'basever') assert hasattr(v, 'datestamp') assert hasattr(v, 'devphase') assert hasattr(v, 'revision') assert hasattr(v, 'configuration_arguments') test_version('gcc.get_gcc_version()', gcc.get_gcc_version()) test_version('gcc.get_plugin_gcc_version()', gcc.get_plugin_gcc_version()) assert isinstance(gcc.GCC_VERSION, int) assert gcc.GCC_VERSION >= 4006