sscc 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/sh
  2. # Copyright (C) 2017 Koz Ross <koz.ross@retro-freedom.nz>
  3. #
  4. # This program is free software: you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation, either version 3 of the License, or
  7. # (at your option) any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. # fno-rtti, fno-threadsafe-statics are irrelevant for C, so not bothering
  17. DISABLES="-fno-aggressive-loop-optimizations \
  18. -fno-asynchronous-unwind-tables \
  19. -fno-auto-inc-dec \
  20. -fno-dce \
  21. -fno-delete-null-pointer-checks \
  22. -fno-dse \
  23. -fno-early-inlining \
  24. -fno-fp-int-builtin-inexact \
  25. -fno-function-cse \
  26. -fno-gcse-lm \
  27. -fno-inline \
  28. -fno-inline-atomics \
  29. -fno-ira-hoist-pressure \
  30. -fno-ira-share-save-slots \
  31. -fno-ira-share-spill-slots \
  32. -fno-ivopts \
  33. -fno-jump-tables \
  34. -fno-lifetime-dse \
  35. -fno-peephole \
  36. -fno-plt \
  37. -fno-prefetch-loop-arrays \
  38. -fno-printf-return-value \
  39. -fno-rename-registers \
  40. -fno-sched-critical-path-heuristic \
  41. -fno-sched-dep-count-heuristic \
  42. -fno-sched-group-heuristic \
  43. -fno-sched-interblock \
  44. -fno-sched-last-insn-heuristic \
  45. -fno-sched-rank-heuristic \
  46. -fno-sched-spec \
  47. -fno-sched-spec-insn-heuristic \
  48. -fno-sched-stalled-insns-dep \
  49. -fno-schedule-fusion \
  50. -fno-short-enums \
  51. -fno-shrink-wrap-separate \
  52. -fno-split-ivs-in-unroller \
  53. -fno-ssa-backprop \
  54. -fno-stdarg-opt \
  55. -fno-strict-volatile-bitfields \
  56. -fno-tree-cselim \
  57. -fno-tree-forwprop \
  58. -fno-tree-loop-if-convert \
  59. -fno-tree-loop-im \
  60. -fno-tree-loop-ivcanon \
  61. -fno-tree-loop-optimize \
  62. -fno-tree-phiprop \
  63. -fno-tree-reassoc \
  64. -fno-tree-scev-cprop \
  65. -fno-var-tracking \
  66. -fno-var-tracking-assignments \
  67. -fno-web"
  68. #shellcheck disable=SC2086,SC2068
  69. gcc ${DISABLES} $@