Passing a class by value results in a CXXConstructExprClass type which is currently not handled by the path analysis engine. Constructors that occur as part of a declaration initialization are handled by VisitAggExpr which includes the variable being declared as the destination in one of the arguments. This destination eventually gets passed to VisitCXXConstructExpr as well. For the parameter passing case, is there a default destination that should be used or should this case be handled separately in a different VisitCXXConstructExpr that doesn't have a destination?
A similar situation happens with passing structs by value in C, but I don't see anything special happening there, it just generates a DeclRefExpr.