Sha256: 246f42fcc3dafd24031dab54cac5a9ac94a6ed0e1d7ed294f611709eea49fc7b

Contents?: true

Size: 1.29 KB

Versions: 44

Compression:

Stored size: 1.29 KB

Contents

#!/usr/bin/env python

# Copyright (c) 2012 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""
Make sure comdat folding optimization setting is extracted properly.
"""

import TestGyp

import sys

if sys.platform == 'win32':
  test = TestGyp.TestGyp(formats=['msvs', 'ninja'])

  CHDIR = 'linker-flags'
  test.run_gyp('opt-icf.gyp', chdir=CHDIR)
  test.build('opt-icf.gyp', chdir=CHDIR)

  # We're specifying /DEBUG so the default is to not merge identical
  # functions, so all of the similar_functions should be preserved.
  output = test.run_dumpbin(
      '/disasm', test.built_file_path('test_opticf_default.exe', chdir=CHDIR))
  if output.count('similar_function') != 6: # 3 definitions, 3 calls.
    test.fail_test()

  # Explicitly off, all functions preserved seperately.
  output = test.run_dumpbin(
      '/disasm', test.built_file_path('test_opticf_no.exe', chdir=CHDIR))
  if output.count('similar_function') != 6: # 3 definitions, 3 calls.
    test.fail_test()

  # Explicitly on, all but one removed.
  output = test.run_dumpbin(
      '/disasm', test.built_file_path('test_opticf_yes.exe', chdir=CHDIR))
  if output.count('similar_function') != 4: # 1 definition, 3 calls.
    test.fail_test()

  test.pass_test()

Version data entries

44 entries across 44 versions & 7 rubygems

Version Path
libv8-3.16.14.19.1 vendor/gyp/test/win/gyptest-link-opt-icf.py
mt-libuv-4.1.04 ext/gyp/test/win/gyptest-link-opt-icf.py
mt-libuv-4.1.03 ext/gyp/test/win/gyptest-link-opt-icf.py
mt-libuv-4.1.02 ext/gyp/test/win/gyptest-link-opt-icf.py
tree-sitter-0.1.0 ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.19 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.18 vendor/gyp/test/win/gyptest-link-opt-icf.py
tree-sitter-0.0.1 ext/tree-sitter/tree-sitter/externals/gyp/test/win/gyptest-link-opt-icf.py
arcabouco-0.2.13 vendor/bundle/gems/libv8-3.16.14.17/vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.17 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.16 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.15 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.14 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-tmpfork-3.16.14.13 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.13 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.12 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.11 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.10 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.8 vendor/gyp/test/win/gyptest-link-opt-icf.py
libv8-3.16.14.8.rc1 vendor/gyp/test/win/gyptest-link-opt-icf.py