1// PR c++/9342
2// We were failing to wrap def().user in a TARGET_EXPR, so copying it
3// into the reference temp used a bitwise copy.
4
5struct QString
6{
7    QString( const QString & );
8    QString &operator=( const QString & );
9};
10struct ServerSettings
11{
12    QString user;
13};
14extern ServerSettings def();
15extern void arg( const QString& a );
16void startSession( bool b, QString s )
17{
18    arg (b ? def().user : s);
19}
20