check_globals.cmake 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. ## ======================================================================== ##
  2. ## Copyright 2009-2017 Intel Corporation ##
  3. ## ##
  4. ## Licensed under the Apache License, Version 2.0 (the "License"); ##
  5. ## you may not use this file except in compliance with the License. ##
  6. ## You may obtain a copy of the License at ##
  7. ## ##
  8. ## http://www.apache.org/licenses/LICENSE-2.0 ##
  9. ## ##
  10. ## Unless required by applicable law or agreed to in writing, software ##
  11. ## distributed under the License is distributed on an "AS IS" BASIS, ##
  12. ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ##
  13. ## See the License for the specific language governing permissions and ##
  14. ## limitations under the License. ##
  15. ## ======================================================================== ##
  16. IF (WIN32 OR APPLE)
  17. return()
  18. ENDIF()
  19. execute_process(COMMAND objdump -C -t ${file} OUTPUT_VARIABLE output)
  20. string(REPLACE "\n" ";" output ${output})
  21. foreach (line ${output})
  22. if ("${line}" MATCHES "O .bss")
  23. if (NOT "${line}" MATCHES "std::__ioinit")
  24. message(WARNING "\nProblematic global variable in non-SSE code:\n" ${line})
  25. endif()
  26. endif()
  27. endforeach()