aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-02 21:28:50 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-02 21:28:50 +0000
commita3c702a80e830b96f975e31df31cd560f97ac8eb (patch)
tree10dca596efc248e2d42da67bbf26853432593ca3 /gcc/testsuite/g++.dg
parent0cc06088adc97d6ca9e66489d8a23397fa86f80c (diff)
PR c++/23840
* tree.c (lvalue_p1): A VA_ARG_EXPR with class type is an lvalue, when class rvalues are lvalues. PR c++/23840 * g++.dg/expr/stdarg1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104877 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r--gcc/testsuite/g++.dg/expr/stdarg1.C13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/expr/stdarg1.C b/gcc/testsuite/g++.dg/expr/stdarg1.C
new file mode 100644
index 00000000000..85b6f7460e3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/expr/stdarg1.C
@@ -0,0 +1,13 @@
+// PR c++/23840
+
+#include <stdarg.h>
+struct S
+{
+ int f(int);
+};
+void f(int i, ...)
+{
+ va_list ap;
+ va_start (ap, i);
+ va_arg (ap, S).f(0);
+}