Commit graph

845 commits

Author SHA1 Message Date
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
Kp fbf1f8a658 Annotate mem_malloc/calloc/realloc as __attribute__((alloc_size)) 2013-12-20 03:33:32 +00:00
Kp 737fe73dd7 Annotate mem_malloc/mem_calloc as __attribute__((malloc)) 2013-12-20 03:24:39 +00:00
Kp c561c3d514 Move multi_send_data_direct type into template parameter
Optimizing compilers may now delete the size check.
2013-12-20 03:08:19 +00:00
Kp 2f18c5037d Store group lists as countarray objects 2013-12-18 03:48:52 +00:00
Kp e8de74b8bf Reject inappropriate printf usage 2013-12-17 04:03:35 +00:00
Kp 9a189bcfd1 Unify SDL_mixer setup 2013-12-17 04:01:22 +00:00
Kp 08767eb1c5 Probe for libphysfs during configure stage 2013-12-17 04:01:22 +00:00
Kp 15e03d7e9a Factor out configure functionality 2013-12-17 04:01:22 +00:00
Kp b30639b0c4 Add special case to save CPPDEFINES to configure header
Avoid cluttering the command line by moving CPPDEFINES to the configure
header.
2013-12-15 21:53:20 +00:00
Kp adee72c624 Move -pthread to be Linux only 2013-12-15 18:59:01 +00:00
Kp f05b6f0008 Use on-stack bit array for tracking AI segment visits 2013-12-15 18:50:39 +00:00
Kp f351cc024d Add convenience alias 'dxx' to SConstruct 2013-12-15 18:46:42 +00:00
Kp 8a5644fc07 Only pass -Werror=redundant-decls if it works well 2013-12-13 03:59:49 +00:00
Kp 3f92639efc Remove unnecessary PCH variable 2013-12-13 03:44:02 +00:00
Kp 8bd9f9bccd Make vers_id.o depend on PCH if present 2013-12-13 03:44:02 +00:00
Kp ac6fe9aca6 Test for compiler support for pre-compiled headers
Fix interaction of pre-compiled headers with configure-modified flags.
2013-12-13 03:44:02 +00:00
Kp 07877853ba Use static_assert where available 2013-12-13 03:44:02 +00:00
Kp e784dd4357 Remove C compiler handling from SConstruct 2013-12-13 03:44:02 +00:00