OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.pt/] [mi1.C] - Blame information for rev 699

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 699 jeremybenn
// { dg-do run  }
2
// Test that binfos aren't erroneously shared between instantiations.
3
 
4
class PK_CryptoSystem
5
{
6
};
7
class PK_Encryptor : public virtual PK_CryptoSystem
8
{
9
};
10
class PK_FixedLengthCryptoSystem : public virtual PK_CryptoSystem
11
{
12
public:
13
        virtual unsigned int CipherTextLength() const =0;
14
};
15
class PK_FixedLengthEncryptor : public virtual PK_Encryptor, public virtual PK_FixedLengthCryptoSystem
16
{
17
};
18
class PK_SignatureSystem
19
{
20
public:
21
        virtual ~PK_SignatureSystem() {}
22
};
23
class PK_Signer : public virtual PK_SignatureSystem
24
{
25
public:
26
        virtual void Sign() = 0;
27
};
28
class PK_Verifier : public virtual PK_SignatureSystem
29
{
30
};
31
class PK_Precomputation
32
{
33
};
34
template  class
35
PK_WithPrecomputation : public T, public virtual PK_Precomputation
36
{
37
};
38
typedef PK_WithPrecomputation PKWPFLE;
39
typedef PK_WithPrecomputation PKWPS;
40
template  class
41
ECPublicKey : public PKWPFLE
42
{
43
public:
44
        unsigned int CipherTextLength() const { return 1; }
45
        EC ec;
46
};
47
template 
48
class ECPrivateKey : public ECPublicKey, public PKWPS
49
{
50
        void Sign() {}
51
        int d;
52
};
53
template 
54
class ECKEP : public ECPrivateKey
55
{
56
};
57
class GF2NT : public PK_CryptoSystem
58
{
59
        int t1;
60
};
61
class EC2N : public PK_CryptoSystem
62
{
63
        GF2NT field;
64
        int a;
65
};
66
template class ECKEP;
67
template class ECKEP;
68
 
69
int
70
main ()
71
{
72
  ECKEP foo;
73
 
74
  return 0;
75
}
76
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.