parameters: (self, arguments, my_env)
docstring: Check if compiling to asm then assembling in separate steps results
          in different code than compiling to object directly.
docstring_summary: Check if compiling to asm then assembling in separate steps results
          in different code than compiling to object directly.
docstring_tokens: Check if compiling to asm then assembling in separate steps results in different code than compiling to object directly .
function: def perform_check(self, arguments, my_env):
          """Check if compiling to asm then assembling in separate steps results
          in different code than compiling to object directly."""
          output_file_b = get_temp_file_name('.o')
  
          alternate_command = arguments + ['-via-file-asm']
          alternate_command = set_output_file(alternate_command, output_file_b)
          run_step(alternate_command, my_env,
                   "Error compiling with -via-file-asm")
  
          # Compare if object files are exactly the same
          exactly_equal = obj_diff.compare_exact(self._output_file_a, output_file_b)
          if not exactly_equal:
              # Compare disassembly (returns first diff if differs)
              difference = obj_diff.compare_object_files(self._output_file_a,
                                                         output_file_b)
              if difference:
                  raise WrapperCheckException(
                      "Code difference detected with -S\n{}".format(difference))
  
              # Code is identical, compare debug info
              dbgdifference = obj_diff.compare_debug_info(self._output_file_a,
                                                          output_file_b)
              if dbgdifference:
                  raise WrapperCheckException(
                      "Debug info difference detected with -S\n{}".format(dbgdifference))
  
              raise WrapperCheckException("Object files not identical with -S\n")
  
          # Clean up temp file if comparison okay
          os.remove(output_file_b)
function_tokens: def perform_check ( self , arguments , my_env ) : output_file_b = get_temp_file_name ( '.o' ) alternate_command = arguments + [ '-via-file-asm' ] alternate_command = set_output_file ( alternate_command , output_file_b ) run_step ( alternate_command , my_env , "Error compiling with -via-file-asm" ) # Compare if object files are exactly the same exactly_equal = obj_diff . compare_exact ( self . _output_file_a , output_file_b ) if not exactly_equal : # Compare disassembly (returns first diff if differs) difference = obj_diff . compare_object_files ( self . _output_file_a , output_file_b ) if difference : raise WrapperCheckException ( "Code difference detected with -S\n{}" . format ( difference ) ) # Code is identical, compare debug info dbgdifference = obj_diff . compare_debug_info ( self . _output_file_a , output_file_b ) if dbgdifference : raise WrapperCheckException ( "Debug info difference detected with -S\n{}" . format ( dbgdifference ) ) raise WrapperCheckException ( "Object files not identical with -S\n" ) # Clean up temp file if comparison okay os . remove ( output_file_b )