probinson added a comment.

In http://reviews.llvm.org/D19567#413997, @dblaikie wrote:

> For 3 code paths (that seem fairly independent from one another) I'd only 
> really expect to see 3 variables in the test - one to exercise each codepath. 
> What's the reason for the larger set of test cases?


I'm not interested in testing code-paths, I'm interested in testing a feature, 
and relying on the fact that (at the moment) only 3 code paths are involved is 
not really robust.  Granted there is some duplication, and I took that out 
(r267804), but there are more than 3 relevant cases from an end-user-feature 
perspective.

> Then it might be simpler just to include 6 variables, one of each kind with 
> the attribute, one of each kind without. & I think you could check this 
> reliably with:

> 

> CHECK: DIGlobalVariable

>  CHECK-NEXT: "name"

> 

> repeated three times with a CHECK-NOT: DIGlobalVariable at the end - that way 
> the CHECK wouldn't skip past an existing variable, and you'd check you got 
> the right ones. I think.


If I cared only about DIGlobalVariable that does sound like it would work.  
Sadly, the static const data member comes out as a DIDerivedType, not a 
DIGlobalVariable.  Also, it's *really* important to us that the DICompositeType 
for "S1" is not present; that's actually where we get the major benefit.
Once you have more than one kind of thing to look for (or -NOT look for) it 
gets a lot more tedious to show it's all correct in one pass like you are 
suggesting.

(Re. getting rid of the types:  We have licensees with major template 
metaprogramming going on, but if they can mark those variables 'nodebug' and 
consequently suppress the instantiated types from the debug info, they should 
see a major size win.  One licensee reported that reducing some name from 19 
characters to 1 char got them a 5MB reduction. Imagine if they could get rid of 
all of those types...)


Repository:
  rL LLVM

http://reviews.llvm.org/D19567



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to