Lines Matching full:uuid

12 // cl.exe's behavior with merging uuid attributes is a bit erratic:
13 // * In []-style attributes, a single [] list must not list a duplicate uuid
14 // (even if it's the same uuid), and only a single declaration of a class
15 // must have a uuid else the compiler errors out (even if two declarations of
16 // a class have the same uuid).
17 // * For __declspec(uuid(...)), it's ok if several declarations of a class have
18 // an uuid, as long as it's the same uuid each time. If uuids on declarations
20 // * If there are several __declspec(uuid(...))s on one declaration, the
21 // compiler only warns about this and uses the last uuid. It even warns if
32 class __declspec(uuid("000000A0-0000-0000-C000-000000000049")) C1;
33 class __declspec(uuid("000000a0-0000-0000-c000-000000000049")) C1;
34 class __declspec(uuid("{000000a0-0000-0000-C000-000000000049}")) C1;
35 class __declspec(uuid("000000A0-0000-0000-C000-000000000049")) C1 {};
38 // expected-note@+1 2{{previous uuid specified here}}
39 class __declspec(uuid("000000A0-0000-0000-C000-000000000049")) C2;
40 // expected-error@+1 {{uuid does not match previous declaration}}
41 class __declspec(uuid("110000A0-0000-0000-C000-000000000049")) C2;
42 // expected-error@+1 {{uuid does not match previous declaration}}
43 class __declspec(uuid("220000A0-0000-0000-C000-000000000049")) C2 {};
45 // expected-note@+1 {{previous uuid specified here}}
46 class __declspec(uuid("000000A0-0000-0000-C000-000000000049")) C2_2;
48 // expected-error@+1 {{uuid does not match previous declaration}}
49 class __declspec(uuid("110000A0-0000-0000-C000-000000000049")) C2_2;
52 [uuid("000000A0-0000-0000-C000-000000000049")] class C3;
53 [uuid("000000A0-0000-0000-C000-000000000049")] class C3;
54 [uuid("000000A0-0000-0000-C000-000000000049")] class C3 {};
57 // expected-note@+1 2{{previous uuid specified here}}
58 [uuid("000000A0-0000-0000-C000-000000000049")] class C4;
59 // expected-error@+1 {{uuid does not match previous declaration}}
60 [uuid("110000A0-0000-0000-C000-000000000049")] class C4;
61 // expected-error@+1 {{uuid does not match previous declaration}}
62 [uuid("220000A0-0000-0000-C000-000000000049")] class C4 {};
65 // expected-error@+1 {{uuid does not match previous declaration}}
66 class __declspec(uuid("000000A0-0000-0000-C000-000000000049"))
67 // expected-note@+1 {{previous uuid specified here}}
68 __declspec(uuid("110000A0-0000-0000-C000-000000000049")) C5;
70 // expected-error@+1 {{uuid does not match previous declaration}}
71 [uuid("000000A0-0000-0000-C000-000000000049"),
72 // expected-note@+1 {{previous uuid specified here}}
73 uuid("110000A0-0000-0000-C000-000000000049")] class C6;
75 // cl doesn't diagnose having one uuid each as []-style attributes and as
77 [uuid("000000A0-0000-0000-C000-000000000049")]
78 class __declspec(uuid("000000A0-0000-0000-C000-000000000049")) C7;
80 // expected-note@+1 {{previous uuid specified here}}
81 [uuid("000000A0-0000-0000-C000-000000000049")]
82 // expected-error@+1 {{uuid does not match previous declaration}}
83 class __declspec(uuid("110000A0-0000-0000-C000-000000000049")) C8;
89 class __declspec(uuid("000000A0-0000-0000-C000-000000000049"))
90 __declspec(uuid("000000A0-0000-0000-C000-000000000049")) C9;
94 [uuid("000000A0-0000-0000-C000-000000000049"),
95 uuid("000000A0-0000-0000-C000-000000000049")] class C10;
104 // The UUID should work for a non-type template parameter. in F2()
111 // declaration has a uuid attribute
114 struct __declspec(uuid("00000000-0000-0000-0000-000000000000")) X;
117 class __declspec(uuid("1babb1ed-feed-c01d-1ced-decafc0ffee5")) Request;