aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/enum13.C
blob: 5e4a532ce786be04d287faa3981cf9f6e2ef417d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// PR c++/48780
// { dg-do compile { target c++11 } }
// { dg-options "-fabi-version=5 -Wabi" }

typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;

enum struct A : short { X };

void foo(int x, ...) {
   va_list vl;
   __builtin_va_start(vl, x);
   enum A t = __builtin_va_arg(vl, enum A); // { dg-warning "promote" }
   __builtin_va_end(vl);
}

int main() {
   foo(0, A::X);		// { dg-warning "will not promote" }
}

// { dg-prune-output "note" }