Commit graph

865 commits

Author SHA1 Message Date
Kp 57ed5c24fd Add developer option to test header completeness 2014-11-17 04:02:25 +00:00
Kp 177c935b9d Move 3d/clipper.cpp to SDL-only build 2014-11-16 19:14:51 +00:00
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