Пример #1
0
 def test_mangled_flags_with_fastmath_parfors_inline(self):
     # at least for these control cases
     flags = Flags()
     flags.nrt = True
     flags.auto_parallel = True
     flags.fastmath = True
     flags.inline = "always"
     self.assertLess(len(flags.get_mangle_string()), len(flags.summary()))
     demangled = flags.demangle(flags.get_mangle_string())
     # There should be no pointer value in the demangled string.
     self.assertNotIn("0x", demangled)
Пример #2
0
 def test_demangling_from_mangled_symbols(self):
     """Test demangling of flags from mangled symbol"""
     # Use default mangler to mangle the string
     fname = 'foo'
     argtypes = types.int32,
     flags = Flags()
     flags.nrt = True
     flags.target_backend = "myhardware"
     name = default_mangler(
         fname,
         argtypes,
         abi_tags=[flags.get_mangle_string()],
     )
     # Find the ABI-tag. Starts with "B"
     prefix = "_Z3fooB"
     # Find the length of the ABI-tag
     m = re.match("[0-9]+", name[len(prefix):])
     size = m.group(0)
     # Extract the ABI tag
     base = len(prefix) + len(size)
     abi_mangled = name[base:base + int(size)]
     # Demangle and check
     demangled = Flags.demangle(abi_mangled)
     self.assertEqual(demangled, flags.summary())