diff options
| author | Mats Wichmann <mats@linux.com> | 2023-03-09 19:05:47 (GMT) |
|---|---|---|
| committer | Mats Wichmann <mats@linux.com> | 2023-03-09 19:25:28 (GMT) |
| commit | a4ab466c6df5bd3187e78c36bfa8f68e1fb7659e (patch) | |
| tree | a9fe7761917991779784c620909882960c77dc13 /test/Java/java_version_image/src5/TestSCons.java | |
| parent | a84b13532b98c42576eba5eac2f75c8887642b2d (diff) | |
| download | SCons-a4ab466c6df5bd3187e78c36bfa8f68e1fb7659e.zip SCons-a4ab466c6df5bd3187e78c36bfa8f68e1fb7659e.tar.gz SCons-a4ab466c6df5bd3187e78c36bfa8f68e1fb7659e.tar.bz2 | |
Fix problem when MergeFlags adds to existing CPPDEFINES
MergeFlags has a post-processing step if the *unique* flag evaluates True
which loops through and removes the duplicates. This step uses slicing
(for v in orig[::-1]), which fails if the item being cleaned is a deque -
which CPPDEFINES can now be. It would also cause the deque to be
replaced with a list. Detect this case and handle separately.
Note the same post-processing step assures each modified object will
be replaced - Override(parse_flags=xxx) silently counted on this so
it does not end up sharing variables with the overridden env. This
situation remains, and is accounted for by the patch.
Unit test and e2e tests are extended to check that MergeFlags can now
add correctly, and that Override leaves the variables independent,
not shared.
Fixes #4231
Signed-off-by: Mats Wichmann <mats@linux.com>
Diffstat (limited to 'test/Java/java_version_image/src5/TestSCons.java')
0 files changed, 0 insertions, 0 deletions
