Kp
e766381265
Fix __builtin_constant_p test at -Og
...
Remove explicit 'inline' on __builtin_constant_p test, since -Og will
inline simple functions on request but not inline speculatively or
inline complex templates. When testing at -Og with 'static inline',
__builtin_constant_p is marked as functional, but physfsx checks are not
inlined and result in spurious failures. When testing at -Og with
'static', __builtin_constant_p is marked as broken and the physfsx
checks are skipped. When testing at -O2, __builtin_constant_p is marked
as working and the physfsx checks are included.
2014-11-02 16:46:11 +00:00
Kp
1312008dca
Filter duplicate prefixes in register_program
...
Without a filter, certain combinations add $CXXFLAGS multiple times.
2014-10-16 01:56:30 +00:00
Kp
870ed653b5
Warn about unknown scons variables
2014-10-10 02:58:05 +00:00
Kp
ec1eb03cc2
Move d2x-rebirth/main/segment.cpp -> similar/main/segment.cpp
2014-10-04 17:53:09 +00:00
Kp
d8ca0b2e70
Add initial LTO support
2014-09-28 21:09:19 +00:00
Kp
6384f8dffe
Move main body into configure _Test method
2014-09-28 21:09:19 +00:00
Kp
e6bd1ae52c
Handle None in get_Werror_string
2014-09-27 00:32:22 +00:00
Kp
703f60ac3f
Fix -Wtype-limits warnings
2014-09-21 21:41:55 +00:00
Kp
fece9f51a4
Optimize serial using __builtin_bswap if available
2014-09-20 22:15:32 +00:00
Kp
ef42a7cdad
Compact version number definition
2014-09-17 02:45:32 +00:00
Kp
5b70836203
Fix -Werror leakage on failed CXXFLAGS-free tests
2014-09-17 02:11:43 +00:00
Kp
85b09fd380
Avoid redundant -Werror usage
...
If -Werror is set by the user, use -Wflag instead of -Werror=flag.
2014-09-17 02:09:53 +00:00
Kp
d1a36bfc6a
Add option to rebuild vers_id when any object file changes
2014-09-13 22:10:24 +00:00
Kp
a11c4aed3d
Shorten vers_id command line
2014-09-13 22:09:32 +00:00
Kp
0387a2c771
Disallow using RAIIdmem::operator T* on rvalues
2014-09-07 23:56:37 +00:00
Kp
7d166a70e0
Prevent accidental RAIIdmem construction
2014-09-07 23:56:37 +00:00
Kp
07176ece8b
Add Valgrind poison stubs
2014-09-07 19:39:18 +00:00
Kp
7f6299aaa7
Use built-in __linux__ instead of custom __LINUX__
2014-09-02 22:10:34 +00:00
Kp
56e7fa5f37
Add special case for escaped newline
2014-09-02 22:09:44 +00:00
Kp
4a0d0b3800
Move '-o $TARGET' to end of command line
2014-09-02 22:09:07 +00:00
Kp
94550355a8
Use make_unique instead of bare new
2014-08-24 18:28:09 +00:00
Kp
8b51e0fda5
Test for nonconforming template instantiation depth
2014-08-20 01:08:12 +00:00
Kp
ecd0ff1557
Check whether C++ linker works
2014-08-12 02:31:31 +00:00
Kp
c4eabfd388
Use wider alignment for sconf options
...
SConf option names are long and look bad with the regular alignment.
2014-08-05 02:43:29 +00:00
Kp
5b01c33d94
Allow scons prefix list to have empty inner element
...
All targets have the unqualified entry in their search list. Allow an
explicitly specified unqualified entry to suppress the implicit entry.
For example:
scons dxx=e,,f
Previously, this was equal to scons dxx=e,f and would set CXXFLAGS to
the concatenation of:
e_CXXFLAGS
f_CXXFLAGS
CXXFLAGS
Now, it remains dxx=e,,f and will concatenate:
e_CXXFLAGS
CXXFLAGS
f_CXXFLAGS
2014-08-05 02:41:42 +00:00
Kp
1adaad4147
Remove broken assembler support
...
Assembler failed to build in 0.58.1. Assembler failed to run correctly
after 59344482
/ fc92651eb
changed y_pointers from int[] to int*.
2014-08-04 03:09:33 +00:00
Kp
d9f6e944c9
Use template aliases when available
2014-08-03 03:08:15 +00:00
Kp
2ec453f636
Fix tests with -Wunused-parameter
2014-08-01 03:34:08 +00:00
Kp
af6e4c2218
Optimistically reorder tests
...
Run tests last-to-first to detect success immediately. Run the lesser
tests next, so that build logs show what the compiler can do.
2014-08-01 03:34:08 +00:00
Kp
17dd525029
Improve __builtin_constant_p test
...
Discourage compiler from inlining due to -finline-functions-called-once.
Otherwise, -O2 -fno-inline will inline the sconf test, but not inline
real usage.
2014-08-01 03:34:08 +00:00
Kp
ecc49d0a11
Prefer compound statements to lambdas
...
Compound statements produce better error messages.
2014-08-01 03:34:08 +00:00
Kp
b37c295c59
Pick default extra_version from git tag
2014-07-26 22:53:41 +00:00
Kp
99555d0e73
Extend sconf force support
...
Allow forcing a test to succeed without changing flags.
2014-07-19 22:25:27 +00:00
Kp
b4a778ed9d
Use DXX_ALWAYS_ERROR_FUNCTION for printf check
...
Enable printf check without relying on embedded compound statements.
2014-07-19 21:15:01 +00:00
Kp
602da5a93c
Enable DXX_ALWAYS_ERROR_FUNCTION wherever lambdas are allowed
2014-07-19 18:01:15 +00:00
Kp
66890d16a7
Centralize quoting macro values
2014-07-19 18:01:15 +00:00
Kp
9cf70f29f6
Fix forcing features off
2014-06-30 03:31:54 +00:00
Kp
90300d54d9
Precompute fix_recip table
2014-06-23 04:46:07 +00:00
Kp
ef20958fcc
Refactor C++ standard test
2014-06-23 04:46:07 +00:00
Kp
fb89da37d1
Remove _may_repeat on check_cxx_works
...
self.__automatic_compiler_tests prevents repetition.
2014-06-22 21:05:25 +00:00
Kp
e6a691c5c7
Check that types passed to PHYSFS_write are POD
...
More is needed to trap some misuses, but those traps flag existing code.
2014-06-22 03:54:35 +00:00
Kp
5eb3c6267a
Remove C-only warnings
2014-06-08 00:05:33 +00:00
Kp
b5701bf202
Add __attribute__((warn_unused_result)) to partial_range
2014-06-08 00:05:33 +00:00
Kp
9b0fb5da0a
Write eclip structures carefully
2014-02-01 18:55:18 +00:00
Kp
917ef39258
Use array<> for Vclip
2014-01-23 03:48:25 +00:00
Kp
5cc3885478
Remove executable= in subprocess spawn; Windows handles it poorly
2014-01-07 04:12:39 +00:00
Kp
b3af37e976
Exclude library settings from DXXArchive environment
...
Archives link nothing, so this simplifies reaching the bug fixed in the
previous commit.
2014-01-04 18:04:04 +00:00
Kp
3fadf28751
Avoid KeyError when preserving an environment key that does not exist
2014-01-04 18:04:04 +00:00
Kp
8218af34b5
Add special type to let obj_*link take either pointer or index
2014-01-03 04:04:04 +00:00
Kp
1e8036bd24
Split compiler.h for PCH compatibility
2013-12-21 05:12:38 +00:00