|
| From: | Brian Vandenberg |
| Subject: | [bug #36844] Private variables can still leak to dependencies if += is used |
| Date: | Fri, 13 Jul 2012 18:15:20 +0000 |
| User-agent: | Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) |
URL:
<http://savannah.gnu.org/bugs/?36844>
Summary: Private variables can still leak to dependencies if
+= is used
Project: make
Submitted by: phantal
Submitted on: Fri 13 Jul 2012 06:15:20 PM GMT
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 3.82
Operating System: Any
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
01..ASDF := global
02..
03..${T2}%: private ASDF :=
04..
05.. A: private ASDF += A1
06..${T1}B: private ASDF += B1
07..${T1}C: private ASDF += C1
08..
09..${T1}C: private ASDF += C2
10..${T1}B: private ASDF += B2
11..${T1}A: private ASDF += A2
12..
13..A:B
14..B:C
15..
16..A B C:
17.. @echo "address@hidden: ${ASDF}"
To test this:
# Comment out lines 3 & 6-11; this will demonstrate how private variables
should behave
gmake T1='#' T2='#'
C: global
B: global
A: global A1 A2
# Comment out just line 3; this will demonstrate the problem; targets B & C
inherit changes from things that depend on them.
C: global A1 A2 B1 B2 C1 C2
B: global A1 A2 B1 B2
A: global A1 A2
# Don't comment out any lines; adding a pattern rule to wipe out ASDF for all
targets is a reasonable work-around until this problem gets fixed:
gmake
C: global C1 C2
B: global B1 B2
A: global A1 A2
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?36844>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
| [Prev in Thread] | Current Thread | [Next in Thread] |