Beispiel #1
0
#   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([
Beispiel #4
0
#   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())
Beispiel #5
0
#   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