Commit Graph

82 Commits

Author SHA1 Message Date
ff58436a98 cxx_stdcxxfs: Instantiate more code in the linking test
clang requires more instantiations than we currently have to exercise
their filesystem library.
2019-07-01 10:49:58 +10:00
00955b8920 nc_cxx: actually allow the empty library for stdfs detection 2019-06-28 10:24:23 +10:00
1dd0984040 nc: write fewer status messages 2019-06-22 08:37:20 +10:00
dc52274971 cxx: fix the path to the stdcxxfs test code 2019-06-20 11:45:58 +10:00
93b876dee7 nc: set a variable to point to this directory 2019-06-18 11:28:17 +10:00
e46716472a Revert "cxx: remove test for the filesystem library"
This reverts commit 874bbb2413.
2019-05-06 13:02:15 +10:00
874bbb2413 cxx: remove test for the filesystem library
We no longer use compilers that rely on this library, and the 'null'
case in library detection was broken.
2019-05-05 09:17:49 +10:00
bf694b3085 cxx: use PIC by default so we can produce dynamic libraries 2019-03-03 13:00:27 +11:00
b695b56ead optimisation: re-enable -fipa-pta by default
It appears to work alright for the core libraries as of GCC-8.2.0
2019-02-22 12:41:41 +11:00
3368ac332e warnings: disable -Wswitch-enum 2019-02-05 18:17:01 +11:00
0e00c08c0e warnings: disable -Wnoexcept temporarily 2019-02-05 12:35:39 +11:00
d09971da97 warnings: disable strict-overflow warnings
This makes view construction with sizes more tolerable.
2019-02-03 11:36:56 +11:00
68d37542d9 optimisation: downgrade unknown architecture to a warning 2019-02-02 17:02:17 +11:00
395f16c88e optimisation: remove inadvertant default value for host_cpu 2019-02-02 17:02:01 +11:00
23b5facb81 cxx: print which c++fs libraries are being attempted 2019-02-02 15:01:27 +11:00
b4db7136eb optimisation: add lto odr-type-merging and partition=none 2019-01-16 14:33:13 +11:00
525f597d64 cxx: define _FILE_OFFSET_BITS=64 2019-01-04 17:18:07 +11:00
6b7a06ddb7 cxx: don't set stdc++fs globally
Linking to stdc++fs in the wrong order can produce an ICE under GCC.
Linking globally will place stdc++fs at the front of the library list
(which is the trigger for the ICE). We rely on the clients linking
manually where required.
2019-01-02 13:42:54 +11:00
fc58c76599 optimisation: disable -fipa-pta
GCC encounters an ICE with this option in some projects (eg, edict)
2018-12-10 15:08:14 +11:00
d333042d85 warnings: add switch, and disable pragma, warnings 2018-12-06 16:09:21 +11:00
f5a4420164 build: transition from experimental filesystem 2018-12-05 19:12:02 +11:00
7eb31caa22 cxx: add libcxx-7.0.0 library for std::filesystem 2018-10-15 17:16:26 +11:00
16611ec091 optimisation: group instruction sets by enabled status 2018-09-14 13:00:37 +10:00
99c1ae6afd optimisation: use more conservative architecture flags
We can't enable SSE3 if we want to compile for our Atom test target, so
we explicitly disable this and a few future instruction sets that we
know won't be accessible.
2018-09-13 14:53:06 +10:00
e82c8b7d4a optimisation: bite the bullet and use O0 by default for debug
Og optimisation eliminates too many expressions to be useful for fine
grained debugging so we should make Og the exception rather than O0
2018-09-05 13:17:50 +10:00
23865396af asciidoc: don't hardcode a theme 2018-08-28 14:02:54 +10:00
7207c6dc8c asciidoc: add asciidoctor as a fallback implementation 2018-08-28 14:02:34 +10:00
3deaf0503b warnings: disable redundant-decl 2018-08-20 16:29:32 +10:00
305bd4a46e optimisation: don't enable stack-protector under win32
This apparently triggers segfaults when using the standard library so
it's unusable.
2018-08-13 14:56:32 +10:00
7694a39501 cxx: explicitly enable format macros
This is required to enable format functionality under win32
2018-08-13 14:55:45 +10:00
87cfe7d051 compile_flag: add failure regex 2018-07-04 16:46:32 +10:00
26319b51a1 compile_flag: restore CMAKE_REQUIRED_FLAGS 2018-07-04 16:46:15 +10:00
878a1f118f sanitizer: add an option to enable various sanitizers 2018-07-04 16:25:05 +10:00
9198bae72d compile_flag: also pass parameters to the linker during the test 2018-07-04 16:24:30 +10:00
1c5ded53b3 cxx: update flags for gcc-8.1.0 2018-05-05 14:37:58 +10:00
5208910a35 warnings: enable -Wparentheses 2018-03-27 20:17:03 +11:00
43d5fb4523 optimisation: try to enable sse3
Effectively all hardware we target includes sse3 instructions at this
point.
2018-03-22 15:08:36 +11:00
efaf99ff60 cxx: attempt to enable coloured diagnostics on clang 2018-03-22 15:08:16 +11:00
6af34bc023 optimisation: add stubs for unsafe maths 2018-01-30 16:26:42 +11:00
712fcdf455 optimisastion: add explanatory note for optimisation flags 2018-01-24 17:33:15 +11:00
630aa5de08 optimisation: switch back to Og for debugging
O0 is catastrophically slow for some of our projects. Don't
unconditionally use O0.
2018-01-24 17:28:33 +11:00
1bde0634b4 warnings: add -Wno-gnu-string-literal-operator-template 2018-01-23 18:54:14 +11:00
21e8792153 compile_flag: workaround gcc's -Wno-foo handling 2018-01-23 18:53:45 +11:00
8c9ca6a372 optimisation: temporarily disable -ggdb
This works around an ICE with libcruft-util's coord classes and GCC's
trunc_int_for_mode.
2018-01-18 11:54:11 +11:00
9cd8c56cdc optimisation: re-enable fipa-pta under GCC
It appears codegen works again? Perhaps we were running into a seperate
issue and fipa-pta always worked.
2018-01-18 11:51:38 +11:00
b3d2938410 cxx: quote the filesystem libraries 2017-12-20 16:12:11 +11:00
6576747031 optimsation: prefer -O0 over -Og
Og optimises out too many variables to be useful in a large percentages
of the cases. Instead use O0. If we need to revert to Og we'll instead
introduce a new flag.
2017-11-22 17:09:05 +11:00
bd4b8328c2 optimisation: remove deprecated clang optimisation 2017-09-12 14:24:59 +10:00
157ff8962c cxx: default to using libcxx where possible
using libcxx alleviates some compilation errors under newer clang and
c++17.
2017-08-07 12:58:10 +10:00
8a83b07ea0 optimisation: use Og instead of O0 by default
O0 is hellishly slow, this is every so slightly less so.
2017-07-04 16:21:00 +10:00