diff --git a/regression/cpp-from-CVS/Address_of_Method1/main.cpp b/regression/cbmc-cpp/Address_of_Method1/main.cpp similarity index 55% rename from regression/cpp-from-CVS/Address_of_Method1/main.cpp rename to regression/cbmc-cpp/Address_of_Method1/main.cpp index 8af3f1f740b..cc6bdbe3878 100644 --- a/regression/cpp-from-CVS/Address_of_Method1/main.cpp +++ b/regression/cbmc-cpp/Address_of_Method1/main.cpp @@ -1,3 +1,4 @@ +#include struct x { void f(); @@ -11,7 +12,7 @@ void x::f() int main() { - assert(&x::f!=0); + assert(&x::f != 0); - assert(&x::i!=0); + assert(&x::i != 0); } diff --git a/regression/cbmc-cpp/Address_of_Method1/test.desc b/regression/cbmc-cpp/Address_of_Method1/test.desc new file mode 100644 index 00000000000..7791be248c7 --- /dev/null +++ b/regression/cbmc-cpp/Address_of_Method1/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Anonymous_members1/main.cpp b/regression/cbmc-cpp/Anonymous_members1/main.cpp new file mode 100644 index 00000000000..e34d0a3d680 --- /dev/null +++ b/regression/cbmc-cpp/Anonymous_members1/main.cpp @@ -0,0 +1,29 @@ +#include +typedef unsigned DWORD; +typedef signed LONG; +typedef long long LONGLONG; + +typedef union _LARGE_INTEGER { + struct + { + DWORD LowPart; + LONG HighPart; + }; + struct + { + DWORD LowPart; + LONG HighPart; + } u; + + LONGLONG QuadPart; +} LARGE_INTEGER; + +int main() +{ + LARGE_INTEGER l; + + l.QuadPart = 1; + l.LowPart = 2; + l.u.LowPart = 3; + assert(l.LowPart == 3); +} diff --git a/regression/cbmc-cpp/Anonymous_members1/test.desc b/regression/cbmc-cpp/Anonymous_members1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Anonymous_members1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Array1/main.cpp b/regression/cbmc-cpp/Array1/main.cpp new file mode 100644 index 00000000000..3ed620706cb --- /dev/null +++ b/regression/cbmc-cpp/Array1/main.cpp @@ -0,0 +1,10 @@ +int y[5][4][3][2]; + +int main() +{ + for(int i = 0; i < 5; i++) + for(int j = 0; j < 4; j++) + for(int k = 0; k < 3; k++) + for(int l = 0; l < 2; l++) + y[i][j][k][l] = 2; +} diff --git a/regression/cpp-from-CVS/Array1/test.desc b/regression/cbmc-cpp/Array1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Array1/test.desc rename to regression/cbmc-cpp/Array1/test.desc diff --git a/regression/cbmc-cpp/Array2/main.cpp b/regression/cbmc-cpp/Array2/main.cpp new file mode 100644 index 00000000000..8bc25491f92 --- /dev/null +++ b/regression/cbmc-cpp/Array2/main.cpp @@ -0,0 +1,10 @@ +int y[2][3][4][5]; + +int main() +{ + for(int i = 0; i < 5; i++) + for(int j = 0; j < 4; j++) + for(int k = 0; k < 3; k++) + for(int l = 0; l < 2; l++) + y[i][j][k][l] = 2; // out-of-bounds +} diff --git a/regression/cpp-from-CVS/Array2/test.desc b/regression/cbmc-cpp/Array2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Array2/test.desc rename to regression/cbmc-cpp/Array2/test.desc diff --git a/regression/cbmc-cpp/Array3/main.cpp b/regression/cbmc-cpp/Array3/main.cpp new file mode 100644 index 00000000000..9cb355190a8 --- /dev/null +++ b/regression/cbmc-cpp/Array3/main.cpp @@ -0,0 +1,11 @@ +struct C +{ + static const char *array[1]; +}; + +const char *C::array[1] = {"HELLO"}; + +int main(int argc, const char *argv[]) +{ + assert(*C::array[0] == 'H'); +} diff --git a/regression/cpp-from-CVS/Constructor14/test.desc b/regression/cbmc-cpp/Array3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor14/test.desc rename to regression/cbmc-cpp/Array3/test.desc diff --git a/regression/cpp-from-CVS/Array4/elsewhere.cpp b/regression/cbmc-cpp/Array4/elsewhere.cpp similarity index 81% rename from regression/cpp-from-CVS/Array4/elsewhere.cpp rename to regression/cbmc-cpp/Array4/elsewhere.cpp index 883be4f34df..d3fe0fd689d 100644 --- a/regression/cpp-from-CVS/Array4/elsewhere.cpp +++ b/regression/cbmc-cpp/Array4/elsewhere.cpp @@ -4,5 +4,5 @@ void elsewhere() { char ch; // should fail, this is out of bounds - ch=my_string[10]; + ch = my_string[10]; } diff --git a/regression/cpp-from-CVS/Array4/main.cpp b/regression/cbmc-cpp/Array4/main.cpp similarity index 65% rename from regression/cpp-from-CVS/Array4/main.cpp rename to regression/cbmc-cpp/Array4/main.cpp index e5619c4e398..4da4be4641a 100644 --- a/regression/cpp-from-CVS/Array4/main.cpp +++ b/regression/cbmc-cpp/Array4/main.cpp @@ -1,4 +1,4 @@ -char my_string[]="abc"; +char my_string[] = "abc"; void elsewhere(); diff --git a/regression/cpp-from-CVS/Array4/test.desc b/regression/cbmc-cpp/Array4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Array4/test.desc rename to regression/cbmc-cpp/Array4/test.desc diff --git a/regression/cpp-from-CVS/Assignment1/main.cpp b/regression/cbmc-cpp/Assignment1/main.cpp similarity index 69% rename from regression/cpp-from-CVS/Assignment1/main.cpp rename to regression/cbmc-cpp/Assignment1/main.cpp index 96c88255e0c..3e9e3a57254 100644 --- a/regression/cpp-from-CVS/Assignment1/main.cpp +++ b/regression/cbmc-cpp/Assignment1/main.cpp @@ -1,9 +1,13 @@ -struct A { int i;}; +#include +struct A +{ + int i; +}; struct B { int i; - B& operator = (const B& b) + B &operator=(const B &b) { i = b.i; return *this; @@ -17,7 +21,6 @@ A funcA() return a; } - B funcB() { B b; @@ -33,5 +36,5 @@ int main() B b; b.i = 20; - assert((funcB() = b).i == 20); // legal + assert((funcB() = b).i == 20); // legal } diff --git a/regression/cbmc-cpp/Assignment1/test.desc b/regression/cbmc-cpp/Assignment1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Assignment1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Class_Members1/main.cpp b/regression/cbmc-cpp/Class_Members1/main.cpp similarity index 54% rename from regression/cpp-from-CVS/Class_Members1/main.cpp rename to regression/cbmc-cpp/Class_Members1/main.cpp index 5d6a2934abc..fc204b03937 100644 --- a/regression/cpp-from-CVS/Class_Members1/main.cpp +++ b/regression/cbmc-cpp/Class_Members1/main.cpp @@ -1,28 +1,29 @@ +#include class t { public: int i; void f(); - void g(double xxx=3.2); + void g(double xxx = 3.2); }; void t::f() { - i=1; + i = 1; } void t::g(double d) { - i=(int)d; + i = (int)d; } int main() { t instance; instance.f(); - assert(instance.i==1); + assert(instance.i == 1); instance.g(2.1); - assert(instance.i==2); + assert(instance.i == 2); } diff --git a/regression/cbmc-cpp/Class_Members1/test.desc b/regression/cbmc-cpp/Class_Members1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Class_Members1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Comma_Operator1/main.cpp b/regression/cbmc-cpp/Comma_Operator1/main.cpp new file mode 100644 index 00000000000..46276d6c94a --- /dev/null +++ b/regression/cbmc-cpp/Comma_Operator1/main.cpp @@ -0,0 +1,9 @@ +#include +int main() +{ + int s = 0; + int t = 0; + t = (s = 3, s + 2); + assert(s == 3); + assert(t == 5); +} diff --git a/regression/cbmc-cpp/Comma_Operator1/test.desc b/regression/cbmc-cpp/Comma_Operator1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Comma_Operator1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/ConditionalExpression1/main.cpp b/regression/cbmc-cpp/ConditionalExpression1/main.cpp new file mode 100644 index 00000000000..65a01bcb16a --- /dev/null +++ b/regression/cbmc-cpp/ConditionalExpression1/main.cpp @@ -0,0 +1,13 @@ +#include +int main() +{ + bool b; + int a = 0; + int c = 0; + + b ? a += 1 : c += 1; + + assert(a == 1 || a == 0); + assert(c == 1 || c == 0); + assert(a != c); +} diff --git a/regression/cbmc-cpp/ConditionalExpression1/test.desc b/regression/cbmc-cpp/ConditionalExpression1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/ConditionalExpression1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/ConditionalExpression2/main.cpp b/regression/cbmc-cpp/ConditionalExpression2/main.cpp similarity index 61% rename from regression/cpp-from-CVS/ConditionalExpression2/main.cpp rename to regression/cbmc-cpp/ConditionalExpression2/main.cpp index 46de51d6aff..41e340cd142 100644 --- a/regression/cpp-from-CVS/ConditionalExpression2/main.cpp +++ b/regression/cbmc-cpp/ConditionalExpression2/main.cpp @@ -1,9 +1,10 @@ +#include char a[1]; char b[2]; int main() { - char* c = true ? a : b; + char *c = true ? a : b; assert(*c == a[0]); return 0; } diff --git a/regression/cbmc-cpp/ConditionalExpression2/test.desc b/regression/cbmc-cpp/ConditionalExpression2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/ConditionalExpression2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Constant5/main.cpp b/regression/cbmc-cpp/Constant5/main.cpp similarity index 58% rename from regression/cpp-from-CVS/Constant5/main.cpp rename to regression/cbmc-cpp/Constant5/main.cpp index b481d0422a6..12a7f0a215e 100644 --- a/regression/cpp-from-CVS/Constant5/main.cpp +++ b/regression/cbmc-cpp/Constant5/main.cpp @@ -1,9 +1,9 @@ -const int ASD1=1; +const int ASD1 = 1; int array[ASD1]; int main() { // this sound fail! - (int &)ASD1=2; + (int &)ASD1 = 2; } diff --git a/regression/cpp-from-CVS/Constant5/test.desc b/regression/cbmc-cpp/Constant5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constant5/test.desc rename to regression/cbmc-cpp/Constant5/test.desc diff --git a/regression/cbmc-cpp/Constructor1/main.cpp b/regression/cbmc-cpp/Constructor1/main.cpp new file mode 100644 index 00000000000..bf4b39be428 --- /dev/null +++ b/regression/cbmc-cpp/Constructor1/main.cpp @@ -0,0 +1,49 @@ +#include +class t1 +{ +public: + int i; + + t1() + { + i = 1; + } +}; + +class t2 +{ +public: + int i; + + t2() : i(2) + { + } +}; + +class t3 +{ +public: + int i; + + t3(); +}; + +t3::t3() : i(3) +{ +} + +int main() +{ + t1 instance1; + assert(instance1.i == 1); + + t2 instance2; + assert(instance2.i == 2); + + t2 *p = new t2; + assert(p->i == 2); + delete p; + + t3 instance3; + assert(instance3.i == 3); +} diff --git a/regression/cbmc-cpp/Constructor1/test.desc b/regression/cbmc-cpp/Constructor1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Constructor10/main.cpp b/regression/cbmc-cpp/Constructor10/main.cpp similarity index 50% rename from regression/cpp-from-CVS/Constructor10/main.cpp rename to regression/cbmc-cpp/Constructor10/main.cpp index efd4869d97e..2a19ea69dcb 100644 --- a/regression/cpp-from-CVS/Constructor10/main.cpp +++ b/regression/cbmc-cpp/Constructor10/main.cpp @@ -1,14 +1,17 @@ class A { - public: +public: int a; - A(int a):a(a){} + A(int a) : a(a) + { + } }; - A f() { return A(0); } -int main() {} +int main() +{ +} diff --git a/regression/cpp-from-CVS/Address_of_Method1/test.desc b/regression/cbmc-cpp/Constructor10/test.desc similarity index 100% rename from regression/cpp-from-CVS/Address_of_Method1/test.desc rename to regression/cbmc-cpp/Constructor10/test.desc diff --git a/regression/cpp-from-CVS/Constructor11/main.cpp b/regression/cbmc-cpp/Constructor11/main.cpp similarity index 100% rename from regression/cpp-from-CVS/Constructor11/main.cpp rename to regression/cbmc-cpp/Constructor11/main.cpp diff --git a/regression/cpp-from-CVS/Constructor11/test.desc b/regression/cbmc-cpp/Constructor11/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor11/test.desc rename to regression/cbmc-cpp/Constructor11/test.desc diff --git a/regression/cbmc-cpp/Constructor12/main.cpp b/regression/cbmc-cpp/Constructor12/main.cpp new file mode 100644 index 00000000000..6ab09e8449f --- /dev/null +++ b/regression/cbmc-cpp/Constructor12/main.cpp @@ -0,0 +1,30 @@ +#include +struct A +{ + int i; + A() : i(10) + { + } + +private: + A(const A &a); // disabled +}; + +class B : A +{ +public: + B(){}; + int get_i() + { + return i; + } + +private: + B(B &b); // disabled +}; + +int main() +{ + B b; + assert(b.get_i() == 10); +} diff --git a/regression/cbmc-cpp/Constructor12/test.desc b/regression/cbmc-cpp/Constructor12/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor12/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Constructor13/main.cpp b/regression/cbmc-cpp/Constructor13/main.cpp new file mode 100644 index 00000000000..efd17d5371e --- /dev/null +++ b/regression/cbmc-cpp/Constructor13/main.cpp @@ -0,0 +1,52 @@ +#include +int g; +class A +{ +public: + A(int i) + { + g = i; + }; + +private: + A(); +}; + +class B : A +{ +public: + typedef A base_type; + typedef B this_type; + B() : base_type(10) + { + } + B(const this_type &b) : A(20) + { + g++; + } +}; + +class C : B +{ + typedef B base_type; + typedef C this_type; + +public: + C() : base_type() + { + } + C(const base_type &b) : base_type(b) + { + g++; + } +}; + +C c; + +int main() +{ + assert(g == 10); + B b; + C c2 = b; + assert(g == 22); +} diff --git a/regression/cbmc-cpp/Constructor13/test.desc b/regression/cbmc-cpp/Constructor13/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor13/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Constructor14/main.cpp b/regression/cbmc-cpp/Constructor14/main.cpp similarity index 80% rename from regression/cpp-from-CVS/Constructor14/main.cpp rename to regression/cbmc-cpp/Constructor14/main.cpp index 15c4afaef68..f56521f21c8 100644 --- a/regression/cpp-from-CVS/Constructor14/main.cpp +++ b/regression/cbmc-cpp/Constructor14/main.cpp @@ -1,18 +1,19 @@ struct A { - A(int i):i(i) {} + A(int i) : i(i) + { + } int i; }; A a(1); - A b = 1; int main() { A c(1); - A d=1; + A d = 1; assert(a.i == 1); assert(b.i == 1); assert(c.i == 1); diff --git a/regression/cpp-from-CVS/Constructor17/test.desc b/regression/cbmc-cpp/Constructor14/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor17/test.desc rename to regression/cbmc-cpp/Constructor14/test.desc diff --git a/regression/cbmc-cpp/Constructor15/main.cpp b/regression/cbmc-cpp/Constructor15/main.cpp new file mode 100644 index 00000000000..718b87ee287 --- /dev/null +++ b/regression/cbmc-cpp/Constructor15/main.cpp @@ -0,0 +1,18 @@ +class A +{ +public: + A(){}; + +private: + A(const A &); // disabled + A &operator=(const A &); // disabled +}; + +class B : public A +{ +}; + +int main() +{ + B b; // ok +} diff --git a/regression/cpp-from-CVS/Address_of_Method4/test.desc b/regression/cbmc-cpp/Constructor15/test.desc similarity index 100% rename from regression/cpp-from-CVS/Address_of_Method4/test.desc rename to regression/cbmc-cpp/Constructor15/test.desc diff --git a/regression/cbmc-cpp/Constructor16/main.cpp b/regression/cbmc-cpp/Constructor16/main.cpp new file mode 100644 index 00000000000..4cb8d495b92 --- /dev/null +++ b/regression/cbmc-cpp/Constructor16/main.cpp @@ -0,0 +1,19 @@ +class A +{ +public: + A(){}; + +private: + A(const A &); // disabled + A &operator=(const A &); // disabled +}; + +class B : public A +{ +}; + +int main() +{ + B b1, b2; + b1 = b2; // not ok +} diff --git a/regression/cpp-from-CVS/Constructor16/test.desc b/regression/cbmc-cpp/Constructor16/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor16/test.desc rename to regression/cbmc-cpp/Constructor16/test.desc diff --git a/regression/cbmc-cpp/Constructor17/main.cpp b/regression/cbmc-cpp/Constructor17/main.cpp new file mode 100644 index 00000000000..2261a107b01 --- /dev/null +++ b/regression/cbmc-cpp/Constructor17/main.cpp @@ -0,0 +1,26 @@ +class C +{ +public: + C(int &v) : v(v) + { + } + int v; +}; + +struct D +{ + int r; +}; + +int main(int argc, char *argv[]) +{ + int i = 10; + int &ref = i; + C *pc = new C((char &)ref); + assert(pc->v == 10); + D d; + d.r = 10; + D &ref_d = d; + D *pd = new D(ref_d); + assert(pd->r == 10); +} diff --git a/regression/cpp-from-CVS/Conversion1/test.desc b/regression/cbmc-cpp/Constructor17/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion1/test.desc rename to regression/cbmc-cpp/Constructor17/test.desc diff --git a/regression/cpp-from-CVS/Constructor2/main.cpp b/regression/cbmc-cpp/Constructor2/main.cpp similarity index 68% rename from regression/cpp-from-CVS/Constructor2/main.cpp rename to regression/cbmc-cpp/Constructor2/main.cpp index 0dd3b7cdaf7..f3509762af2 100644 --- a/regression/cpp-from-CVS/Constructor2/main.cpp +++ b/regression/cbmc-cpp/Constructor2/main.cpp @@ -1,3 +1,4 @@ +#include class t1 { public: @@ -7,13 +8,13 @@ class t1 t1(int z); }; -t1::t1():i(1) +t1::t1() : i(1) { } t1::t1(int z) { - i=z; + i = z; } class t2 @@ -25,7 +26,7 @@ class t2 t2(int z); }; -t2::t2():i(1) +t2::t2() : i(1) { } @@ -36,5 +37,5 @@ t2::t2(int z) int main() { t1 instance1(5); - assert(instance1.i==5); + assert(instance1.i == 5); } diff --git a/regression/cbmc-cpp/Constructor2/test.desc b/regression/cbmc-cpp/Constructor2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Constructor3/main.cpp b/regression/cbmc-cpp/Constructor3/main.cpp new file mode 100644 index 00000000000..3d8d583fb7e --- /dev/null +++ b/regression/cbmc-cpp/Constructor3/main.cpp @@ -0,0 +1,21 @@ +#include +class x +{ +public: + x(); + x(int z); + int i; +}; + +x::x() : i(1) +{ +} +x::x(int z) : i(z) +{ +} + +int main() +{ + x a(5); + assert(a.i == 5); +} diff --git a/regression/cbmc-cpp/Constructor3/test.desc b/regression/cbmc-cpp/Constructor3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Constructor4/main.cpp b/regression/cbmc-cpp/Constructor4/main.cpp similarity index 53% rename from regression/cpp-from-CVS/Constructor4/main.cpp rename to regression/cbmc-cpp/Constructor4/main.cpp index d099a90572d..5fbc797c632 100644 --- a/regression/cpp-from-CVS/Constructor4/main.cpp +++ b/regression/cbmc-cpp/Constructor4/main.cpp @@ -1,3 +1,4 @@ +#include struct x { int *q; @@ -5,12 +6,12 @@ struct x x(); }; -x::x():q(0) +x::x() : q(0) { } int main() { x a; - assert(a.q==0); + assert(a.q == 0); } diff --git a/regression/cbmc-cpp/Constructor4/test.desc b/regression/cbmc-cpp/Constructor4/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor4/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Constructor5/main.cpp b/regression/cbmc-cpp/Constructor5/main.cpp new file mode 100644 index 00000000000..d8f659e95fe --- /dev/null +++ b/regression/cbmc-cpp/Constructor5/main.cpp @@ -0,0 +1,24 @@ +#include +class x +{ +private: + int i; + +public: + x(); + + int get_i() + { + return i; + } +}; + +x::x() : i(1) +{ +} + +int main() +{ + x a; + assert(a.get_i() == 1); +} diff --git a/regression/cbmc-cpp/Constructor5/test.desc b/regression/cbmc-cpp/Constructor5/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor5/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Constructor6/main.cpp b/regression/cbmc-cpp/Constructor6/main.cpp new file mode 100644 index 00000000000..6061e542a37 --- /dev/null +++ b/regression/cbmc-cpp/Constructor6/main.cpp @@ -0,0 +1,24 @@ +#include +int counter = 1; + +struct T +{ + int z; + + T(); +}; + +T::T() +{ + z = counter; + counter++; +} + +T a, b; + +int main() +{ + assert(counter == 3); + assert(a.z == 1); + assert(b.z == 2); +} diff --git a/regression/cbmc-cpp/Constructor6/test.desc b/regression/cbmc-cpp/Constructor6/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor6/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Constructor9/main.cpp b/regression/cbmc-cpp/Constructor9/main.cpp new file mode 100644 index 00000000000..d0615869165 --- /dev/null +++ b/regression/cbmc-cpp/Constructor9/main.cpp @@ -0,0 +1,38 @@ +#include +// Default Initialization of arrays +class B +{ +public: + int i; + + B() : i(1) + { + } +}; + +class A +{ +public: + B b_array[2]; + A() + { + } +}; + +B static_b_array[2]; + +int main() +{ + assert(static_b_array[0].i == 1); + assert(static_b_array[1].i == 1); + + A a; + + assert(a.b_array[0].i == 1); + assert(a.b_array[1].i == 1); + + B b_array[2]; + + assert(b_array[0].i == 1); + assert(b_array[1].i == 1); +} diff --git a/regression/cbmc-cpp/Constructor9/test.desc b/regression/cbmc-cpp/Constructor9/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Constructor9/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion1/main.cpp b/regression/cbmc-cpp/Conversion1/main.cpp similarity index 51% rename from regression/cpp-from-CVS/Conversion1/main.cpp rename to regression/cbmc-cpp/Conversion1/main.cpp index 586182a19c6..f3f9f2b033d 100644 --- a/regression/cpp-from-CVS/Conversion1/main.cpp +++ b/regression/cbmc-cpp/Conversion1/main.cpp @@ -1,11 +1,11 @@ class T { public: - T():x(0) + T() : x(0) { } - T(int i, int j):x(i) + T(int i, int j) : x(i) { } @@ -15,10 +15,10 @@ class T int main() { // alternate forms of conversion - assert(unsigned(-1)==(unsigned)-1); + assert(unsigned(-1) == (unsigned)-1); assert(bool(10)); - T t=T(2, 3); - assert(t.x==2); + T t = T(2, 3); + assert(t.x == 2); } diff --git a/regression/cpp-from-CVS/Conversion4/test.desc b/regression/cbmc-cpp/Conversion1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion4/test.desc rename to regression/cbmc-cpp/Conversion1/test.desc diff --git a/regression/cbmc-cpp/Conversion10/main.cpp b/regression/cbmc-cpp/Conversion10/main.cpp new file mode 100644 index 00000000000..0d6561a7bbb --- /dev/null +++ b/regression/cbmc-cpp/Conversion10/main.cpp @@ -0,0 +1,20 @@ +struct A +{ +}; + +struct B +{ + explicit B(A &) + { + } +}; + +void test(const B &b) +{ +} + +int main() +{ + A a; + test(a); // conversion error +} diff --git a/regression/cpp-from-CVS/Conversion10/test.desc b/regression/cbmc-cpp/Conversion10/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion10/test.desc rename to regression/cbmc-cpp/Conversion10/test.desc diff --git a/regression/cbmc-cpp/Conversion11/main.cpp b/regression/cbmc-cpp/Conversion11/main.cpp new file mode 100644 index 00000000000..938a4bb2c84 --- /dev/null +++ b/regression/cbmc-cpp/Conversion11/main.cpp @@ -0,0 +1,4 @@ +char *func() +{ + return (void *)0; +} diff --git a/regression/cpp-from-CVS/Conversion11/test.desc b/regression/cbmc-cpp/Conversion11/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion11/test.desc rename to regression/cbmc-cpp/Conversion11/test.desc diff --git a/regression/cpp-from-CVS/Conversion3/main.cpp b/regression/cbmc-cpp/Conversion3/main.cpp similarity index 56% rename from regression/cpp-from-CVS/Conversion3/main.cpp rename to regression/cbmc-cpp/Conversion3/main.cpp index 48274d054b7..bab1f803c83 100644 --- a/regression/cpp-from-CVS/Conversion3/main.cpp +++ b/regression/cbmc-cpp/Conversion3/main.cpp @@ -1,6 +1,6 @@ int main() { char c = 'c'; - int& i = c; // ill-formed + int &i = c; // ill-formed i++; } diff --git a/regression/cpp-from-CVS/Conversion3/test.desc b/regression/cbmc-cpp/Conversion3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion3/test.desc rename to regression/cbmc-cpp/Conversion3/test.desc diff --git a/regression/cpp-from-CVS/Conversion4/main.cpp b/regression/cbmc-cpp/Conversion4/main.cpp similarity index 100% rename from regression/cpp-from-CVS/Conversion4/main.cpp rename to regression/cbmc-cpp/Conversion4/main.cpp diff --git a/regression/cpp-from-CVS/Conversion9/test.desc b/regression/cbmc-cpp/Conversion4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion9/test.desc rename to regression/cbmc-cpp/Conversion4/test.desc diff --git a/regression/cpp-from-CVS/Conversion5/main.cpp b/regression/cbmc-cpp/Conversion5/main.cpp similarity index 61% rename from regression/cpp-from-CVS/Conversion5/main.cpp rename to regression/cbmc-cpp/Conversion5/main.cpp index bac3701b6c7..70b14541a44 100644 --- a/regression/cpp-from-CVS/Conversion5/main.cpp +++ b/regression/cbmc-cpp/Conversion5/main.cpp @@ -1,7 +1,8 @@ +#include int main() { unsigned i = 1; unsigned j; j = i + 1; - assert(j==2); + assert(j == 2); } diff --git a/regression/cbmc-cpp/Conversion5/test.desc b/regression/cbmc-cpp/Conversion5/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Conversion5/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Conversion6/main.cpp b/regression/cbmc-cpp/Conversion6/main.cpp new file mode 100644 index 00000000000..51b52a1398d --- /dev/null +++ b/regression/cbmc-cpp/Conversion6/main.cpp @@ -0,0 +1,27 @@ +#include +struct A +{ + int i; +}; + +struct B : public A +{ + int j; +}; + +int func(A a) +{ + return a.i; +} + +int main() +{ + B b; + b.i = 1; + + assert((*((A *)&b)).i == 1); // This works fine. + + int bi = func(*((A *)&b)); // Satabs Ok. + // cbmc error + assert(bi == 1); +} diff --git a/regression/cbmc-cpp/Conversion6/test.desc b/regression/cbmc-cpp/Conversion6/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Conversion6/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion7/main.cpp b/regression/cbmc-cpp/Conversion7/main.cpp similarity index 51% rename from regression/cpp-from-CVS/Conversion7/main.cpp rename to regression/cbmc-cpp/Conversion7/main.cpp index f16cdcbab03..943443985d4 100644 --- a/regression/cpp-from-CVS/Conversion7/main.cpp +++ b/regression/cbmc-cpp/Conversion7/main.cpp @@ -1,15 +1,17 @@ -struct A{ +struct A +{ int i; }; -struct B: public A{ +struct B : public A +{ }; int main() { B b; - b.i=4; + b.i = 4; A(b).i++; // Not a lvalue? - assert(b.i==4); + assert(b.i == 4); } diff --git a/regression/cpp-from-CVS/Conversion7/test.desc b/regression/cbmc-cpp/Conversion7/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion7/test.desc rename to regression/cbmc-cpp/Conversion7/test.desc diff --git a/regression/cbmc-cpp/Conversion8/main.cpp b/regression/cbmc-cpp/Conversion8/main.cpp new file mode 100644 index 00000000000..7c49c3b1fe9 --- /dev/null +++ b/regression/cbmc-cpp/Conversion8/main.cpp @@ -0,0 +1,9 @@ +int main() +{ + const char c[1] = {'c'}; + char *pc; + const char **pcc = &pc; // 1: not allowed + *pcc = &c; + *pc = 'C'; // 2: modifies a const object + assert(c[0] == 'c'); +} diff --git a/regression/cpp-from-CVS/Conversion8/test.desc b/regression/cbmc-cpp/Conversion8/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion8/test.desc rename to regression/cbmc-cpp/Conversion8/test.desc diff --git a/regression/cpp-from-CVS/Conversion9/main.cpp b/regression/cbmc-cpp/Conversion9/main.cpp similarity index 70% rename from regression/cpp-from-CVS/Conversion9/main.cpp rename to regression/cbmc-cpp/Conversion9/main.cpp index f59a75fbe89..9455bdb8367 100644 --- a/regression/cpp-from-CVS/Conversion9/main.cpp +++ b/regression/cbmc-cpp/Conversion9/main.cpp @@ -2,7 +2,9 @@ struct A { }; -struct B: A {}; +struct B : A +{ +}; int main() { diff --git a/regression/cpp-from-CVS/Conversion_Operator1/test.desc b/regression/cbmc-cpp/Conversion9/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion_Operator1/test.desc rename to regression/cbmc-cpp/Conversion9/test.desc diff --git a/regression/cbmc-cpp/Conversion_Operator1/main.cpp b/regression/cbmc-cpp/Conversion_Operator1/main.cpp new file mode 100644 index 00000000000..a2fb0936289 --- /dev/null +++ b/regression/cbmc-cpp/Conversion_Operator1/main.cpp @@ -0,0 +1,40 @@ +struct Char +{ + char c; + Char(char c) : c(c) + { + } +}; + +struct Int +{ + int i; + operator int &(); + Int(int i) : i(i) + { + } +}; + +Int::operator int &() +{ + return i; +} + +int main() +{ + Int I1(1); + int i1 = int(I1); + assert(i1 == 1); + + Int I2(2); + int i2 = (int &)I2; + assert(i2 == 2); + + Int I3(3); + int i3 = 0; + i3 = I3; + assert(i3 == 3); + + Char C3(I3); + assert(C3.c == 3); +} diff --git a/regression/cpp-from-CVS/Conversion_Operator5/test.desc b/regression/cbmc-cpp/Conversion_Operator1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Conversion_Operator5/test.desc rename to regression/cbmc-cpp/Conversion_Operator1/test.desc diff --git a/regression/cbmc-cpp/Conversion_Operator2/main.cpp b/regression/cbmc-cpp/Conversion_Operator2/main.cpp new file mode 100644 index 00000000000..593c7caf135 --- /dev/null +++ b/regression/cbmc-cpp/Conversion_Operator2/main.cpp @@ -0,0 +1,29 @@ +#include +struct B +{ + int i; +}; + +struct A +{ + B b; + A(int i) + { + b.i = i; + } + operator B &() + { + return b; + } +}; + +int get_i(const B &b) +{ + return b.i; +} + +int main() +{ + A a(10); + assert(get_i(a) == 10); +} diff --git a/regression/cbmc-cpp/Conversion_Operator2/test.desc b/regression/cbmc-cpp/Conversion_Operator2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Conversion_Operator2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion_Operator3/main.cpp b/regression/cbmc-cpp/Conversion_Operator3/main.cpp similarity index 55% rename from regression/cpp-from-CVS/Conversion_Operator3/main.cpp rename to regression/cbmc-cpp/Conversion_Operator3/main.cpp index 08200a3b963..af276128233 100644 --- a/regression/cpp-from-CVS/Conversion_Operator3/main.cpp +++ b/regression/cbmc-cpp/Conversion_Operator3/main.cpp @@ -1,10 +1,13 @@ -struct A { +#include +struct A +{ int i; }; -struct B { +struct B +{ int i; - operator A () + operator A() { A tmp; tmp.i = i++; @@ -17,6 +20,6 @@ int main() B b; b.i = 1; A a = b; - assert(a.i==1); - assert(b.i==2); + assert(a.i == 1); + assert(b.i == 2); } diff --git a/regression/cbmc-cpp/Conversion_Operator3/test.desc b/regression/cbmc-cpp/Conversion_Operator3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Conversion_Operator3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Conversion_Operator4/main.cpp b/regression/cbmc-cpp/Conversion_Operator4/main.cpp new file mode 100644 index 00000000000..98a02302afd --- /dev/null +++ b/regression/cbmc-cpp/Conversion_Operator4/main.cpp @@ -0,0 +1,15 @@ +#include +struct A +{ + static const int *const i = 0; + operator const int *const() const + { + return i; + } +}; + +int main() +{ + A a; + assert((const int *const)a == A::i); +} diff --git a/regression/cbmc-cpp/Conversion_Operator4/test.desc b/regression/cbmc-cpp/Conversion_Operator4/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Conversion_Operator4/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion_Operator5/main.cpp b/regression/cbmc-cpp/Conversion_Operator5/main.cpp similarity index 59% rename from regression/cpp-from-CVS/Conversion_Operator5/main.cpp rename to regression/cbmc-cpp/Conversion_Operator5/main.cpp index ffec9ff65bd..c7d6a57d8c6 100644 --- a/regression/cpp-from-CVS/Conversion_Operator5/main.cpp +++ b/regression/cbmc-cpp/Conversion_Operator5/main.cpp @@ -1,12 +1,14 @@ -struct B { +struct B +{ int i; - bool operator == (int b) + bool operator==(int b) { return i == b; } }; -struct A { +struct A +{ int i; operator B() const { @@ -16,8 +18,9 @@ struct A { } }; -int main() { +int main() +{ A a; a.i = 10; - assert( a.operator B() == 10 ); + assert(a.operator B() == 10); } diff --git a/regression/cpp-from-CVS/Copy_Constructor1/test.desc b/regression/cbmc-cpp/Conversion_Operator5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Copy_Constructor1/test.desc rename to regression/cbmc-cpp/Conversion_Operator5/test.desc diff --git a/regression/cbmc-cpp/Copy_Constructor1/main.cpp b/regression/cbmc-cpp/Copy_Constructor1/main.cpp new file mode 100644 index 00000000000..01f8a015118 --- /dev/null +++ b/regression/cbmc-cpp/Copy_Constructor1/main.cpp @@ -0,0 +1,31 @@ +class A +{ +public: + A() : i(0) + { + } + virtual int inc() + { + return ++i; + } + int i; +}; + +class B : public A +{ +public: + int inc() + { + return i += 2; + } +}; + +int main() +{ + B b; + int c = b.inc(); + assert(c == 2); + A a = b; + c = a.inc(); + assert(c == 3); +} diff --git a/regression/cpp-from-CVS/Copy_Constructor2/test.desc b/regression/cbmc-cpp/Copy_Constructor1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Copy_Constructor2/test.desc rename to regression/cbmc-cpp/Copy_Constructor1/test.desc diff --git a/regression/cbmc-cpp/Copy_Constructor2/main.cpp b/regression/cbmc-cpp/Copy_Constructor2/main.cpp new file mode 100644 index 00000000000..f291ed6054b --- /dev/null +++ b/regression/cbmc-cpp/Copy_Constructor2/main.cpp @@ -0,0 +1,37 @@ +class A +{ +public: + A() : i(0) + { + } + virtual int inc() + { + return ++i; + } + int i; +}; + +class B : public A +{ +public: + int inc() + { + return i += 2; + } +}; + +int inc(A a) +{ + return a.inc(); +} + +int main() +{ + B b; + + int c = b.inc(); + assert(c == 2); + + c = inc((A)b); + assert(c == 3); +} diff --git a/regression/cpp-from-CVS/Copy_Constructor3/test.desc b/regression/cbmc-cpp/Copy_Constructor2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Copy_Constructor3/test.desc rename to regression/cbmc-cpp/Copy_Constructor2/test.desc diff --git a/regression/cpp-from-CVS/Copy_Constructor3/main.cpp b/regression/cbmc-cpp/Copy_Constructor3/main.cpp similarity index 75% rename from regression/cpp-from-CVS/Copy_Constructor3/main.cpp rename to regression/cbmc-cpp/Copy_Constructor3/main.cpp index 8c601e54935..00797b7c153 100644 --- a/regression/cpp-from-CVS/Copy_Constructor3/main.cpp +++ b/regression/cbmc-cpp/Copy_Constructor3/main.cpp @@ -1,13 +1,17 @@ class A { - public: +public: int ar[2]; - A(){ar[0]=0; ar[1]=1;} + A() + { + ar[0] = 0; + ar[1] = 1; + } }; class B { - public: +public: A as[2]; }; @@ -20,7 +24,7 @@ int main() b1.as[1].ar[1] += 2; B b2(b1); - assert(b2.as[0].ar[0]== 1); + assert(b2.as[0].ar[0] == 1); assert(b2.as[0].ar[1] == 2); assert(b2.as[1].ar[0] == 2); assert(b2.as[1].ar[1] == 3); diff --git a/regression/cpp-from-CVS/Copy_Constructor5/test.desc b/regression/cbmc-cpp/Copy_Constructor3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Copy_Constructor5/test.desc rename to regression/cbmc-cpp/Copy_Constructor3/test.desc diff --git a/regression/cpp-from-CVS/Copy_Constructor5/main.cpp b/regression/cbmc-cpp/Copy_Constructor5/main.cpp similarity index 64% rename from regression/cpp-from-CVS/Copy_Constructor5/main.cpp rename to regression/cbmc-cpp/Copy_Constructor5/main.cpp index f6e83898767..c6cf81409ab 100644 --- a/regression/cpp-from-CVS/Copy_Constructor5/main.cpp +++ b/regression/cbmc-cpp/Copy_Constructor5/main.cpp @@ -3,17 +3,19 @@ struct A int i; }; -struct B: public A +struct B : public A { int j; - B():j(0) { } + B() : j(0) + { + } }; int main() { B b1; - b1.i=10; - b1.j=20; + b1.i = 10; + b1.j = 20; B b2(b1); diff --git a/regression/cpp-from-CVS/Copy_Operator1/test.desc b/regression/cbmc-cpp/Copy_Constructor5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Copy_Operator1/test.desc rename to regression/cbmc-cpp/Copy_Constructor5/test.desc diff --git a/regression/cbmc-cpp/Copy_Operator1/main.cpp b/regression/cbmc-cpp/Copy_Operator1/main.cpp new file mode 100644 index 00000000000..53054364ce3 --- /dev/null +++ b/regression/cbmc-cpp/Copy_Operator1/main.cpp @@ -0,0 +1,26 @@ +class A +{ +public: + int ar[2]; + A &operator=(const A &ref) + { + ar[0] = ref.ar[1]; + ar[1] = ref.ar[0]; + return *this; + } +}; + +int main() +{ + A a1; + a1.ar[0] = 1; + a1.ar[1] = 2; + + A a2; + a2.ar[0] = 3; + a2.ar[1] = 4; + + a2 = a1; + assert(a2.ar[0] == a1.ar[1]); + assert(a2.ar[1] == a1.ar[0]); +} diff --git a/regression/cpp-from-CVS/Destructor1/test.desc b/regression/cbmc-cpp/Copy_Operator1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Destructor1/test.desc rename to regression/cbmc-cpp/Copy_Operator1/test.desc diff --git a/regression/cpp-from-CVS/Copy_Operator2/main.cpp b/regression/cbmc-cpp/Copy_Operator2/main.cpp similarity index 64% rename from regression/cpp-from-CVS/Copy_Operator2/main.cpp rename to regression/cbmc-cpp/Copy_Operator2/main.cpp index 7751933bd7b..95ab129a2f7 100644 --- a/regression/cpp-from-CVS/Copy_Operator2/main.cpp +++ b/regression/cbmc-cpp/Copy_Operator2/main.cpp @@ -1,11 +1,13 @@ class A { const int a; - A():a(0){} + A() : a(0) + { + } }; int main() { A a, b; - a=b; + a = b; } diff --git a/regression/cpp-from-CVS/Copy_Operator2/test.desc b/regression/cbmc-cpp/Copy_Operator2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Copy_Operator2/test.desc rename to regression/cbmc-cpp/Copy_Operator2/test.desc diff --git a/regression/cbmc-cpp/Default_Arguments1/main.cpp b/regression/cbmc-cpp/Default_Arguments1/main.cpp new file mode 100644 index 00000000000..5630267d56b --- /dev/null +++ b/regression/cbmc-cpp/Default_Arguments1/main.cpp @@ -0,0 +1,35 @@ +#include +// #include + +int f(int d = 1) +{ + return d; +} + +int g(int x, int d = 1, int q = 2) +{ + return d; +} + +int global; + +int h(int &r = global) +{ + return r; +} + +void doit() +{ + assert(f() == 1); + assert(f(2) == 2); + assert(g(0) == 1); + assert(g(1, 2) == 2); + + global = 10; + assert(h() == 10); +} + +int main() +{ + doit(); +} diff --git a/regression/cbmc-cpp/Default_Arguments1/test.desc b/regression/cbmc-cpp/Default_Arguments1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Default_Arguments1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Default_Arguments2/main.cpp b/regression/cbmc-cpp/Default_Arguments2/main.cpp similarity index 57% rename from regression/cpp-from-CVS/Default_Arguments2/main.cpp rename to regression/cbmc-cpp/Default_Arguments2/main.cpp index e64102d3251..5b75d91f726 100644 --- a/regression/cpp-from-CVS/Default_Arguments2/main.cpp +++ b/regression/cbmc-cpp/Default_Arguments2/main.cpp @@ -1,4 +1,8 @@ -int func(int i = 0) {return i;} +#include +int func(int i = 0) +{ + return i; +} int main() { diff --git a/regression/cbmc-cpp/Default_Arguments2/test.desc b/regression/cbmc-cpp/Default_Arguments2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Default_Arguments2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Destructor1/main.cpp b/regression/cbmc-cpp/Destructor1/main.cpp new file mode 100644 index 00000000000..addc104259f --- /dev/null +++ b/regression/cbmc-cpp/Destructor1/main.cpp @@ -0,0 +1,26 @@ +int g; + +class t1 +{ +public: + t1() + { + g = 1; + } + ~t1() + { + g = 2; + } +}; + +int main() +{ + assert(g == 0); + + { + t1 instance1; + assert(g == 1); + } + + assert(g == 2); +} diff --git a/regression/cpp-from-CVS/Destructor2/test.desc b/regression/cbmc-cpp/Destructor1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Destructor2/test.desc rename to regression/cbmc-cpp/Destructor1/test.desc diff --git a/regression/cpp-from-CVS/Destructor2/main.cpp b/regression/cbmc-cpp/Destructor2/main.cpp similarity index 54% rename from regression/cpp-from-CVS/Destructor2/main.cpp rename to regression/cbmc-cpp/Destructor2/main.cpp index 8a09834a255..4eae99fdc1e 100644 --- a/regression/cpp-from-CVS/Destructor2/main.cpp +++ b/regression/cbmc-cpp/Destructor2/main.cpp @@ -3,23 +3,28 @@ int g; class t1 { public: - t1() { g=1; } - ~t1() { g=2; } + t1() + { + g = 1; + } + ~t1() + { + g = 2; + } }; int main() { - assert(g==0); + assert(g == 0); while(true) { { t1 instance1; - assert(g==1); + assert(g == 1); break; // leave the loop } - } - assert(g==2); + assert(g == 2); } diff --git a/regression/cpp-from-CVS/Exception1/test.desc b/regression/cbmc-cpp/Destructor2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Exception1/test.desc rename to regression/cbmc-cpp/Destructor2/test.desc diff --git a/regression/cpp-from-CVS/Destructor3/main.cpp b/regression/cbmc-cpp/Destructor3/main.cpp similarity index 53% rename from regression/cpp-from-CVS/Destructor3/main.cpp rename to regression/cbmc-cpp/Destructor3/main.cpp index 0401dce629c..13b6ac7fcfc 100644 --- a/regression/cpp-from-CVS/Destructor3/main.cpp +++ b/regression/cbmc-cpp/Destructor3/main.cpp @@ -3,8 +3,13 @@ class A int i; public: - A():i(1) { } - ~A() { i=0; } + A() : i(1) + { + } + ~A() + { + i = 0; + } }; int main() diff --git a/regression/cpp-from-CVS/Anonymous_members1/test.desc b/regression/cbmc-cpp/Destructor3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Anonymous_members1/test.desc rename to regression/cbmc-cpp/Destructor3/test.desc diff --git a/regression/cpp-from-CVS/Destructor4/main.cpp b/regression/cbmc-cpp/Destructor4/main.cpp similarity index 72% rename from regression/cpp-from-CVS/Destructor4/main.cpp rename to regression/cbmc-cpp/Destructor4/main.cpp index b0f2876e47c..498ec0bf8e9 100644 --- a/regression/cpp-from-CVS/Destructor4/main.cpp +++ b/regression/cbmc-cpp/Destructor4/main.cpp @@ -1,8 +1,10 @@ class A { - public: +public: int i; - A():i(1) {} + A() : i(1) + { + } ~A(); }; diff --git a/regression/cpp-from-CVS/Array3/test.desc b/regression/cbmc-cpp/Destructor4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Array3/test.desc rename to regression/cbmc-cpp/Destructor4/test.desc diff --git a/regression/cpp-from-CVS/Destructor5/main.cpp b/regression/cbmc-cpp/Destructor5/main.cpp similarity index 86% rename from regression/cpp-from-CVS/Destructor5/main.cpp rename to regression/cbmc-cpp/Destructor5/main.cpp index 8a3d9bb4ff4..64cfb28893a 100644 --- a/regression/cpp-from-CVS/Destructor5/main.cpp +++ b/regression/cbmc-cpp/Destructor5/main.cpp @@ -8,7 +8,7 @@ class X int main() { - const X *p=new X; + const X *p = new X; // this is to work even though p is const, and the destructor // isn't. diff --git a/regression/cpp-from-CVS/Assignment1/test.desc b/regression/cbmc-cpp/Destructor5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Assignment1/test.desc rename to regression/cbmc-cpp/Destructor5/test.desc diff --git a/regression/cpp-from-CVS/Destructor_with_PtrMember/main.cpp b/regression/cbmc-cpp/Destructor_with_PtrMember/main.cpp similarity index 74% rename from regression/cpp-from-CVS/Destructor_with_PtrMember/main.cpp rename to regression/cbmc-cpp/Destructor_with_PtrMember/main.cpp index 87aeca536dc..7c9a84473b8 100644 --- a/regression/cpp-from-CVS/Destructor_with_PtrMember/main.cpp +++ b/regression/cbmc-cpp/Destructor_with_PtrMember/main.cpp @@ -1,18 +1,24 @@ +#include int global; -class test_class { +class test_class +{ public: - ~test_class() { global=1; } + ~test_class() + { + global = 1; + } }; -int main() { +int main() +{ test_class c, *p; - p=&c; + p = &c; - p -> ~test_class(); + p->~test_class(); - assert(global==1); + assert(global == 1); // The notation for explicit calls to destructors can be used regardless // of whether the type defines a destructor. This allows you to make such diff --git a/regression/cbmc-cpp/Destructor_with_PtrMember/test.desc b/regression/cbmc-cpp/Destructor_with_PtrMember/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Destructor_with_PtrMember/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Exception1/main.cpp b/regression/cbmc-cpp/Exception1/main.cpp similarity index 85% rename from regression/cpp-from-CVS/Exception1/main.cpp rename to regression/cbmc-cpp/Exception1/main.cpp index dfaf154ab20..e6735cffd6b 100644 --- a/regression/cpp-from-CVS/Exception1/main.cpp +++ b/regression/cbmc-cpp/Exception1/main.cpp @@ -3,7 +3,9 @@ class whatnot { public: - whatnot(int _i):i(_i) { } + whatnot(int _i) : i(_i) + { + } int i; }; @@ -13,7 +15,7 @@ int main() try { - throw (int)0; + throw(int) 0; assert(0); } @@ -34,7 +36,7 @@ int main() try { - throw (char)0; + throw(char) 0; assert(0); } @@ -68,6 +70,6 @@ int main() } catch(whatnot w) { - assert(w.i==1); + assert(w.i == 1); } } diff --git a/regression/cpp-from-CVS/Friend6/test.desc b/regression/cbmc-cpp/Exception1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Friend6/test.desc rename to regression/cbmc-cpp/Exception1/test.desc diff --git a/regression/cbmc-cpp/Float1/main.cpp b/regression/cbmc-cpp/Float1/main.cpp new file mode 100644 index 00000000000..f822e416948 --- /dev/null +++ b/regression/cbmc-cpp/Float1/main.cpp @@ -0,0 +1,11 @@ +#include +int main(int argc, char *argv[]) +{ + float x = 0.1; + float y = 1.01; + assert(x + y >= 1.1); + + double s = x; + double t = 1; + assert(x + y >= 1.1); +} diff --git a/regression/cbmc-cpp/Float1/test.desc b/regression/cbmc-cpp/Float1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Float1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Friend1/main.cpp b/regression/cbmc-cpp/Friend1/main.cpp similarity index 62% rename from regression/cpp-from-CVS/Friend1/main.cpp rename to regression/cbmc-cpp/Friend1/main.cpp index b32e8c26ab1..92002304cf7 100644 --- a/regression/cpp-from-CVS/Friend1/main.cpp +++ b/regression/cbmc-cpp/Friend1/main.cpp @@ -1,13 +1,15 @@ class C { public: - C(int _base):base(_base) { } + C(int _base) : base(_base) + { + } typedef int T; friend int f() { - T x=1; + T x = 1; return x; } @@ -18,5 +20,5 @@ int main() { C c(1); - assert(f()==1); + assert(f() == 1); } diff --git a/regression/cpp-from-CVS/Function_Arguments3/test.desc b/regression/cbmc-cpp/Friend1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Function_Arguments3/test.desc rename to regression/cbmc-cpp/Friend1/test.desc diff --git a/regression/cbmc-cpp/Friend3/main.cpp b/regression/cbmc-cpp/Friend3/main.cpp new file mode 100644 index 00000000000..5190cd2adf8 --- /dev/null +++ b/regression/cbmc-cpp/Friend3/main.cpp @@ -0,0 +1,23 @@ +class A +{ + friend void inc(A &); + friend int get(const A &a); + int i; +}; + +void inc(A &a) +{ + a.i++; +} +int get(const A &a) +{ + return a.i; +} + +A a; + +int main() +{ + inc(a); + assert(get(a) == 1); +} diff --git a/regression/cpp-from-CVS/Function_Arguments4/test.desc b/regression/cbmc-cpp/Friend3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Function_Arguments4/test.desc rename to regression/cbmc-cpp/Friend3/test.desc diff --git a/regression/cbmc-cpp/Friend4/main.cpp b/regression/cbmc-cpp/Friend4/main.cpp new file mode 100644 index 00000000000..36874706ef3 --- /dev/null +++ b/regression/cbmc-cpp/Friend4/main.cpp @@ -0,0 +1,21 @@ +class A +{ + int i; +}; + +void inc(A &a) +{ + a.i++; +} +int get(const A &a) +{ + return a.i; +} + +A a; + +int main() +{ + inc(a); + assert(get(a) == 1); +} diff --git a/regression/cpp-from-CVS/Friend4/test.desc b/regression/cbmc-cpp/Friend4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Friend4/test.desc rename to regression/cbmc-cpp/Friend4/test.desc diff --git a/regression/cpp-from-CVS/Friend5/main.cpp b/regression/cbmc-cpp/Friend5/main.cpp similarity index 51% rename from regression/cpp-from-CVS/Friend5/main.cpp rename to regression/cbmc-cpp/Friend5/main.cpp index 4ab363bccbe..01f859e1287 100644 --- a/regression/cpp-from-CVS/Friend5/main.cpp +++ b/regression/cbmc-cpp/Friend5/main.cpp @@ -1,17 +1,19 @@ -class A { +#include +class A +{ int i; friend class B; }; class B { - public: - static int get(const A& a) +public: + static int get(const A &a) { return a.i; } - static void set(A& a, int i) + static void set(A &a, int i) { a.i = i; } @@ -19,8 +21,7 @@ class B int main() { - A a; B::set(a, 10); - assert(B::get(a)==10); + assert(B::get(a) == 10); } diff --git a/regression/cbmc-cpp/Friend5/test.desc b/regression/cbmc-cpp/Friend5/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Friend5/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Friend6/main.cpp b/regression/cbmc-cpp/Friend6/main.cpp new file mode 100644 index 00000000000..813eb2dee11 --- /dev/null +++ b/regression/cbmc-cpp/Friend6/main.cpp @@ -0,0 +1,31 @@ +class B; + +template +struct A +{ + int get_i(B &b); +}; + +class B +{ + int i; + +public: + B() : i(10) + { + } + friend class A; +}; + +template +int A::get_i(B &b) +{ + return b.i; +} + +int main() +{ + B b; + A a; + assert(a.get_i(b) == 10); +} diff --git a/regression/cpp-from-CVS/Implicit_Conversion2/test.desc b/regression/cbmc-cpp/Friend6/test.desc similarity index 100% rename from regression/cpp-from-CVS/Implicit_Conversion2/test.desc rename to regression/cbmc-cpp/Friend6/test.desc diff --git a/regression/cbmc-cpp/Function_Arguments1/main.cpp b/regression/cbmc-cpp/Function_Arguments1/main.cpp new file mode 100644 index 00000000000..fe97e5f9163 --- /dev/null +++ b/regression/cbmc-cpp/Function_Arguments1/main.cpp @@ -0,0 +1,8 @@ +inline void *memchr(void *__p, int __c, int __n) +{ + __p++; +} + +int main() +{ +} diff --git a/regression/cpp-from-CVS/Class_Members1/test.desc b/regression/cbmc-cpp/Function_Arguments1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Class_Members1/test.desc rename to regression/cbmc-cpp/Function_Arguments1/test.desc diff --git a/regression/cbmc-cpp/Function_Arguments2/main.cpp b/regression/cbmc-cpp/Function_Arguments2/main.cpp new file mode 100644 index 00000000000..1b5d2381a5f --- /dev/null +++ b/regression/cbmc-cpp/Function_Arguments2/main.cpp @@ -0,0 +1,28 @@ +#include +// test default arguments + +int f(int a, int b = 2, int c = 3) +{ + return c; +} + +class X +{ +public: + int g(int a, int b, int c = 3); +}; + +int X::g(int a, int b, int c) +{ + return c; +} + +int main() +{ + assert(f(1, 10, 100) == 100); + assert(f(1, 10) == 3); + assert(f(1) == 3); + + X x; + assert(x.g(1, 2) == 3); +} diff --git a/regression/cbmc-cpp/Function_Arguments2/test.desc b/regression/cbmc-cpp/Function_Arguments2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Function_Arguments2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Function_Arguments3/main.cpp b/regression/cbmc-cpp/Function_Arguments3/main.cpp similarity index 68% rename from regression/cpp-from-CVS/Function_Arguments3/main.cpp rename to regression/cbmc-cpp/Function_Arguments3/main.cpp index 52860aae61a..a2078d78969 100644 --- a/regression/cpp-from-CVS/Function_Arguments3/main.cpp +++ b/regression/cbmc-cpp/Function_Arguments3/main.cpp @@ -5,7 +5,7 @@ int global; // these are in fact the same void f(const int i) { - global=10; + global = 10; } void f(int i); @@ -13,22 +13,22 @@ void f(int i); // the following two are *different*! void g(int *p) { - global=20; + global = 20; } void g(const int *p) { - global=30; + global = 30; } int main() { f(0); - assert(global==10); + assert(global == 10); g((int *)0); - assert(global==20); + assert(global == 20); g((const int *)0); - assert(global==30); + assert(global == 30); } diff --git a/regression/cpp-from-CVS/Implicit_Conversion3/test.desc b/regression/cbmc-cpp/Function_Arguments3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Implicit_Conversion3/test.desc rename to regression/cbmc-cpp/Function_Arguments3/test.desc diff --git a/regression/cpp-from-CVS/Function_Arguments4/main.cpp b/regression/cbmc-cpp/Function_Arguments4/main.cpp similarity index 51% rename from regression/cpp-from-CVS/Function_Arguments4/main.cpp rename to regression/cbmc-cpp/Function_Arguments4/main.cpp index 82555544910..8107531d25a 100644 --- a/regression/cpp-from-CVS/Function_Arguments4/main.cpp +++ b/regression/cbmc-cpp/Function_Arguments4/main.cpp @@ -4,21 +4,25 @@ int i; struct B { - B() { i++; } - B(const B& b) { i+=10; } + B() + { + i++; + } + B(const B &b) + { + i += 10; + } }; - B f(B b) { - assert(i==11); + assert(i == 11); return b; } - int main() { B b; b = f(b); - assert(i==21); + assert(i == 21); } diff --git a/regression/cpp-from-CVS/Implicit_Conversion8/test.desc b/regression/cbmc-cpp/Function_Arguments4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Implicit_Conversion8/test.desc rename to regression/cbmc-cpp/Function_Arguments4/test.desc diff --git a/regression/cbmc-cpp/Function_Arguments5/main.cpp b/regression/cbmc-cpp/Function_Arguments5/main.cpp new file mode 100644 index 00000000000..28f41323edc --- /dev/null +++ b/regression/cbmc-cpp/Function_Arguments5/main.cpp @@ -0,0 +1,17 @@ +#include +bool func(const int &i) +{ + return false; +} +bool func(const int *i) +{ + return true; +} + +int main() +{ + int k; + int &rk = k; + assert(!func(rk)); + assert(func(&k)); +} diff --git a/regression/cbmc-cpp/Function_Arguments5/test.desc b/regression/cbmc-cpp/Function_Arguments5/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Function_Arguments5/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Function_Pointer1/main.cpp b/regression/cbmc-cpp/Function_Pointer1/main.cpp similarity index 56% rename from regression/cpp-from-CVS/Function_Pointer1/main.cpp rename to regression/cbmc-cpp/Function_Pointer1/main.cpp index 723671c5780..c2635df9893 100644 --- a/regression/cpp-from-CVS/Function_Pointer1/main.cpp +++ b/regression/cbmc-cpp/Function_Pointer1/main.cpp @@ -1,13 +1,14 @@ +#include int f(int x) { - assert(x==1); + assert(x == 1); } int main() { int (*p)(int); - p=f; + p = f; p(1); } diff --git a/regression/cbmc-cpp/Function_Pointer1/test.desc b/regression/cbmc-cpp/Function_Pointer1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Function_Pointer1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion1/main.cpp b/regression/cbmc-cpp/Implicit_Conversion1/main.cpp similarity index 61% rename from regression/cpp-from-CVS/Implicit_Conversion1/main.cpp rename to regression/cbmc-cpp/Implicit_Conversion1/main.cpp index 98b0c1b2822..01654252b49 100644 --- a/regression/cpp-from-CVS/Implicit_Conversion1/main.cpp +++ b/regression/cbmc-cpp/Implicit_Conversion1/main.cpp @@ -1,9 +1,11 @@ +#include struct A { int i; }; -struct B: public A { +struct B : public A +{ int j; }; @@ -16,5 +18,5 @@ int main() { B b; b.i = 1; - assert(func(b)==1); + assert(func(b) == 1); } diff --git a/regression/cbmc-cpp/Implicit_Conversion1/test.desc b/regression/cbmc-cpp/Implicit_Conversion1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Implicit_Conversion2/main.cpp b/regression/cbmc-cpp/Implicit_Conversion2/main.cpp new file mode 100644 index 00000000000..9593ec44867 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion2/main.cpp @@ -0,0 +1,12 @@ +char func1(const char &c) +{ + return c; +} + +int main() +{ + assert(func1((char)10) == 10); + + int i(20); + assert(func1((char)i) == 20); +} diff --git a/regression/cpp-from-CVS/Inheritance2/test.desc b/regression/cbmc-cpp/Implicit_Conversion2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Inheritance2/test.desc rename to regression/cbmc-cpp/Implicit_Conversion2/test.desc diff --git a/regression/cbmc-cpp/Implicit_Conversion3/main.cpp b/regression/cbmc-cpp/Implicit_Conversion3/main.cpp new file mode 100644 index 00000000000..630502d7077 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion3/main.cpp @@ -0,0 +1,36 @@ +struct A +{ + int i; + A() : i(0) + { + } + A(int i) : i(i) + { + } +}; + +struct B +{ + int j; + B() : j(0) + { + } + B(int j) : j(j) + { + } + B(const A &a) : j(a.i) + { + } +}; + +B operator+(const B b1, B b2) +{ + return B(b1.j + b2.j); +} + +int main() +{ + A a(10); + B b = a + a; + assert(b.j == 20); +} diff --git a/regression/cpp-from-CVS/Lvalue1/test.desc b/regression/cbmc-cpp/Implicit_Conversion3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Lvalue1/test.desc rename to regression/cbmc-cpp/Implicit_Conversion3/test.desc diff --git a/regression/cbmc-cpp/Implicit_Conversion4/main.cpp b/regression/cbmc-cpp/Implicit_Conversion4/main.cpp new file mode 100644 index 00000000000..daae15d8457 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion4/main.cpp @@ -0,0 +1,89 @@ +#include +struct B +{ + int j; + B(int j) : j(j) + { + } +}; + +struct A +{ + int i; + A(int i) : i(i) + { + } + A(const B &b) : i(b.j) + { + } +}; + +struct C : public A +{ + C(int i) : A(i) + { + } +}; + +int func1(const A &a) +{ + return a.i; +} + +int func2(A &a) +{ + return a.i; +} + +int func3(A a) +{ + return a.i; +} + +int main() +{ + A a1(10); + assert(func1(a1) == 10); + assert(func2(a1) == 10); + assert(func3(a1) == 10); + + const A a2(20); + assert(func1(a2) == 20); + assert(func3(a2) == 20); + + A &r1 = a1; + assert(func1(r1) == 10); + assert(func2(r1) == 10); + assert(func3(r1) == 10); + + const A &r2 = a1; + assert(func1(r2) == 10); + assert(func3(r2) == 10); + + B b1(30); + assert(func3(b1) == 30); + + B &r3 = b1; + assert(func3(r3) == 30); + + const B &r4 = b1; + assert(func3(r4) == 30); + + C c1(40); + assert(func1(c1) == 40); + assert(func2(c1) == 40); + assert(func3(c1) == 40); + + const C c2(50); + assert(func1(c2) == 50); + assert(func3(c2) == 50); + + C &r5 = c1; + assert(func1(r5) == 40); + assert(func2(r5) == 40); + assert(func3(r5) == 40); + + const C &r6 = c2; + assert(func1(r6) == 50); + assert(func3(r6) == 50); +} diff --git a/regression/cbmc-cpp/Implicit_Conversion4/test.desc b/regression/cbmc-cpp/Implicit_Conversion4/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion4/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion5/main.cpp b/regression/cbmc-cpp/Implicit_Conversion5/main.cpp similarity index 83% rename from regression/cpp-from-CVS/Implicit_Conversion5/main.cpp rename to regression/cbmc-cpp/Implicit_Conversion5/main.cpp index 8c65195f099..52bcd7fc78b 100644 --- a/regression/cpp-from-CVS/Implicit_Conversion5/main.cpp +++ b/regression/cbmc-cpp/Implicit_Conversion5/main.cpp @@ -2,6 +2,6 @@ void f(int); int main() { - char* pc; + char *pc; f(pc); // invalid conversion } diff --git a/regression/cpp-from-CVS/Implicit_Conversion5/test.desc b/regression/cbmc-cpp/Implicit_Conversion5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Implicit_Conversion5/test.desc rename to regression/cbmc-cpp/Implicit_Conversion5/test.desc diff --git a/regression/cbmc-cpp/Implicit_Conversion6/main.cpp b/regression/cbmc-cpp/Implicit_Conversion6/main.cpp new file mode 100644 index 00000000000..af366dc801a --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion6/main.cpp @@ -0,0 +1,14 @@ +#include +bool f(const char *) +{ + return true; +} +bool f(int) +{ + return false; +} + +int main() +{ + assert(f("hello")); +} diff --git a/regression/cbmc-cpp/Implicit_Conversion6/test.desc b/regression/cbmc-cpp/Implicit_Conversion6/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion6/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion7/main.cpp b/regression/cbmc-cpp/Implicit_Conversion7/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Implicit_Conversion7/main.cpp rename to regression/cbmc-cpp/Implicit_Conversion7/main.cpp index 64091308c0e..f251d0eb52a 100644 --- a/regression/cpp-from-CVS/Implicit_Conversion7/main.cpp +++ b/regression/cbmc-cpp/Implicit_Conversion7/main.cpp @@ -1,3 +1,4 @@ +#include int main() { int a; diff --git a/regression/cbmc-cpp/Implicit_Conversion7/test.desc b/regression/cbmc-cpp/Implicit_Conversion7/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion7/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Implicit_Conversion8/main.cpp b/regression/cbmc-cpp/Implicit_Conversion8/main.cpp new file mode 100644 index 00000000000..ab21294d59f --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion8/main.cpp @@ -0,0 +1,43 @@ +struct Bit +{ + bool b; + Bit(bool b = false) : b(b) + { + } + Bit(const Bit &bit) : b(bit.b) + { + } + + // operator bool() const {return b;} + + Bit &operator=(bool b) + { + this->b = b; + return *this; + } + + Bit &operator=(const Bit &bit) + { + this->b = bit.b; + return *this; + } + + friend const Bit operator~(const Bit &bit) + { + Bit r; + r.b = ~bit.b; + return r; + } + + friend void b_not(Bit &r, const Bit &a) + { + r = (~a); + } +}; + +int main() +{ + Bit b1, b2; + b_not(b1, b2); + assert(b1.b != b2.b); +} diff --git a/regression/cpp-from-CVS/Multiple_Inheritance1/test.desc b/regression/cbmc-cpp/Implicit_Conversion8/test.desc similarity index 100% rename from regression/cpp-from-CVS/Multiple_Inheritance1/test.desc rename to regression/cbmc-cpp/Implicit_Conversion8/test.desc diff --git a/regression/cbmc-cpp/Implicit_Conversion9/main.cpp b/regression/cbmc-cpp/Implicit_Conversion9/main.cpp new file mode 100644 index 00000000000..bfb62ca4f1f --- /dev/null +++ b/regression/cbmc-cpp/Implicit_Conversion9/main.cpp @@ -0,0 +1,18 @@ +enum foo +{ + NOT_AFFECTED, + FATAL_AFFECT, + WARNING +}; + +typedef struct +{ + foo SeverityType; +} BitDatabaseRecordStruct; + +const BitDatabaseRecordStruct BitDataBase[1] = {{NOT_AFFECTED}}; + +int main() +{ + return 0; +} diff --git a/regression/cpp-from-CVS/Comma_Operator1/test.desc b/regression/cbmc-cpp/Implicit_Conversion9/test.desc similarity index 100% rename from regression/cpp-from-CVS/Comma_Operator1/test.desc rename to regression/cbmc-cpp/Implicit_Conversion9/test.desc diff --git a/regression/cpp-from-CVS/Inheritance1/main.cpp b/regression/cbmc-cpp/Inheritance1/main.cpp similarity index 61% rename from regression/cpp-from-CVS/Inheritance1/main.cpp rename to regression/cbmc-cpp/Inheritance1/main.cpp index f7c4cccd9c5..57a62e40f4c 100644 --- a/regression/cpp-from-CVS/Inheritance1/main.cpp +++ b/regression/cbmc-cpp/Inheritance1/main.cpp @@ -1,3 +1,4 @@ +#include class b { public: @@ -8,10 +9,10 @@ class b void b::f() { - x=1; + x = 1; } -class t:public b +class t : public b { public: }; @@ -20,5 +21,5 @@ int main() { t instance; instance.f(); - assert(instance.x==1); + assert(instance.x == 1); } diff --git a/regression/cbmc-cpp/Inheritance1/test.desc b/regression/cbmc-cpp/Inheritance1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Inheritance1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Inheritance2/main.cpp b/regression/cbmc-cpp/Inheritance2/main.cpp similarity index 84% rename from regression/cpp-from-CVS/Inheritance2/main.cpp rename to regression/cbmc-cpp/Inheritance2/main.cpp index 692b7a27f20..a33ff085e2e 100644 --- a/regression/cpp-from-CVS/Inheritance2/main.cpp +++ b/regression/cbmc-cpp/Inheritance2/main.cpp @@ -7,10 +7,10 @@ class A void A::f() { - i=1; + i = 1; } -class B:public A +class B : public A { public: int i; @@ -30,7 +30,7 @@ int main() b.A::i = 10; b.f(); - assert(b.i == 2); + assert(b.i == 2); assert(b.A::i == 11); b.A::f(); diff --git a/regression/cpp-from-CVS/Multiple_Inheritance2/test.desc b/regression/cbmc-cpp/Inheritance2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Multiple_Inheritance2/test.desc rename to regression/cbmc-cpp/Inheritance2/test.desc diff --git a/regression/cpp-from-CVS/Inheritance3/main.cpp b/regression/cbmc-cpp/Inheritance3/main.cpp similarity index 63% rename from regression/cpp-from-CVS/Inheritance3/main.cpp rename to regression/cbmc-cpp/Inheritance3/main.cpp index ef2b173312a..18157ff6dbd 100644 --- a/regression/cpp-from-CVS/Inheritance3/main.cpp +++ b/regression/cbmc-cpp/Inheritance3/main.cpp @@ -1,8 +1,10 @@ -struct A { +#include +struct A +{ typedef int INT; }; -struct B: public A +struct B : public A { INT i; void set(INT i) @@ -16,5 +18,5 @@ int main() B b; b.i = 0; b.i++; - assert(b.i==1); + assert(b.i == 1); } diff --git a/regression/cbmc-cpp/Inheritance3/test.desc b/regression/cbmc-cpp/Inheritance3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Inheritance3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Inheritance4/main.cpp b/regression/cbmc-cpp/Inheritance4/main.cpp new file mode 100644 index 00000000000..5e35aec632f --- /dev/null +++ b/regression/cbmc-cpp/Inheritance4/main.cpp @@ -0,0 +1,22 @@ +#include +struct A +{ + int x; + A() + { + } +}; + +struct B : public A +{ + B() + { + } +}; + +int main() +{ + B b1, b2; + b1 = b2; + assert(b1.x == b2.x); +} diff --git a/regression/cbmc-cpp/Inheritance4/test.desc b/regression/cbmc-cpp/Inheritance4/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Inheritance4/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Initializer1/main.cpp b/regression/cbmc-cpp/Initializer1/main.cpp new file mode 100644 index 00000000000..80e3fcb8569 --- /dev/null +++ b/regression/cbmc-cpp/Initializer1/main.cpp @@ -0,0 +1,10 @@ +#include + +const char my_string[] = "abc123"; + +int main() +{ + assert(my_string[0] == 'a'); + assert(my_string[6] == 0); + assert(sizeof(my_string) == 7); +} diff --git a/regression/cbmc-cpp/Initializer1/test.desc b/regression/cbmc-cpp/Initializer1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Initializer1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Label0/main.cpp b/regression/cbmc-cpp/Label0/main.cpp similarity index 53% rename from regression/cpp-from-CVS/Label0/main.cpp rename to regression/cbmc-cpp/Label0/main.cpp index 00025a6820b..6b4369436e1 100644 --- a/regression/cpp-from-CVS/Label0/main.cpp +++ b/regression/cbmc-cpp/Label0/main.cpp @@ -1,7 +1,8 @@ +#include int main() { dummy_label: int i = 0; - assert(i==0); + assert(i == 0); } diff --git a/regression/cbmc-cpp/Label0/test.desc b/regression/cbmc-cpp/Label0/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Label0/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Linking1/main.cpp b/regression/cbmc-cpp/Linking1/main.cpp similarity index 55% rename from regression/cpp-from-CVS/Linking1/main.cpp rename to regression/cbmc-cpp/Linking1/main.cpp index 6cd912dc4ab..b01db464321 100644 --- a/regression/cpp-from-CVS/Linking1/main.cpp +++ b/regression/cbmc-cpp/Linking1/main.cpp @@ -1,13 +1,14 @@ #include "module.h" +#include extern int i; int main() { - assert(i==1); + assert(i == 1); T t; t.f(); - assert(i==2); + assert(i == 2); } diff --git a/regression/cpp-from-CVS/Linking1/module.cpp b/regression/cbmc-cpp/Linking1/module.cpp similarity index 65% rename from regression/cpp-from-CVS/Linking1/module.cpp rename to regression/cbmc-cpp/Linking1/module.cpp index 125858be30d..9c14ec6f871 100644 --- a/regression/cpp-from-CVS/Linking1/module.cpp +++ b/regression/cbmc-cpp/Linking1/module.cpp @@ -1,8 +1,8 @@ #include "module.h" -int i=1; +int i = 1; void T::f() { - i=2; + i = 2; } diff --git a/regression/cpp-from-CVS/Linking1/module.h b/regression/cbmc-cpp/Linking1/module.h similarity index 100% rename from regression/cpp-from-CVS/Linking1/module.h rename to regression/cbmc-cpp/Linking1/module.h diff --git a/regression/cpp-from-CVS/Linking1/test.desc b/regression/cbmc-cpp/Linking1/test.desc similarity index 73% rename from regression/cpp-from-CVS/Linking1/test.desc rename to regression/cbmc-cpp/Linking1/test.desc index 2449051ba1d..49ced91341b 100644 --- a/regression/cpp-from-CVS/Linking1/test.desc +++ b/regression/cbmc-cpp/Linking1/test.desc @@ -1,4 +1,4 @@ -CORE +CORE winbug macos-assert-broken main.cpp module.cpp ^EXIT=0$ diff --git a/regression/cpp-from-CVS/Linking2/test.desc b/regression/cbmc-cpp/Linking2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Linking2/test.desc rename to regression/cbmc-cpp/Linking2/test.desc diff --git a/regression/cpp-from-CVS/Linking2/test_link1.cpp b/regression/cbmc-cpp/Linking2/test_link1.cpp similarity index 73% rename from regression/cpp-from-CVS/Linking2/test_link1.cpp rename to regression/cbmc-cpp/Linking2/test_link1.cpp index 0d45e4fa116..2b6a716db19 100644 --- a/regression/cpp-from-CVS/Linking2/test_link1.cpp +++ b/regression/cbmc-cpp/Linking2/test_link1.cpp @@ -7,6 +7,6 @@ int main() { int z; - x=z; - assert(f()==z); + x = z; + assert(f() == z); } diff --git a/regression/cpp-from-CVS/Linking2/test_link2.c b/regression/cbmc-cpp/Linking2/test_link2.c similarity index 100% rename from regression/cpp-from-CVS/Linking2/test_link2.c rename to regression/cbmc-cpp/Linking2/test_link2.c diff --git a/regression/cpp-from-CVS/Lvalue1/main.cpp b/regression/cbmc-cpp/Lvalue1/main.cpp similarity index 86% rename from regression/cpp-from-CVS/Lvalue1/main.cpp rename to regression/cbmc-cpp/Lvalue1/main.cpp index 15b0f40f58d..7a42954effd 100644 --- a/regression/cpp-from-CVS/Lvalue1/main.cpp +++ b/regression/cbmc-cpp/Lvalue1/main.cpp @@ -1,10 +1,17 @@ -struct A { +struct A +{ int i; - A():i(0) {} - int get_i(){return i;} + A() : i(0) + { + } + int get_i() + { + return i; + } }; -A factory() { +A factory() +{ return A(); } @@ -22,5 +29,4 @@ int main() // Is the compatibility with gcc more important? assert(factory().get_i() == 0); - } diff --git a/regression/cpp-from-CVS/Multiple_Inheritance4/test.desc b/regression/cbmc-cpp/Lvalue1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Multiple_Inheritance4/test.desc rename to regression/cbmc-cpp/Lvalue1/test.desc diff --git a/regression/cbmc-cpp/Member_Access_in_Class/main.cpp b/regression/cbmc-cpp/Member_Access_in_Class/main.cpp new file mode 100644 index 00000000000..45daa99eaed --- /dev/null +++ b/regression/cbmc-cpp/Member_Access_in_Class/main.cpp @@ -0,0 +1,23 @@ +#include +class t +{ +public: + void f() + { + i = 1; + } + + void g() + { + f(); + } + + int i; +}; + +int main() +{ + t instance; + instance.g(); + assert(instance.i == 1); +} diff --git a/regression/cbmc-cpp/Member_Access_in_Class/test.desc b/regression/cbmc-cpp/Member_Access_in_Class/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Member_Access_in_Class/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Multiple_Inheritance1/main.cpp b/regression/cbmc-cpp/Multiple_Inheritance1/main.cpp new file mode 100644 index 00000000000..932eb983200 --- /dev/null +++ b/regression/cbmc-cpp/Multiple_Inheritance1/main.cpp @@ -0,0 +1,25 @@ +struct A +{ + int i; +}; + +struct B +{ + int j; + void setJ(int j) + { + this->j = j; + } +}; + +struct C : A, B +{ + int k; +}; + +int main() +{ + C c; + c.setJ(10); + assert(c.j == 10); +} diff --git a/regression/cpp-from-CVS/Overloading_Functions2/test.desc b/regression/cbmc-cpp/Multiple_Inheritance1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Functions2/test.desc rename to regression/cbmc-cpp/Multiple_Inheritance1/test.desc diff --git a/regression/cbmc-cpp/Multiple_Inheritance2/main.cpp b/regression/cbmc-cpp/Multiple_Inheritance2/main.cpp new file mode 100644 index 00000000000..f5e853f2308 --- /dev/null +++ b/regression/cbmc-cpp/Multiple_Inheritance2/main.cpp @@ -0,0 +1,21 @@ +struct A +{ + int i; + A(){}; +}; +struct B : virtual A +{ +}; +struct C : virtual A +{ +}; +struct D : B, C +{ +}; + +int main() +{ + D d; + d.i = 10; + assert(d.i == 10); +} diff --git a/regression/cpp-from-CVS/Overloading_Operators1/test.desc b/regression/cbmc-cpp/Multiple_Inheritance2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators1/test.desc rename to regression/cbmc-cpp/Multiple_Inheritance2/test.desc diff --git a/regression/cbmc-cpp/Multiple_Inheritance3/main.cpp b/regression/cbmc-cpp/Multiple_Inheritance3/main.cpp new file mode 100644 index 00000000000..ccded0ca162 --- /dev/null +++ b/regression/cbmc-cpp/Multiple_Inheritance3/main.cpp @@ -0,0 +1,13 @@ +struct A +{ + int i; +}; +struct B : A +{ +}; +struct C : A +{ +}; +struct D : virtual B, virtual C +{ +}; // we do not allow this diff --git a/regression/cpp-from-CVS/Multiple_Inheritance3/test.desc b/regression/cbmc-cpp/Multiple_Inheritance3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Multiple_Inheritance3/test.desc rename to regression/cbmc-cpp/Multiple_Inheritance3/test.desc diff --git a/regression/cbmc-cpp/Multiple_Inheritance4/main.cpp b/regression/cbmc-cpp/Multiple_Inheritance4/main.cpp new file mode 100644 index 00000000000..90bd87f25d3 --- /dev/null +++ b/regression/cbmc-cpp/Multiple_Inheritance4/main.cpp @@ -0,0 +1,35 @@ +struct ostream +{ + ostream(int id) : id(id) + { + } + ostream(const ostream &); // disabled + ostream &operator=(const ostream &); // disabled + int id; +}; + +struct istream +{ + istream(int id) : id(id) + { + } + istream(const istream &); // disabled + istream &operator=(const istream &); // disabled + int id; +}; + +struct iostream : ostream, istream +{ + iostream(int id) : ostream(id), istream(id) + { + } + iostream(const iostream &); // disabled + iostream &operator=(const iostream &); // disabled +}; + +int main() +{ + iostream io(1); + assert(io.ostream::id == 1); + assert(io.istream::id == 1); +} diff --git a/regression/cpp-from-CVS/Overloading_Operators10/test.desc b/regression/cbmc-cpp/Multiple_Inheritance4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators10/test.desc rename to regression/cbmc-cpp/Multiple_Inheritance4/test.desc diff --git a/regression/cpp-from-CVS/Mutable1/main.cpp b/regression/cbmc-cpp/Mutable1/main.cpp similarity index 74% rename from regression/cpp-from-CVS/Mutable1/main.cpp rename to regression/cbmc-cpp/Mutable1/main.cpp index 62120d09a7d..7808189b92e 100644 --- a/regression/cpp-from-CVS/Mutable1/main.cpp +++ b/regression/cbmc-cpp/Mutable1/main.cpp @@ -1,3 +1,4 @@ +#include struct A { mutable int i; @@ -11,5 +12,5 @@ int main() { const A a; a.set(99); - assert(a.i==99); + assert(a.i == 99); } diff --git a/regression/cbmc-cpp/Mutable1/test.desc b/regression/cbmc-cpp/Mutable1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Mutable1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Overloading_Functions1/main.cpp b/regression/cbmc-cpp/Overloading_Functions1/main.cpp new file mode 100644 index 00000000000..5fcf66463e8 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Functions1/main.cpp @@ -0,0 +1,47 @@ +#include +// get closest match + +struct T +{ +public: + T() : x(0) + { + } + + int x; +}; + +int f(int i) +{ + return 1; +} +int f(const int *p) +{ + return 2; +} +int f(char i) +{ + return 3; +} +int f(struct T &t) +{ + return 4; +} +int f(const struct T &t) +{ + return 5; +} + +int main() +{ + int i; + char ch; + T t; + const T const_t; + + assert(f(i) == 1); + assert(f(&i) == 2); + assert(f(ch) == 3); + assert(f(t) == 4); + assert(f(const_t) == 5); +} diff --git a/regression/cbmc-cpp/Overloading_Functions1/test.desc b/regression/cbmc-cpp/Overloading_Functions1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Functions1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Overloading_Functions2/main.cpp b/regression/cbmc-cpp/Overloading_Functions2/main.cpp new file mode 100644 index 00000000000..ef690afe7ce --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Functions2/main.cpp @@ -0,0 +1,26 @@ +struct A +{ +}; + +struct B : A +{ +}; + +struct C : B +{ +}; + +bool f1(A &) +{ + return true; +} +bool f1(B &) +{ + return false; +} + +int main() +{ + C c; + assert(f1(c) == false); +} diff --git a/regression/cpp-from-CVS/Overloading_Operators11/test.desc b/regression/cbmc-cpp/Overloading_Functions2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators11/test.desc rename to regression/cbmc-cpp/Overloading_Functions2/test.desc diff --git a/regression/cpp-from-CVS/Overloading_Functions3/main.cpp b/regression/cbmc-cpp/Overloading_Functions3/main.cpp similarity index 59% rename from regression/cpp-from-CVS/Overloading_Functions3/main.cpp rename to regression/cbmc-cpp/Overloading_Functions3/main.cpp index 5e53142da6f..3ba0878f671 100644 --- a/regression/cpp-from-CVS/Overloading_Functions3/main.cpp +++ b/regression/cbmc-cpp/Overloading_Functions3/main.cpp @@ -56,14 +56,14 @@ int f(long double) int main() { - assert(f((char)0)==1); - assert(f((unsigned char)0)==2); - assert(f((short int)0)==3); - assert(f((int)0)==4); - assert(f((unsigned int)0)==5); - assert(f((long int)0)==6); - assert(f((long long)0)==7); - assert(f((float)0)==8); - assert(f((double)0)==9); - assert(f((long double)0)==10); + assert(f((char)0) == 1); + assert(f((unsigned char)0) == 2); + assert(f((short int)0) == 3); + assert(f((int)0) == 4); + assert(f((unsigned int)0) == 5); + assert(f((long int)0) == 6); + assert(f((long long)0) == 7); + assert(f((float)0) == 8); + assert(f((double)0) == 9); + assert(f((long double)0) == 10); } diff --git a/regression/cbmc-cpp/Overloading_Functions3/test.desc b/regression/cbmc-cpp/Overloading_Functions3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Functions3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Functions4/main.cpp b/regression/cbmc-cpp/Overloading_Functions4/main.cpp similarity index 93% rename from regression/cpp-from-CVS/Overloading_Functions4/main.cpp rename to regression/cbmc-cpp/Overloading_Functions4/main.cpp index 45450811ee7..c63d368170b 100644 --- a/regression/cpp-from-CVS/Overloading_Functions4/main.cpp +++ b/regression/cbmc-cpp/Overloading_Functions4/main.cpp @@ -9,5 +9,5 @@ int main() { double x; // the literal types select the function - x=pow(2.0f, 3); + x = pow(2.0f, 3); } diff --git a/regression/cpp-from-CVS/ConditionalExpression1/test.desc b/regression/cbmc-cpp/Overloading_Functions4/test.desc similarity index 100% rename from regression/cpp-from-CVS/ConditionalExpression1/test.desc rename to regression/cbmc-cpp/Overloading_Functions4/test.desc diff --git a/regression/cpp-from-CVS/Overloading_Increment1/main.cpp b/regression/cbmc-cpp/Overloading_Increment1/main.cpp similarity index 63% rename from regression/cpp-from-CVS/Overloading_Increment1/main.cpp rename to regression/cbmc-cpp/Overloading_Increment1/main.cpp index 6fbb8c5269b..e38a2599120 100644 --- a/regression/cpp-from-CVS/Overloading_Increment1/main.cpp +++ b/regression/cbmc-cpp/Overloading_Increment1/main.cpp @@ -1,3 +1,4 @@ +#include struct A { int a; @@ -8,7 +9,7 @@ struct A return obj; } - A& operator++() + A &operator++() { a++; return *this; @@ -21,7 +22,7 @@ struct A return obj; } - A& operator--() + A &operator--() { a--; return *this; @@ -33,11 +34,11 @@ int main() A obj; obj.a = 0; A obj2 = obj++; - assert(obj2.a == 0 && obj.a==1); + assert(obj2.a == 0 && obj.a == 1); obj2 = ++obj; - assert(obj2.a == 2 && obj.a==2); + assert(obj2.a == 2 && obj.a == 2); obj2 = obj--; - assert(obj2.a == 2 && obj.a==1); + assert(obj2.a == 2 && obj.a == 1); obj2 = --obj; - assert(obj2.a == 0 && obj.a==0); + assert(obj2.a == 0 && obj.a == 0); } diff --git a/regression/cbmc-cpp/Overloading_Increment1/test.desc b/regression/cbmc-cpp/Overloading_Increment1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Increment1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Members1/main.cpp b/regression/cbmc-cpp/Overloading_Members1/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Overloading_Members1/main.cpp rename to regression/cbmc-cpp/Overloading_Members1/main.cpp index cd1af5f2668..fd9645dca77 100644 --- a/regression/cpp-from-CVS/Overloading_Members1/main.cpp +++ b/regression/cbmc-cpp/Overloading_Members1/main.cpp @@ -1,3 +1,4 @@ +#include class T { public: @@ -17,6 +18,6 @@ int main() T x; const T x_const; - assert(x_const.f()==1); - assert(x.f()==2); + assert(x_const.f() == 1); + assert(x.f() == 2); } diff --git a/regression/cbmc-cpp/Overloading_Members1/test.desc b/regression/cbmc-cpp/Overloading_Members1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Members1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators1/main.cpp b/regression/cbmc-cpp/Overloading_Operators1/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Overloading_Operators1/main.cpp rename to regression/cbmc-cpp/Overloading_Operators1/main.cpp index 1dfeeebe1f6..ad6a7b193d0 100644 --- a/regression/cpp-from-CVS/Overloading_Operators1/main.cpp +++ b/regression/cbmc-cpp/Overloading_Operators1/main.cpp @@ -19,9 +19,9 @@ int main() int temp; - temp=x+2; - assert(temp==2); + temp = x + 2; + assert(temp == 2); - temp=x-3; - assert(temp==-3); + temp = x - 3; + assert(temp == -3); } diff --git a/regression/cpp-from-CVS/Overloading_Operators14/test.desc b/regression/cbmc-cpp/Overloading_Operators1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators14/test.desc rename to regression/cbmc-cpp/Overloading_Operators1/test.desc diff --git a/regression/cbmc-cpp/Overloading_Operators10/main.cpp b/regression/cbmc-cpp/Overloading_Operators10/main.cpp new file mode 100644 index 00000000000..8d51cb64d64 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators10/main.cpp @@ -0,0 +1,31 @@ +struct A +{ + bool True() + { + return true; + } +}; + +struct B +{ + A a; + A *operator->() + { + return &a; + } +}; + +struct C +{ + B b; + B &operator->() + { + return b; + } +}; + +int main() +{ + C c; + assert(c->True()); +} diff --git a/regression/cpp-from-CVS/Overloading_Operators4/test.desc b/regression/cbmc-cpp/Overloading_Operators10/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators4/test.desc rename to regression/cbmc-cpp/Overloading_Operators10/test.desc diff --git a/regression/cbmc-cpp/Overloading_Operators11/main.cpp b/regression/cbmc-cpp/Overloading_Operators11/main.cpp new file mode 100644 index 00000000000..58c8e6c4e4c --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators11/main.cpp @@ -0,0 +1,34 @@ +struct C +{ + bool b; + C(bool b) : b(b) + { + } +}; + +struct A +{ + C c1; + + A() : c1(false) + { + } + const C *operator->() const + { + return &c1; + } +}; + +struct B : A +{ + bool func() const + { + return (*this)->b; + } +}; + +int main() +{ + const B b1; + assert(b1.func() == false); +} diff --git a/regression/cpp-from-CVS/Overloading_Operators5/test.desc b/regression/cbmc-cpp/Overloading_Operators11/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators5/test.desc rename to regression/cbmc-cpp/Overloading_Operators11/test.desc diff --git a/regression/cbmc-cpp/Overloading_Operators12/main.cpp b/regression/cbmc-cpp/Overloading_Operators12/main.cpp new file mode 100644 index 00000000000..e0371704731 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators12/main.cpp @@ -0,0 +1,18 @@ +#include +struct A +{ + bool operator<<(const A &) const + { + return true; + } + bool func(const A &a) const + { + return operator<<(a); + } +}; + +int main() +{ + A a; + assert(a.func(a) == true); +} diff --git a/regression/cbmc-cpp/Overloading_Operators12/test.desc b/regression/cbmc-cpp/Overloading_Operators12/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators12/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Overloading_Operators13/main.cpp b/regression/cbmc-cpp/Overloading_Operators13/main.cpp new file mode 100644 index 00000000000..1301b47e189 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators13/main.cpp @@ -0,0 +1,27 @@ +#include +struct A +{ + bool operator[](int index) + { + return true; + } +}; + +struct B +{ + A a; + bool operator[](int index) + { + return false; + } + bool func() + { + return a[0]; + } +}; + +int main() +{ + B b; + assert(b.func() == true); +} diff --git a/regression/cbmc-cpp/Overloading_Operators13/test.desc b/regression/cbmc-cpp/Overloading_Operators13/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators13/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Overloading_Operators14/main.cpp b/regression/cbmc-cpp/Overloading_Operators14/main.cpp new file mode 100644 index 00000000000..8305244bd2a --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators14/main.cpp @@ -0,0 +1,20 @@ +struct A +{ + typedef int INT; + int i; + operator INT() + { + return i; + } + INT value() + { + return operator INT(); + } +}; + +int main() +{ + A a; + a.i = 20; + assert(a.value() == 20); +} diff --git a/regression/cpp-from-CVS/Overloading_Operators6/test.desc b/regression/cbmc-cpp/Overloading_Operators14/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators6/test.desc rename to regression/cbmc-cpp/Overloading_Operators14/test.desc diff --git a/regression/cbmc-cpp/Overloading_Operators16/main.cpp b/regression/cbmc-cpp/Overloading_Operators16/main.cpp new file mode 100644 index 00000000000..0b02e3fbafe --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators16/main.cpp @@ -0,0 +1,25 @@ +class module_name +{ +public: + operator const char *(); + operator int(); + operator char(); + operator long long(); + operator unsigned int(); + operator bool(); +}; + +void f(module_name name) +{ + (const char *)name; + name.operator const char *(); + name.operator int(); + name.operator char(); + name.operator bool(); + name.operator unsigned int(); + name.operator long long(); +} + +int main(int argc, char *argv[]) +{ +} diff --git a/regression/cpp-from-CVS/Overloading_Operators16/test.desc b/regression/cbmc-cpp/Overloading_Operators16/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators16/test.desc rename to regression/cbmc-cpp/Overloading_Operators16/test.desc diff --git a/regression/cbmc-cpp/Overloading_Operators2/main.cpp b/regression/cbmc-cpp/Overloading_Operators2/main.cpp new file mode 100644 index 00000000000..62bc7107ab2 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators2/main.cpp @@ -0,0 +1,28 @@ +#include +class C +{ +public: + C(int _base) : base(_base) + { + } + + int operator[](int x) + { + return base + x; + } + + int operator[](class Z &z) + { + return 0; + } + + int base; +}; + +int main() +{ + C c(1); + + assert(c[0] == 1); + assert(c[2] == 3); +} diff --git a/regression/cbmc-cpp/Overloading_Operators2/test.desc b/regression/cbmc-cpp/Overloading_Operators2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators3/main.cpp b/regression/cbmc-cpp/Overloading_Operators3/main.cpp similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators3/main.cpp rename to regression/cbmc-cpp/Overloading_Operators3/main.cpp diff --git a/regression/cpp-from-CVS/Overloading_Operators3/test.desc b/regression/cbmc-cpp/Overloading_Operators3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators3/test.desc rename to regression/cbmc-cpp/Overloading_Operators3/test.desc diff --git a/regression/cpp-from-CVS/Overloading_Operators4/main.cpp b/regression/cbmc-cpp/Overloading_Operators4/main.cpp similarity index 63% rename from regression/cpp-from-CVS/Overloading_Operators4/main.cpp rename to regression/cbmc-cpp/Overloading_Operators4/main.cpp index f557ef63832..d0c29257667 100644 --- a/regression/cpp-from-CVS/Overloading_Operators4/main.cpp +++ b/regression/cbmc-cpp/Overloading_Operators4/main.cpp @@ -1,16 +1,15 @@ struct X { - X():i(1), j(2) + X() : i(1), j(2) { } int i; int j; - bool operator == (const struct X &o) + bool operator==(const struct X &o) { - return i==o.i && - j==o.j; + return i == o.i && j == o.j; } bool func() @@ -25,7 +24,7 @@ void doit() { X a, b; - assert(a==b); + assert(a == b); } int main() diff --git a/regression/cpp-from-CVS/Overloading_Operators9/test.desc b/regression/cbmc-cpp/Overloading_Operators4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Overloading_Operators9/test.desc rename to regression/cbmc-cpp/Overloading_Operators4/test.desc diff --git a/regression/cpp-from-CVS/Overloading_Operators5/main.cpp b/regression/cbmc-cpp/Overloading_Operators5/main.cpp similarity index 53% rename from regression/cpp-from-CVS/Overloading_Operators5/main.cpp rename to regression/cbmc-cpp/Overloading_Operators5/main.cpp index 5110a7aef0b..77a06670a32 100644 --- a/regression/cpp-from-CVS/Overloading_Operators5/main.cpp +++ b/regression/cbmc-cpp/Overloading_Operators5/main.cpp @@ -9,12 +9,12 @@ struct X int i; int j; - X &operator= (const struct X &r); + X &operator=(const struct X &r); }; -X &X::operator= (const struct X &r) +X &X::operator=(const struct X &r) { - g=2; + g = 2; return *this; } @@ -22,11 +22,11 @@ void doit() { X a, b; - g=1; + g = 1; - a=b; + a = b; - assert(g==2); + assert(g == 2); } int main() diff --git a/regression/cpp-from-CVS/Pointer_To_Member6/test.desc b/regression/cbmc-cpp/Overloading_Operators5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Pointer_To_Member6/test.desc rename to regression/cbmc-cpp/Overloading_Operators5/test.desc diff --git a/regression/cpp-from-CVS/Overloading_Operators6/main.cpp b/regression/cbmc-cpp/Overloading_Operators6/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Overloading_Operators6/main.cpp rename to regression/cbmc-cpp/Overloading_Operators6/main.cpp index bb957c3f9ef..33dda14f1bd 100644 --- a/regression/cpp-from-CVS/Overloading_Operators6/main.cpp +++ b/regression/cbmc-cpp/Overloading_Operators6/main.cpp @@ -1,13 +1,30 @@ struct A { int i; - A():i(1) {} + A() : i(1) + { + } - int& operator* () {return i;} - int operator+ (int j) {return i+j;} - int operator~ () {return ~i;} - int operator[] (int k) {return i;} - int operator== (int k) {return i=i;} + int &operator*() + { + return i; + } + int operator+(int j) + { + return i + j; + } + int operator~() + { + return ~i; + } + int operator[](int k) + { + return i; + } + int operator==(int k) + { + return i = i; + } void func1() { @@ -28,10 +45,8 @@ struct A assert((*this)[2] == *(*this)); assert((*this) == 1); } - }; - int main() { A o; diff --git a/regression/cpp-from-CVS/Reference1/test.desc b/regression/cbmc-cpp/Overloading_Operators6/test.desc similarity index 100% rename from regression/cpp-from-CVS/Reference1/test.desc rename to regression/cbmc-cpp/Overloading_Operators6/test.desc diff --git a/regression/cbmc-cpp/Overloading_Operators7/main.cpp b/regression/cbmc-cpp/Overloading_Operators7/main.cpp new file mode 100644 index 00000000000..5a401c532a6 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators7/main.cpp @@ -0,0 +1,24 @@ +#include +int g; + +struct A +{ + int i; + A(int i) : i(i) + { + } + + friend bool operator==(const A &a1, const A &a2) + { + g = 10; + return a1.i == a2.i; + } +}; + +int main() +{ + A a1(1); + A a2(2); + assert(!(a1 == a2)); + assert(g == 10); +} diff --git a/regression/cbmc-cpp/Overloading_Operators7/test.desc b/regression/cbmc-cpp/Overloading_Operators7/test.desc new file mode 100644 index 00000000000..7791be248c7 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators7/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Overloading_Operators8/main.cpp b/regression/cbmc-cpp/Overloading_Operators8/main.cpp new file mode 100644 index 00000000000..ca01bdd12f4 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators8/main.cpp @@ -0,0 +1,22 @@ +#include +struct A +{ + int i; +}; + +A &operator<<(A &a1, A &a2) +{ + a1.i = a2.i; + a2.i = 0; + return a1; +} + +int main() +{ + A a1, a2; + a2.i = 400; + A a3(a1 << a2); + assert(a2.i == 0); + assert(a3.i == a1.i); + assert(a1.i == 400); +} diff --git a/regression/cbmc-cpp/Overloading_Operators8/test.desc b/regression/cbmc-cpp/Overloading_Operators8/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Overloading_Operators8/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators9/main.cpp b/regression/cbmc-cpp/Overloading_Operators9/main.cpp similarity index 71% rename from regression/cpp-from-CVS/Overloading_Operators9/main.cpp rename to regression/cbmc-cpp/Overloading_Operators9/main.cpp index f7007039bd8..56a279f65cd 100644 --- a/regression/cpp-from-CVS/Overloading_Operators9/main.cpp +++ b/regression/cbmc-cpp/Overloading_Operators9/main.cpp @@ -7,7 +7,7 @@ struct C struct B { C c; - C* operator->() + C *operator->() { return &c; } @@ -16,7 +16,7 @@ struct B struct A { B b; - B& operator->() + B &operator->() { return b; } @@ -26,5 +26,5 @@ int main() { A a; a->d = 2; - assert(a.b.c.d==2); + assert(a.b.c.d == 2); } diff --git a/regression/cpp-from-CVS/Resolver13/test.desc b/regression/cbmc-cpp/Overloading_Operators9/test.desc similarity index 100% rename from regression/cpp-from-CVS/Resolver13/test.desc rename to regression/cbmc-cpp/Overloading_Operators9/test.desc diff --git a/regression/cpp-from-CVS/Pointer_Conversion2/main.cpp b/regression/cbmc-cpp/Pointer_Conversion2/main.cpp similarity index 64% rename from regression/cpp-from-CVS/Pointer_Conversion2/main.cpp rename to regression/cbmc-cpp/Pointer_Conversion2/main.cpp index 467411f605a..ed2e29f5117 100644 --- a/regression/cpp-from-CVS/Pointer_Conversion2/main.cpp +++ b/regression/cbmc-cpp/Pointer_Conversion2/main.cpp @@ -1,8 +1,9 @@ +#include char a[100]; void f(const signed char x[]) { - assert(x[0]==0); + assert(x[0] == 0); } int main() diff --git a/regression/cbmc-cpp/Pointer_Conversion2/test.desc b/regression/cbmc-cpp/Pointer_Conversion2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Pointer_Conversion2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Pointer_Conversion3/main.cpp b/regression/cbmc-cpp/Pointer_Conversion3/main.cpp new file mode 100644 index 00000000000..c7e1c3fb021 --- /dev/null +++ b/regression/cbmc-cpp/Pointer_Conversion3/main.cpp @@ -0,0 +1,17 @@ +struct A +{ + int i; +}; + +struct B +{ + int j; + int k; +}; + +int main() +{ + A *pa; + B *pb; + pb = static_cast(pa); // ill-formed +} diff --git a/regression/cpp-from-CVS/Pointer_Conversion3/test.desc b/regression/cbmc-cpp/Pointer_Conversion3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Pointer_Conversion3/test.desc rename to regression/cbmc-cpp/Pointer_Conversion3/test.desc diff --git a/regression/cpp-from-CVS/Pointer_To_Member1/main.cpp b/regression/cbmc-cpp/Pointer_To_Member1/main.cpp similarity index 61% rename from regression/cpp-from-CVS/Pointer_To_Member1/main.cpp rename to regression/cbmc-cpp/Pointer_To_Member1/main.cpp index 62e9d88feb8..d0fca4cf93d 100644 --- a/regression/cpp-from-CVS/Pointer_To_Member1/main.cpp +++ b/regression/cbmc-cpp/Pointer_To_Member1/main.cpp @@ -1,11 +1,14 @@ class A { - public: - int f(char i){return i+1;} +public: + int f(char i) + { + return i + 1; + } }; A a; -int (A::* paf)(char) = &A::f; +int (A::*paf)(char) = &A::f; int main() { int v1 = (a.*paf)(0); diff --git a/regression/cpp-from-CVS/Resolver5/test.desc b/regression/cbmc-cpp/Pointer_To_Member1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Resolver5/test.desc rename to regression/cbmc-cpp/Pointer_To_Member1/test.desc diff --git a/regression/cbmc-cpp/Pointer_To_Member2/main.cpp b/regression/cbmc-cpp/Pointer_To_Member2/main.cpp new file mode 100644 index 00000000000..47e4afd00e3 --- /dev/null +++ b/regression/cbmc-cpp/Pointer_To_Member2/main.cpp @@ -0,0 +1,14 @@ +class A +{ + int a; +}; + +int f(A *pa, char i) +{ + return i + 1; +} + +int main() +{ + int (A::*paf)(char) = &f; // ill-formed +} diff --git a/regression/cpp-from-CVS/Pointer_To_Member2/test.desc b/regression/cbmc-cpp/Pointer_To_Member2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Pointer_To_Member2/test.desc rename to regression/cbmc-cpp/Pointer_To_Member2/test.desc diff --git a/regression/cbmc-cpp/Pointer_To_Member3/main.cpp b/regression/cbmc-cpp/Pointer_To_Member3/main.cpp new file mode 100644 index 00000000000..35a94622fea --- /dev/null +++ b/regression/cbmc-cpp/Pointer_To_Member3/main.cpp @@ -0,0 +1,14 @@ +class A +{ +public: + int a; + int f(char i) + { + return i + 1; + } +}; + +int main() +{ + int (*pf)(A *, char) = &A::f; // ill-formed +} diff --git a/regression/cpp-from-CVS/Pointer_To_Member3/test.desc b/regression/cbmc-cpp/Pointer_To_Member3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Pointer_To_Member3/test.desc rename to regression/cbmc-cpp/Pointer_To_Member3/test.desc diff --git a/regression/cbmc-cpp/Pointer_To_Member4/main.cpp b/regression/cbmc-cpp/Pointer_To_Member4/main.cpp new file mode 100644 index 00000000000..7c8e02ad818 --- /dev/null +++ b/regression/cbmc-cpp/Pointer_To_Member4/main.cpp @@ -0,0 +1,15 @@ +class A +{ +public: + int f() + { + return 1; + } +}; + +int main() +{ + int (A::*paf)() = &A::f; + A a; + (*paf)(&a); // ill-formed +} diff --git a/regression/cpp-from-CVS/Pointer_To_Member4/test.desc b/regression/cbmc-cpp/Pointer_To_Member4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Pointer_To_Member4/test.desc rename to regression/cbmc-cpp/Pointer_To_Member4/test.desc diff --git a/regression/cbmc-cpp/Pointer_To_Member5/main.cpp b/regression/cbmc-cpp/Pointer_To_Member5/main.cpp new file mode 100644 index 00000000000..268446fccc6 --- /dev/null +++ b/regression/cbmc-cpp/Pointer_To_Member5/main.cpp @@ -0,0 +1,29 @@ + +struct A +{ + int i; + int func() + { + return i; + } +}; + +struct B +{ + A *pa; + int (A::*pmethod)(); + B(A *pa, int (A::*pmethod)()) : pa(pa), pmethod(pmethod) + { + } + int eval() + { + return (pa->*pmethod)(); + } +}; + +int main() +{ + A a; + B b(&a, &A::func); + assert(b.eval() == a.i); +} diff --git a/regression/cpp-from-CVS/STL1/test.desc b/regression/cbmc-cpp/Pointer_To_Member5/test.desc similarity index 100% rename from regression/cpp-from-CVS/STL1/test.desc rename to regression/cbmc-cpp/Pointer_To_Member5/test.desc diff --git a/regression/cpp-from-CVS/Pointer_To_Member6/main.cpp b/regression/cbmc-cpp/Pointer_To_Member6/main.cpp similarity index 50% rename from regression/cpp-from-CVS/Pointer_To_Member6/main.cpp rename to regression/cbmc-cpp/Pointer_To_Member6/main.cpp index 3ab65447e5d..11f79dd5287 100644 --- a/regression/cpp-from-CVS/Pointer_To_Member6/main.cpp +++ b/regression/cbmc-cpp/Pointer_To_Member6/main.cpp @@ -1,14 +1,16 @@ struct A { int i; - void func(){i = 10;} + void func() + { + i = 10; + } }; -struct B: public A +struct B : public A { - void (A::* pmeth)(); - B(): - pmeth(&A::func) + void (A::*pmeth)(); + B() : pmeth(&A::func) { (this->*pmeth)(); } diff --git a/regression/cpp-from-CVS/Templates16/test.desc b/regression/cbmc-cpp/Pointer_To_Member6/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates16/test.desc rename to regression/cbmc-cpp/Pointer_To_Member6/test.desc diff --git a/regression/cbmc-cpp/Protection2/main.cpp b/regression/cbmc-cpp/Protection2/main.cpp new file mode 100644 index 00000000000..3a3ac251171 --- /dev/null +++ b/regression/cbmc-cpp/Protection2/main.cpp @@ -0,0 +1,26 @@ +#include +struct A +{ +protected: + int i; +}; + +class B : A +{ +public: + void set(int i) + { + this->i = i; + } + int get() const + { + return i; + } +}; + +int main() +{ + B b; + b.set(0); + assert(b.get() == 0); +} diff --git a/regression/cbmc-cpp/Protection2/test.desc b/regression/cbmc-cpp/Protection2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Protection2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Protection3/main.cpp b/regression/cbmc-cpp/Protection3/main.cpp new file mode 100644 index 00000000000..7bd24e0b4e5 --- /dev/null +++ b/regression/cbmc-cpp/Protection3/main.cpp @@ -0,0 +1,13 @@ +class A +{ + int i; + +public: + class B + { + int get(const A &a) + { + return a.i; + } + }; +}; diff --git a/regression/cpp-from-CVS/Protection1/test.desc b/regression/cbmc-cpp/Protection3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Protection1/test.desc rename to regression/cbmc-cpp/Protection3/test.desc diff --git a/regression/cbmc-cpp/Protection4/main.cpp b/regression/cbmc-cpp/Protection4/main.cpp new file mode 100644 index 00000000000..7b09f14fe14 --- /dev/null +++ b/regression/cbmc-cpp/Protection4/main.cpp @@ -0,0 +1,18 @@ +struct A +{ +private: + int i; +}; + +class B : public A +{ +public: + void set(int i) + { + this->i = i; + } + int get() const + { + return i; + } +}; diff --git a/regression/cpp-from-CVS/Protection3/test.desc b/regression/cbmc-cpp/Protection4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Protection3/test.desc rename to regression/cbmc-cpp/Protection4/test.desc diff --git a/regression/cpp-from-CVS/Protection5/main.cpp b/regression/cbmc-cpp/Protection5/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Protection5/main.cpp rename to regression/cbmc-cpp/Protection5/main.cpp index e654089c391..b1ac8ab2537 100644 --- a/regression/cpp-from-CVS/Protection5/main.cpp +++ b/regression/cbmc-cpp/Protection5/main.cpp @@ -1,15 +1,14 @@ class A { - public: +public: int i; }; -class B: A +class B : A { - }; -void set_one(A& a) +void set_one(A &a) { a.i = 1; } diff --git a/regression/cpp-from-CVS/Protection5/test.desc b/regression/cbmc-cpp/Protection5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Protection5/test.desc rename to regression/cbmc-cpp/Protection5/test.desc diff --git a/regression/cbmc-cpp/Protection6/main.cpp b/regression/cbmc-cpp/Protection6/main.cpp new file mode 100644 index 00000000000..4d6770c841e --- /dev/null +++ b/regression/cbmc-cpp/Protection6/main.cpp @@ -0,0 +1,11 @@ +class A +{ + static void func() + { + } +}; + +int main() +{ + A::func(); +} diff --git a/regression/cpp-from-CVS/Protection6/test.desc b/regression/cbmc-cpp/Protection6/test.desc similarity index 100% rename from regression/cpp-from-CVS/Protection6/test.desc rename to regression/cbmc-cpp/Protection6/test.desc diff --git a/regression/cbmc-cpp/Protection7/main.cpp b/regression/cbmc-cpp/Protection7/main.cpp new file mode 100644 index 00000000000..ec49c783336 --- /dev/null +++ b/regression/cbmc-cpp/Protection7/main.cpp @@ -0,0 +1,24 @@ +struct A +{ + int i; + A(){}; + +protected: + A(int i) : i(i) + { + } +}; + +struct B : A +{ + B() : A(0) + { + } +}; + +B b; + +int main() +{ + assert(b.i == 0); +} diff --git a/regression/cpp-from-CVS/Templates20/test.desc b/regression/cbmc-cpp/Protection7/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates20/test.desc rename to regression/cbmc-cpp/Protection7/test.desc diff --git a/regression/cbmc-cpp/Protection8/main.cpp b/regression/cbmc-cpp/Protection8/main.cpp new file mode 100644 index 00000000000..dc14c23cac8 --- /dev/null +++ b/regression/cbmc-cpp/Protection8/main.cpp @@ -0,0 +1,27 @@ +struct A +{ +protected: + int i; + int get_i() + { + return i; + } + + A(int i) : i(i) + { + } +}; + +struct B : A +{ + B() : A(0) + { + } +}; + +B b; + +int main() +{ + assert(b.get_i() == 0); +} diff --git a/regression/cpp-from-CVS/Protection8/test.desc b/regression/cbmc-cpp/Protection8/test.desc similarity index 100% rename from regression/cpp-from-CVS/Protection8/test.desc rename to regression/cbmc-cpp/Protection8/test.desc diff --git a/regression/cpp-from-CVS/Qualifier1/main.cpp b/regression/cbmc-cpp/Qualifier1/main.cpp similarity index 51% rename from regression/cpp-from-CVS/Qualifier1/main.cpp rename to regression/cbmc-cpp/Qualifier1/main.cpp index d2219dc9ef9..aeb5ff5cfd2 100644 --- a/regression/cpp-from-CVS/Qualifier1/main.cpp +++ b/regression/cbmc-cpp/Qualifier1/main.cpp @@ -1,4 +1,5 @@ -struct A { +struct A +{ int a; }; @@ -6,7 +7,6 @@ struct B { void f() { - A::a = 1; // ill-formed - + A::a = 1; // ill-formed } }; diff --git a/regression/cpp-from-CVS/Protection4/test.desc b/regression/cbmc-cpp/Qualifier1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Protection4/test.desc rename to regression/cbmc-cpp/Qualifier1/test.desc diff --git a/regression/cpp-from-CVS/Qualifier2/main.cpp b/regression/cbmc-cpp/Qualifier2/main.cpp similarity index 84% rename from regression/cpp-from-CVS/Qualifier2/main.cpp rename to regression/cbmc-cpp/Qualifier2/main.cpp index d51626ee97c..2c523a11e09 100644 --- a/regression/cpp-from-CVS/Qualifier2/main.cpp +++ b/regression/cbmc-cpp/Qualifier2/main.cpp @@ -1,9 +1,10 @@ +#include struct A { static int i; }; -struct B: public A +struct B : public A { static int i; }; @@ -20,5 +21,4 @@ int main() assert(B::i == 2); obj.A::i++; assert(A::i == 1); - } diff --git a/regression/cbmc-cpp/Qualifier2/test.desc b/regression/cbmc-cpp/Qualifier2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Qualifier2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Qualifier3/main.cpp b/regression/cbmc-cpp/Qualifier3/main.cpp similarity index 100% rename from regression/cpp-from-CVS/Qualifier3/main.cpp rename to regression/cbmc-cpp/Qualifier3/main.cpp diff --git a/regression/cpp-from-CVS/Qualifier1/test.desc b/regression/cbmc-cpp/Qualifier3/test.desc similarity index 100% rename from regression/cpp-from-CVS/Qualifier1/test.desc rename to regression/cbmc-cpp/Qualifier3/test.desc diff --git a/regression/cpp-from-CVS/Qualifier4/main.cpp b/regression/cbmc-cpp/Qualifier4/main.cpp similarity index 65% rename from regression/cpp-from-CVS/Qualifier4/main.cpp rename to regression/cbmc-cpp/Qualifier4/main.cpp index 7c8722b0aca..6d932593e0e 100644 --- a/regression/cpp-from-CVS/Qualifier4/main.cpp +++ b/regression/cbmc-cpp/Qualifier4/main.cpp @@ -5,5 +5,5 @@ struct A int main() { - int i = (int) A::f; + int i = (int)A::f; } diff --git a/regression/cpp-from-CVS/Qualifier4/test.desc b/regression/cbmc-cpp/Qualifier4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Qualifier4/test.desc rename to regression/cbmc-cpp/Qualifier4/test.desc diff --git a/regression/cpp-from-CVS/Reference1/main.cpp b/regression/cbmc-cpp/Reference1/main.cpp similarity index 55% rename from regression/cpp-from-CVS/Reference1/main.cpp rename to regression/cbmc-cpp/Reference1/main.cpp index b14812ada8f..76df1b077a3 100644 --- a/regression/cpp-from-CVS/Reference1/main.cpp +++ b/regression/cbmc-cpp/Reference1/main.cpp @@ -2,21 +2,21 @@ int g; void function(int &ref) { - ref=2; + ref = 2; } int main() { - int &r=g; + int &r = g; - r=1; + r = 1; - assert(g==1); + assert(g == 1); function(r); - assert(g==2); + assert(g == 2); // ?: does produce an l-value, apparently - int &s=g?r:g; + int &s = g ? r : g; } diff --git a/regression/cpp-from-CVS/Templates27/test.desc b/regression/cbmc-cpp/Reference1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates27/test.desc rename to regression/cbmc-cpp/Reference1/test.desc diff --git a/regression/cbmc-cpp/Reference2/main.cpp b/regression/cbmc-cpp/Reference2/main.cpp new file mode 100644 index 00000000000..f1a06cd08b2 --- /dev/null +++ b/regression/cbmc-cpp/Reference2/main.cpp @@ -0,0 +1,30 @@ +#include +int g; + +class X +{ +}; + +int &function() +{ + return g; +} + +int main() +{ + g = 1; + function() = 2; + assert(g == 2); + + { + int *p = &g; + int &r = *p; + assert(r == 2); + } + + { + X x; + X *p = &x; + X &r = *p; + } +} diff --git a/regression/cbmc-cpp/Reference2/test.desc b/regression/cbmc-cpp/Reference2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Reference2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Reference3/main.cpp b/regression/cbmc-cpp/Reference3/main.cpp new file mode 100644 index 00000000000..41e708bce22 --- /dev/null +++ b/regression/cbmc-cpp/Reference3/main.cpp @@ -0,0 +1,22 @@ +#include +class A +{ +public: + int &i; + A(int &i) : i(i) + { + } + +private: + A &operator=(const A &); +}; + +int main() +{ + int var; + int &ref = var; + var = 10; + A a(var); + a.i = 20; + assert(var == 20); +} diff --git a/regression/cbmc-cpp/Reference3/test.desc b/regression/cbmc-cpp/Reference3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Reference3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Reference4/main.cpp b/regression/cbmc-cpp/Reference4/main.cpp new file mode 100644 index 00000000000..6d60cd5d77f --- /dev/null +++ b/regression/cbmc-cpp/Reference4/main.cpp @@ -0,0 +1,4 @@ +class A +{ + int &a; +}; diff --git a/regression/cpp-from-CVS/Qualifier3/test.desc b/regression/cbmc-cpp/Reference4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Qualifier3/test.desc rename to regression/cbmc-cpp/Reference4/test.desc diff --git a/regression/cbmc-cpp/Reference5/main.cpp b/regression/cbmc-cpp/Reference5/main.cpp new file mode 100644 index 00000000000..f083e51af6d --- /dev/null +++ b/regression/cbmc-cpp/Reference5/main.cpp @@ -0,0 +1,7 @@ +class A +{ + int &a; + A() : a() + { + } +}; diff --git a/regression/cpp-from-CVS/Reference4/test.desc b/regression/cbmc-cpp/Reference5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Reference4/test.desc rename to regression/cbmc-cpp/Reference5/test.desc diff --git a/regression/cpp-from-CVS/Reference6/main.cpp b/regression/cbmc-cpp/Reference6/main.cpp similarity index 54% rename from regression/cpp-from-CVS/Reference6/main.cpp rename to regression/cbmc-cpp/Reference6/main.cpp index cb407b9bb13..cb80bf9f6f3 100644 --- a/regression/cpp-from-CVS/Reference6/main.cpp +++ b/regression/cbmc-cpp/Reference6/main.cpp @@ -1,9 +1,10 @@ +#include class X { public: int x; - X():x(0) + X() : x(0) { } }; @@ -17,9 +18,9 @@ X &r() int main() { - y.x=10; + y.x = 10; - r()=y; + r() = y; - assert(g.x==10); + assert(g.x == 10); } diff --git a/regression/cbmc-cpp/Reference6/test.desc b/regression/cbmc-cpp/Reference6/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Reference6/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Reference7/main.cpp b/regression/cbmc-cpp/Reference7/main.cpp new file mode 100644 index 00000000000..b833d012759 --- /dev/null +++ b/regression/cbmc-cpp/Reference7/main.cpp @@ -0,0 +1,9 @@ +#include + +int main() +{ + int i = 8; + int *p = &i; + int *&rp = p; + assert(*rp == 8); +} diff --git a/regression/cbmc-cpp/Reference7/test.desc b/regression/cbmc-cpp/Reference7/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Reference7/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Reference8/main.cpp b/regression/cbmc-cpp/Reference8/main.cpp new file mode 100644 index 00000000000..26ce83d9c5f --- /dev/null +++ b/regression/cbmc-cpp/Reference8/main.cpp @@ -0,0 +1,4 @@ +int main() +{ + int *&*p; // parsing error +} diff --git a/regression/cpp-from-CVS/Reference8/test.desc b/regression/cbmc-cpp/Reference8/test.desc similarity index 100% rename from regression/cpp-from-CVS/Reference8/test.desc rename to regression/cbmc-cpp/Reference8/test.desc diff --git a/regression/cbmc-cpp/Resolver13/main.cpp b/regression/cbmc-cpp/Resolver13/main.cpp new file mode 100644 index 00000000000..c0177eeb948 --- /dev/null +++ b/regression/cbmc-cpp/Resolver13/main.cpp @@ -0,0 +1,31 @@ +#include + +struct A +{ + A *operator->() + { + return this; + } + int one() + { + return 1; + } + int one(int &i) + { + i = 1; + } +}; + +struct B : public A +{ + A *operator->() + { + return this; + } +}; + +int main() +{ + B b; + assert(b->one() == 1); +} diff --git a/regression/cpp-from-CVS/Templates29/test.desc b/regression/cbmc-cpp/Resolver13/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates29/test.desc rename to regression/cbmc-cpp/Resolver13/test.desc diff --git a/regression/cpp-from-CVS/Resolver5/main.cpp b/regression/cbmc-cpp/Resolver5/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Resolver5/main.cpp rename to regression/cbmc-cpp/Resolver5/main.cpp index df0f977a404..03bd30c27db 100644 --- a/regression/cpp-from-CVS/Resolver5/main.cpp +++ b/regression/cbmc-cpp/Resolver5/main.cpp @@ -1,11 +1,15 @@ namespace n1 { - struct A { - int i; - }; +struct A +{ + int i; +}; - int func(A a) {return a.i;} +int func(A a) +{ + return a.i; } +} // namespace n1 int main() { diff --git a/regression/cpp-from-CVS/Templates31/test.desc b/regression/cbmc-cpp/Resolver5/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates31/test.desc rename to regression/cbmc-cpp/Resolver5/test.desc diff --git a/regression/cpp-from-CVS/Resolver6/main.cpp b/regression/cbmc-cpp/Resolver6/main.cpp similarity index 86% rename from regression/cpp-from-CVS/Resolver6/main.cpp rename to regression/cbmc-cpp/Resolver6/main.cpp index 61685b4db15..5279866e455 100644 --- a/regression/cpp-from-CVS/Resolver6/main.cpp +++ b/regression/cbmc-cpp/Resolver6/main.cpp @@ -1,3 +1,4 @@ +#include bool f(char c) { return false; diff --git a/regression/cbmc-cpp/Resolver6/test.desc b/regression/cbmc-cpp/Resolver6/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Resolver6/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Resolver7/main.cpp b/regression/cbmc-cpp/Resolver7/main.cpp new file mode 100644 index 00000000000..da79a2ddce7 --- /dev/null +++ b/regression/cbmc-cpp/Resolver7/main.cpp @@ -0,0 +1,18 @@ +#include +extern const char hello[]; + +bool func(const char *str) +{ + return true; +} +bool func(char *) +{ + return false; +} + +int main() +{ + assert(func(hello)); +} + +const char hello[] = "hello"; diff --git a/regression/cbmc-cpp/Resolver7/test.desc b/regression/cbmc-cpp/Resolver7/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Resolver7/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Resolver8/main.cpp b/regression/cbmc-cpp/Resolver8/main.cpp similarity index 59% rename from regression/cpp-from-CVS/Resolver8/main.cpp rename to regression/cbmc-cpp/Resolver8/main.cpp index f1d7300996e..bcc49040e50 100644 --- a/regression/cpp-from-CVS/Resolver8/main.cpp +++ b/regression/cbmc-cpp/Resolver8/main.cpp @@ -1,8 +1,12 @@ -bool func() {return true;} +#include +bool func() +{ + return true; +} bool func(int i) { - if(i==0) + if(i == 0) return false; return func(); } diff --git a/regression/cbmc-cpp/Resolver8/test.desc b/regression/cbmc-cpp/Resolver8/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Resolver8/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Resolver9/main.cpp b/regression/cbmc-cpp/Resolver9/main.cpp similarity index 77% rename from regression/cpp-from-CVS/Resolver9/main.cpp rename to regression/cbmc-cpp/Resolver9/main.cpp index 259d94951fb..07b41115b6c 100644 --- a/regression/cpp-from-CVS/Resolver9/main.cpp +++ b/regression/cbmc-cpp/Resolver9/main.cpp @@ -3,7 +3,9 @@ struct A typedef int INT; }; -struct B: A{}; +struct B : A +{ +}; int main() { diff --git a/regression/cpp-from-CVS/ConditionalExpression2/test.desc b/regression/cbmc-cpp/Resolver9/test.desc similarity index 100% rename from regression/cpp-from-CVS/ConditionalExpression2/test.desc rename to regression/cbmc-cpp/Resolver9/test.desc diff --git a/regression/cpp-from-CVS/STL1/main.cpp b/regression/cbmc-cpp/STL1/main.cpp similarity index 61% rename from regression/cpp-from-CVS/STL1/main.cpp rename to regression/cbmc-cpp/STL1/main.cpp index 065d7d250e2..b233b675050 100644 --- a/regression/cpp-from-CVS/STL1/main.cpp +++ b/regression/cbmc-cpp/STL1/main.cpp @@ -1,6 +1,6 @@ -#include #include #include +#include struct X { @@ -14,11 +14,11 @@ void test_vector() int_vector.push_back(1); int_vector.push_back(2); - assert(int_vector.front()==1); - assert(int_vector.back()==2); - assert(*int_vector.begin()==1); - it=int_vector.begin(); - assert(*it==1); + assert(int_vector.front() == 1); + assert(int_vector.back() == 2); + assert(*int_vector.begin() == 1); + it = int_vector.begin(); + assert(*it == 1); int_vector.pop_back(); int_vector.pop_back(); @@ -31,9 +31,9 @@ void test_list() int_list.push_back(1); int_list.push_back(2); - assert(int_list.front()==1); - assert(int_list.back()==2); - assert(*int_list.begin()==1); + assert(int_list.front() == 1); + assert(int_list.back() == 2); + assert(*int_list.begin() == 1); int_list.pop_back(); int_list.pop_back(); @@ -50,9 +50,15 @@ int main() { switch(nondet_int()) { - case 0: test_vector(); break; - case 1: test_list(); break; - case 2: test_set(); break; + case 0: + test_vector(); + break; + case 1: + test_list(); + break; + case 2: + test_set(); + break; default:; } diff --git a/regression/cpp-from-CVS/Templates32/test.desc b/regression/cbmc-cpp/STL1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates32/test.desc rename to regression/cbmc-cpp/STL1/test.desc diff --git a/regression/cpp-from-CVS/STL2/main.cpp b/regression/cbmc-cpp/STL2/main.cpp similarity index 86% rename from regression/cpp-from-CVS/STL2/main.cpp rename to regression/cbmc-cpp/STL2/main.cpp index e382495df27..9d7efbb3e3f 100644 --- a/regression/cpp-from-CVS/STL2/main.cpp +++ b/regression/cbmc-cpp/STL2/main.cpp @@ -15,5 +15,6 @@ int main() vector::iterator it; for(it = v.begin(); it != v.end(); it++) - if(*it == 10) v.erase(it); + if(*it == 10) + v.erase(it); } diff --git a/regression/cpp-from-CVS/STL2/test.desc b/regression/cbmc-cpp/STL2/test.desc similarity index 100% rename from regression/cpp-from-CVS/STL2/test.desc rename to regression/cbmc-cpp/STL2/test.desc diff --git a/regression/cbmc-cpp/Static_Member1/main.cpp b/regression/cbmc-cpp/Static_Member1/main.cpp new file mode 100644 index 00000000000..2dba9c200fa --- /dev/null +++ b/regression/cbmc-cpp/Static_Member1/main.cpp @@ -0,0 +1,20 @@ +class B +{ +public: + static int A1; + static int A2; + static const int A3 = 20; + + // the const ones are good as array size + int table[A3]; +}; + +int B::A1 = 1; +int B::A2; + +int main() +{ + assert(B::A1 == 1); + assert(B::A2 == 0); // zero initializer + assert(B::A3 == 20); // in-class initializer +} diff --git a/regression/cpp-from-CVS/Templates34/test.desc b/regression/cbmc-cpp/Static_Member1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates34/test.desc rename to regression/cbmc-cpp/Static_Member1/test.desc diff --git a/regression/cpp-from-CVS/Static_Member_Function/main.cpp b/regression/cbmc-cpp/Static_Member_Function/main.cpp similarity index 88% rename from regression/cpp-from-CVS/Static_Member_Function/main.cpp rename to regression/cbmc-cpp/Static_Member_Function/main.cpp index d1334bb750d..8fde198dd7e 100644 --- a/regression/cpp-from-CVS/Static_Member_Function/main.cpp +++ b/regression/cbmc-cpp/Static_Member_Function/main.cpp @@ -4,7 +4,9 @@ class t { public: int i; - static void f() { } + static void f() + { + } }; int main() diff --git a/regression/cpp-from-CVS/Constructor1/test.desc b/regression/cbmc-cpp/Static_Member_Function/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor1/test.desc rename to regression/cbmc-cpp/Static_Member_Function/test.desc diff --git a/regression/cbmc-cpp/Static_Method1/main.cpp b/regression/cbmc-cpp/Static_Method1/main.cpp new file mode 100644 index 00000000000..e9d34cc61b8 --- /dev/null +++ b/regression/cbmc-cpp/Static_Method1/main.cpp @@ -0,0 +1,18 @@ +#include +struct A +{ + static int Value(int v) + { + return v; + } + static int Value(int v1, int v2) + { + return 1; + } +}; + +int main() +{ + A a; + assert(a.Value(0) == 0); +} diff --git a/regression/cbmc-cpp/Static_Method1/test.desc b/regression/cbmc-cpp/Static_Method1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Static_Method1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/String_Literal1/main.cpp b/regression/cbmc-cpp/String_Literal1/main.cpp new file mode 100644 index 00000000000..5f7314cc118 --- /dev/null +++ b/regression/cbmc-cpp/String_Literal1/main.cpp @@ -0,0 +1,8 @@ +#include +int main() +{ + const char *p = + "asd" + "1"; + assert(p[3] == '1'); +} diff --git a/regression/cbmc-cpp/String_Literal1/test.desc b/regression/cbmc-cpp/String_Literal1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/String_Literal1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates1/main.cpp b/regression/cbmc-cpp/Templates1/main.cpp similarity index 87% rename from regression/cpp-from-CVS/Templates1/main.cpp rename to regression/cbmc-cpp/Templates1/main.cpp index 786f132d643..1a064f76321 100644 --- a/regression/cpp-from-CVS/Templates1/main.cpp +++ b/regression/cbmc-cpp/Templates1/main.cpp @@ -7,7 +7,7 @@ void f(T x) template void eq(int z) { - assert(i==z); + assert(i == z); } int main() diff --git a/regression/cpp-from-CVS/Templates36/test.desc b/regression/cbmc-cpp/Templates1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates36/test.desc rename to regression/cbmc-cpp/Templates1/test.desc diff --git a/regression/cpp-from-CVS/Templates10/main.cpp b/regression/cbmc-cpp/Templates10/main.cpp similarity index 81% rename from regression/cpp-from-CVS/Templates10/main.cpp rename to regression/cbmc-cpp/Templates10/main.cpp index 663719a98f0..0c8ca504e49 100644 --- a/regression/cpp-from-CVS/Templates10/main.cpp +++ b/regression/cbmc-cpp/Templates10/main.cpp @@ -1,3 +1,4 @@ +#include template int func() { @@ -19,6 +20,6 @@ int func() int main() { assert(func() == 0); - assert(func() == 1); + assert(func() == 1); assert(func() == 2); } diff --git a/regression/cbmc-cpp/Templates10/test.desc b/regression/cbmc-cpp/Templates10/test.desc new file mode 100644 index 00000000000..7791be248c7 --- /dev/null +++ b/regression/cbmc-cpp/Templates10/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates11/main.cpp b/regression/cbmc-cpp/Templates11/main.cpp similarity index 55% rename from regression/cpp-from-CVS/Templates11/main.cpp rename to regression/cbmc-cpp/Templates11/main.cpp index a4009d36437..34805dfeac7 100644 --- a/regression/cpp-from-CVS/Templates11/main.cpp +++ b/regression/cbmc-cpp/Templates11/main.cpp @@ -1,9 +1,15 @@ +#include template -bool func(T t) {return false;} - +bool func(T t) +{ + return false; +} template <> -bool func(int t) {return true;} +bool func(int t) +{ + return true; +} template struct Test @@ -18,5 +24,5 @@ struct Test int main() { Test t1; - assert(t1.f()==true); + assert(t1.f() == true); } diff --git a/regression/cbmc-cpp/Templates11/test.desc b/regression/cbmc-cpp/Templates11/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates11/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates12/main.cpp b/regression/cbmc-cpp/Templates12/main.cpp similarity index 71% rename from regression/cpp-from-CVS/Templates12/main.cpp rename to regression/cbmc-cpp/Templates12/main.cpp index bf80fe75e48..6e6ff2ec632 100644 --- a/regression/cpp-from-CVS/Templates12/main.cpp +++ b/regression/cbmc-cpp/Templates12/main.cpp @@ -1,10 +1,10 @@ #include -template +template struct A { T t; - bool eq(const A& ref) const + bool eq(const A &ref) const { return ref.t == t; } diff --git a/regression/cbmc-cpp/Templates12/test.desc b/regression/cbmc-cpp/Templates12/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates12/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates13/main.cpp b/regression/cbmc-cpp/Templates13/main.cpp similarity index 68% rename from regression/cpp-from-CVS/Templates13/main.cpp rename to regression/cbmc-cpp/Templates13/main.cpp index ec872c10100..6064f0c5df8 100644 --- a/regression/cpp-from-CVS/Templates13/main.cpp +++ b/regression/cbmc-cpp/Templates13/main.cpp @@ -1,6 +1,7 @@ -template - -bool func() { +#include +template +bool func() +{ return func(); } diff --git a/regression/cbmc-cpp/Templates13/test.desc b/regression/cbmc-cpp/Templates13/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates13/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Templates14/main.cpp b/regression/cbmc-cpp/Templates14/main.cpp new file mode 100644 index 00000000000..48a17aadd54 --- /dev/null +++ b/regression/cbmc-cpp/Templates14/main.cpp @@ -0,0 +1,23 @@ +#include + +namespace n1 +{ +template +struct A +{ + S a; +}; +} // namespace n1 + +template +struct B +{ + n1::A b; +}; + +int main() +{ + B o; + o.b.a = true; + assert(o.b.a == true); +}; diff --git a/regression/cbmc-cpp/Templates14/test.desc b/regression/cbmc-cpp/Templates14/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates14/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates16/main.cpp b/regression/cbmc-cpp/Templates16/main.cpp similarity index 86% rename from regression/cpp-from-CVS/Templates16/main.cpp rename to regression/cbmc-cpp/Templates16/main.cpp index c00b87198da..d682988cae4 100644 --- a/regression/cpp-from-CVS/Templates16/main.cpp +++ b/regression/cbmc-cpp/Templates16/main.cpp @@ -9,7 +9,9 @@ struct A struct B { int i; - B():i(0) { } + B() : i(0) + { + } }; int main() diff --git a/regression/cpp-from-CVS/Templates4/test.desc b/regression/cbmc-cpp/Templates16/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates4/test.desc rename to regression/cbmc-cpp/Templates16/test.desc diff --git a/regression/cpp-from-CVS/Templates17/main.cpp b/regression/cbmc-cpp/Templates17/main.cpp similarity index 74% rename from regression/cpp-from-CVS/Templates17/main.cpp rename to regression/cbmc-cpp/Templates17/main.cpp index 7a537e5f5c0..dddf84bf27e 100644 --- a/regression/cpp-from-CVS/Templates17/main.cpp +++ b/regression/cbmc-cpp/Templates17/main.cpp @@ -3,15 +3,19 @@ template struct A { bool b; - A(){} + A() + { + } }; template <> struct A; template <> -struct A{bool b;}; - +struct A +{ + bool b; +}; int main() { diff --git a/regression/cpp-from-CVS/Constructor10/test.desc b/regression/cbmc-cpp/Templates17/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor10/test.desc rename to regression/cbmc-cpp/Templates17/test.desc diff --git a/regression/cpp-from-CVS/Templates18/main.cpp b/regression/cbmc-cpp/Templates18/main.cpp similarity index 84% rename from regression/cpp-from-CVS/Templates18/main.cpp rename to regression/cbmc-cpp/Templates18/main.cpp index 71520e99e0a..1ba26256fae 100644 --- a/regression/cpp-from-CVS/Templates18/main.cpp +++ b/regression/cbmc-cpp/Templates18/main.cpp @@ -4,19 +4,20 @@ struct A; template struct A { - A(){} + A() + { + } }; - - template <> struct A { int b; - A(){} + A() + { + } }; - int main() { A a; diff --git a/regression/cpp-from-CVS/Constructor12/test.desc b/regression/cbmc-cpp/Templates18/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor12/test.desc rename to regression/cbmc-cpp/Templates18/test.desc diff --git a/regression/cpp-from-CVS/Templates19/main.cpp b/regression/cbmc-cpp/Templates19/main.cpp similarity index 72% rename from regression/cpp-from-CVS/Templates19/main.cpp rename to regression/cbmc-cpp/Templates19/main.cpp index 1c608e1c39c..4ca08cf3ba4 100644 --- a/regression/cpp-from-CVS/Templates19/main.cpp +++ b/regression/cbmc-cpp/Templates19/main.cpp @@ -1,22 +1,21 @@ +#include template struct A { T i; }; - template -T get_i(const A a1) +T get_i(const A a1) { return a1.i; } - int main() { A a2; a2.i = 10; - assert (a2.i == 10); + assert(a2.i == 10); assert(get_i(a2) == 10); get_i(a2); } diff --git a/regression/cbmc-cpp/Templates19/test.desc b/regression/cbmc-cpp/Templates19/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates19/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Templates20/main.cpp b/regression/cbmc-cpp/Templates20/main.cpp new file mode 100644 index 00000000000..677811efce0 --- /dev/null +++ b/regression/cbmc-cpp/Templates20/main.cpp @@ -0,0 +1,52 @@ +#include + +struct A +{ + int i; + A() : i(10) + { + } + +private: + A(const A &a); // disabled +}; + +template +class B : A +{ +public: + T t; + B(){}; + int get_i() + { + return i; + } + +private: + B(B &b); // disabled +}; + +template <> +class B : A +{ +public: + bool b; + B() : b(true) + { + } + int get_i() + { + return i; + } + +private: + B(B &b); // disabled +}; + +B b1; +int main() +{ + assert(b1.t == 0); + B b2; + assert(b2.b == true); +} diff --git a/regression/cpp-from-CVS/Templates6/test.desc b/regression/cbmc-cpp/Templates20/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates6/test.desc rename to regression/cbmc-cpp/Templates20/test.desc diff --git a/regression/cpp-from-CVS/Templates21/main.cpp b/regression/cbmc-cpp/Templates21/main.cpp similarity index 69% rename from regression/cpp-from-CVS/Templates21/main.cpp rename to regression/cbmc-cpp/Templates21/main.cpp index ceef7e83d5a..346e386f485 100644 --- a/regression/cpp-from-CVS/Templates21/main.cpp +++ b/regression/cbmc-cpp/Templates21/main.cpp @@ -1,12 +1,16 @@ #include template -struct A{ +struct A +{ T i; - void write(T i){this->i = i;} + void write(T i) + { + this->i = i; + } }; -struct B: A +struct B : A { void write(bool i) { diff --git a/regression/cbmc-cpp/Templates21/test.desc b/regression/cbmc-cpp/Templates21/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates21/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Templates22/main.cpp b/regression/cbmc-cpp/Templates22/main.cpp new file mode 100644 index 00000000000..9a3563f915e --- /dev/null +++ b/regression/cbmc-cpp/Templates22/main.cpp @@ -0,0 +1,18 @@ +#include +template +T func(T *t) +{ + return *t; +} + +template +T func(T t) +{ + return t; +} + +int main() +{ + int x = 10; + assert(func(&x) == func(x)); +} diff --git a/regression/cbmc-cpp/Templates22/test.desc b/regression/cbmc-cpp/Templates22/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates22/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates23/main.cpp b/regression/cbmc-cpp/Templates23/main.cpp similarity index 92% rename from regression/cpp-from-CVS/Templates23/main.cpp rename to regression/cbmc-cpp/Templates23/main.cpp index 3392ace01ce..d800b1ce7e9 100644 --- a/regression/cpp-from-CVS/Templates23/main.cpp +++ b/regression/cbmc-cpp/Templates23/main.cpp @@ -9,7 +9,7 @@ struct A template struct B { - A<0+N> a; + A<0 + N> a; }; int main() diff --git a/regression/cbmc-cpp/Templates23/test.desc b/regression/cbmc-cpp/Templates23/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates23/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates24/main.cpp b/regression/cbmc-cpp/Templates24/main.cpp similarity index 73% rename from regression/cpp-from-CVS/Templates24/main.cpp rename to regression/cbmc-cpp/Templates24/main.cpp index d0c9fd409a1..8b1835abdc5 100644 --- a/regression/cpp-from-CVS/Templates24/main.cpp +++ b/regression/cbmc-cpp/Templates24/main.cpp @@ -1,12 +1,16 @@ #include template -struct A { +struct A +{ bool True(); }; template -bool A::True() { return true; } +bool A::True() +{ + return true; +} int main() { diff --git a/regression/cbmc-cpp/Templates24/test.desc b/regression/cbmc-cpp/Templates24/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates24/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/Templates25/main.cpp b/regression/cbmc-cpp/Templates25/main.cpp new file mode 100644 index 00000000000..10ed4f3c53e --- /dev/null +++ b/regression/cbmc-cpp/Templates25/main.cpp @@ -0,0 +1,12 @@ +#include +template +bool True() +{ + return true; +} + +int main() +{ + bool result = True(); + assert(result == true); +} diff --git a/regression/cbmc-cpp/Templates25/test.desc b/regression/cbmc-cpp/Templates25/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates25/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates26/main.cpp b/regression/cbmc-cpp/Templates26/main.cpp similarity index 73% rename from regression/cpp-from-CVS/Templates26/main.cpp rename to regression/cbmc-cpp/Templates26/main.cpp index 5c1dd330770..e23afb7d00a 100644 --- a/regression/cpp-from-CVS/Templates26/main.cpp +++ b/regression/cbmc-cpp/Templates26/main.cpp @@ -1,11 +1,12 @@ #include -template -struct A{ +template +struct A +{ int func(); }; -template +template int A::func() { return C; diff --git a/regression/cbmc-cpp/Templates26/test.desc b/regression/cbmc-cpp/Templates26/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates26/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates27/main.cpp b/regression/cbmc-cpp/Templates27/main.cpp similarity index 89% rename from regression/cpp-from-CVS/Templates27/main.cpp rename to regression/cbmc-cpp/Templates27/main.cpp index e2edda31d08..69db147d85a 100644 --- a/regression/cpp-from-CVS/Templates27/main.cpp +++ b/regression/cbmc-cpp/Templates27/main.cpp @@ -1,9 +1,12 @@ #include template -struct C { +struct C +{ T2 i; - C():i(10) { } + C() : i(10) + { + } }; template diff --git a/regression/cpp-from-CVS/Templates9/test.desc b/regression/cbmc-cpp/Templates27/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates9/test.desc rename to regression/cbmc-cpp/Templates27/test.desc diff --git a/regression/cpp-from-CVS/Templates28/main.cpp b/regression/cbmc-cpp/Templates28/main.cpp similarity index 63% rename from regression/cpp-from-CVS/Templates28/main.cpp rename to regression/cbmc-cpp/Templates28/main.cpp index ec4c4b48074..88cec087894 100644 --- a/regression/cpp-from-CVS/Templates28/main.cpp +++ b/regression/cbmc-cpp/Templates28/main.cpp @@ -1,14 +1,18 @@ +#include template struct A { - int func(){return c1;} + int func() + { + return c1; + } }; template struct B { - A a; + A a; }; int main() diff --git a/regression/cbmc-cpp/Templates28/test.desc b/regression/cbmc-cpp/Templates28/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates28/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates29/main.cpp b/regression/cbmc-cpp/Templates29/main.cpp similarity index 52% rename from regression/cpp-from-CVS/Templates29/main.cpp rename to regression/cbmc-cpp/Templates29/main.cpp index a79184a3292..7fae96891ca 100644 --- a/regression/cpp-from-CVS/Templates29/main.cpp +++ b/regression/cbmc-cpp/Templates29/main.cpp @@ -1,16 +1,23 @@ -namespace N { +namespace N +{ template struct A { T i; - A(T i):i(i){} + A(T i) : i(i) + { + } }; -} +} // namespace N struct B : N::A { - B(int i): N::A(i) {} - void func() {} + B(int i) : N::A(i) + { + } + void func() + { + } int b; }; diff --git a/regression/cpp-from-CVS/Temporary1/test.desc b/regression/cbmc-cpp/Templates29/test.desc similarity index 100% rename from regression/cpp-from-CVS/Temporary1/test.desc rename to regression/cbmc-cpp/Templates29/test.desc diff --git a/regression/cpp-from-CVS/Templates3/main.cpp b/regression/cbmc-cpp/Templates3/main.cpp similarity index 68% rename from regression/cpp-from-CVS/Templates3/main.cpp rename to regression/cbmc-cpp/Templates3/main.cpp index 4ce1d69707e..7b47a7488e3 100644 --- a/regression/cpp-from-CVS/Templates3/main.cpp +++ b/regression/cbmc-cpp/Templates3/main.cpp @@ -1,4 +1,5 @@ -template +#include +template class int_array { public: @@ -6,7 +7,7 @@ class int_array int read(unsigned int x) { - assert(x template struct A { T1 t; template - void set(T2 t){ this->t = t; } - + void set(T2 t) + { + this->t = t; + } }; int main() diff --git a/regression/cbmc-cpp/Templates30/test.desc b/regression/cbmc-cpp/Templates30/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Templates30/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates31/main.cpp b/regression/cbmc-cpp/Templates31/main.cpp similarity index 69% rename from regression/cpp-from-CVS/Templates31/main.cpp rename to regression/cbmc-cpp/Templates31/main.cpp index 8032d62c7ab..9c95aaf4c21 100644 --- a/regression/cpp-from-CVS/Templates31/main.cpp +++ b/regression/cbmc-cpp/Templates31/main.cpp @@ -3,13 +3,13 @@ template struct C { - static const char* k; + static const char *k; }; template -const char* C::k = "C"; +const char *C::k = "C"; -int main(int argc, char* argv[]) +int main(int argc, char *argv[]) { assert(C::k[0] == 'C'); assert(C::k[0] == 'C'); diff --git a/regression/cpp-from-CVS/Temporary2/test.desc b/regression/cbmc-cpp/Templates31/test.desc similarity index 100% rename from regression/cpp-from-CVS/Temporary2/test.desc rename to regression/cbmc-cpp/Templates31/test.desc diff --git a/regression/cbmc-cpp/Templates32/main.cpp b/regression/cbmc-cpp/Templates32/main.cpp new file mode 100644 index 00000000000..75755149407 --- /dev/null +++ b/regression/cbmc-cpp/Templates32/main.cpp @@ -0,0 +1,24 @@ +#include + +enum argt +{ + ONE, + TWO +}; + +template +class A +{ +public: + A() : v(V) + { + } + T v; +}; + +int main() +{ + A<> a; + assert(a.v == TWO); + return 0; +} diff --git a/regression/cpp-from-CVS/Typecast2/test.desc b/regression/cbmc-cpp/Templates32/test.desc similarity index 100% rename from regression/cpp-from-CVS/Typecast2/test.desc rename to regression/cbmc-cpp/Templates32/test.desc diff --git a/regression/cpp-from-CVS/Templates34/main.cpp b/regression/cbmc-cpp/Templates34/main.cpp similarity index 68% rename from regression/cpp-from-CVS/Templates34/main.cpp rename to regression/cbmc-cpp/Templates34/main.cpp index 9d3a5092dfc..1c78edc92b4 100644 --- a/regression/cpp-from-CVS/Templates34/main.cpp +++ b/regression/cbmc-cpp/Templates34/main.cpp @@ -1,9 +1,9 @@ // tag only, but with default parameter -template +template class my_template1; // body, but without default parameter -template +template class my_template1 { }; @@ -12,11 +12,11 @@ class my_template1 my_template1 some_instance1; // tag only, no default parameter -template +template class my_template2; // body, but without default parameter -template +template class my_template2 { }; diff --git a/regression/cpp-from-CVS/Vector1/test.desc b/regression/cbmc-cpp/Templates34/test.desc similarity index 100% rename from regression/cpp-from-CVS/Vector1/test.desc rename to regression/cbmc-cpp/Templates34/test.desc diff --git a/regression/cbmc-cpp/Templates35/main.cpp b/regression/cbmc-cpp/Templates35/main.cpp new file mode 100644 index 00000000000..42db024c9f6 --- /dev/null +++ b/regression/cbmc-cpp/Templates35/main.cpp @@ -0,0 +1,39 @@ +#include + +template +class X +{ +public: + // the :: should trigger elaboration of Z + enum + { + e = T::e + }; +}; + +template +class Y : public X +{ +public: + enum + { + e = X::e + }; +}; + +template +class Z +{ +public: + enum + { + e = 1 + }; +}; + +Y> y; + +int main() +{ + assert(y.e == 1); +} diff --git a/regression/cpp-from-CVS/extractbits1/test.desc b/regression/cbmc-cpp/Templates35/test.desc similarity index 100% rename from regression/cpp-from-CVS/extractbits1/test.desc rename to regression/cbmc-cpp/Templates35/test.desc diff --git a/regression/cpp-from-CVS/Templates36/main.cpp b/regression/cbmc-cpp/Templates36/main.cpp similarity index 100% rename from regression/cpp-from-CVS/Templates36/main.cpp rename to regression/cbmc-cpp/Templates36/main.cpp diff --git a/regression/cpp-from-CVS/initialization2/test.desc b/regression/cbmc-cpp/Templates36/test.desc similarity index 100% rename from regression/cpp-from-CVS/initialization2/test.desc rename to regression/cbmc-cpp/Templates36/test.desc diff --git a/regression/cpp-from-CVS/Templates4/main.cpp b/regression/cbmc-cpp/Templates4/main.cpp similarity index 55% rename from regression/cpp-from-CVS/Templates4/main.cpp rename to regression/cbmc-cpp/Templates4/main.cpp index a68a532ad2e..3ed3f0bbda2 100644 --- a/regression/cpp-from-CVS/Templates4/main.cpp +++ b/regression/cbmc-cpp/Templates4/main.cpp @@ -7,23 +7,24 @@ class T1 template T2 f(T2 x) { - t=true; + t = true; return x; } void g() { - assert(2==f(2)); + assert(2 == f(2)); } void h() { - assert(3==f(3)); + assert(3 == f(3)); } - bool t; - T1():t(false) { } + T1() : t(false) + { + } }; int main() @@ -31,8 +32,8 @@ int main() T1 x; x.g(); - assert(1==x.f(1)); - assert(true==x.f(true)); - assert(x.t==true); + assert(1 == x.f(1)); + assert(true == x.f(true)); + assert(x.t == true); x.h(); } diff --git a/regression/cpp-from-CVS/initialization4/test.desc b/regression/cbmc-cpp/Templates4/test.desc similarity index 100% rename from regression/cpp-from-CVS/initialization4/test.desc rename to regression/cbmc-cpp/Templates4/test.desc diff --git a/regression/cbmc-cpp/Templates5/main.cpp b/regression/cbmc-cpp/Templates5/main.cpp new file mode 100644 index 00000000000..3b9c81064c0 --- /dev/null +++ b/regression/cbmc-cpp/Templates5/main.cpp @@ -0,0 +1,23 @@ +template +class Y +{ +public: + void f() + { + T::A++; // T::A is not a type name! + } +}; + +class B +{ +public: + static int A; +}; + +int B::A = 0; +int main() +{ + Y y; + y.f(); + assert(B::A == 1); +} diff --git a/regression/cpp-from-CVS/initialization7/test.desc b/regression/cbmc-cpp/Templates5/test.desc similarity index 100% rename from regression/cpp-from-CVS/initialization7/test.desc rename to regression/cbmc-cpp/Templates5/test.desc diff --git a/regression/cbmc-cpp/Templates6/main.cpp b/regression/cbmc-cpp/Templates6/main.cpp new file mode 100644 index 00000000000..226fe7a7daa --- /dev/null +++ b/regression/cbmc-cpp/Templates6/main.cpp @@ -0,0 +1,51 @@ +#include + +int g; + +template +struct A +{ + T t; + ~A() + { + g++; + } +}; + +struct B +{ + B() + { + g = 10; + } + ~B() + { + g = 20; + } +}; + +struct C +{ + A a; +}; + +struct D : A +{ +}; + +int main() +{ + { + C c; + assert(g == 10); + } + + assert(g == 20); + + { + D d; + assert(g == 10); + } + + assert(g == 20); +} diff --git a/regression/cpp-from-CVS/namespace2/test.desc b/regression/cbmc-cpp/Templates6/test.desc similarity index 100% rename from regression/cpp-from-CVS/namespace2/test.desc rename to regression/cbmc-cpp/Templates6/test.desc diff --git a/regression/cpp-from-CVS/Templates8/main.cpp b/regression/cbmc-cpp/Templates8/main.cpp similarity index 59% rename from regression/cpp-from-CVS/Templates8/main.cpp rename to regression/cbmc-cpp/Templates8/main.cpp index 69d92bb3a45..c7f9c5884fd 100644 --- a/regression/cpp-from-CVS/Templates8/main.cpp +++ b/regression/cbmc-cpp/Templates8/main.cpp @@ -3,11 +3,14 @@ template struct A { - static T some_function(T v) { return v; } + static T some_function(T v) + { + return v; + } }; int main() { int v = A::some_function(10); - assert(v==10); + assert(v == 10); } diff --git a/regression/cpp-from-CVS/union1/test.desc b/regression/cbmc-cpp/Templates8/test.desc similarity index 100% rename from regression/cpp-from-CVS/union1/test.desc rename to regression/cbmc-cpp/Templates8/test.desc diff --git a/regression/cpp-from-CVS/Templates9/main.cpp b/regression/cbmc-cpp/Templates9/main.cpp similarity index 87% rename from regression/cpp-from-CVS/Templates9/main.cpp rename to regression/cbmc-cpp/Templates9/main.cpp index 8fd52766b70..42450cf8077 100644 --- a/regression/cpp-from-CVS/Templates9/main.cpp +++ b/regression/cbmc-cpp/Templates9/main.cpp @@ -1,31 +1,36 @@ #include template -struct A { +struct A +{ static const int a = 0; }; // specialization to int template <> -struct A { +struct A +{ static const int a = 1; }; // specialization to char template <> -struct A { +struct A +{ static const int a = 2; }; // specialization to signed char template <> -struct A { +struct A +{ static const int a = 3; }; // specialization to unsigned char template <> -struct A { +struct A +{ static const int a = 4; }; diff --git a/regression/cpp-from-CVS/virtual1/test.desc b/regression/cbmc-cpp/Templates9/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual1/test.desc rename to regression/cbmc-cpp/Templates9/test.desc diff --git a/regression/cpp-from-CVS/Temporary1/main.cpp b/regression/cbmc-cpp/Temporary1/main.cpp similarity index 72% rename from regression/cpp-from-CVS/Temporary1/main.cpp rename to regression/cbmc-cpp/Temporary1/main.cpp index 62514af90eb..3aa7026d9e2 100644 --- a/regression/cpp-from-CVS/Temporary1/main.cpp +++ b/regression/cbmc-cpp/Temporary1/main.cpp @@ -1,6 +1,6 @@ int f(const int &i) { - assert(i==1); + assert(i == 1); } int main() diff --git a/regression/cpp-from-CVS/virtual13/test.desc b/regression/cbmc-cpp/Temporary1/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual13/test.desc rename to regression/cbmc-cpp/Temporary1/test.desc diff --git a/regression/cpp-from-CVS/Temporary2/main.cpp b/regression/cbmc-cpp/Temporary2/main.cpp similarity index 77% rename from regression/cpp-from-CVS/Temporary2/main.cpp rename to regression/cbmc-cpp/Temporary2/main.cpp index ffeee9869c9..761d2344ca2 100644 --- a/regression/cpp-from-CVS/Temporary2/main.cpp +++ b/regression/cbmc-cpp/Temporary2/main.cpp @@ -5,7 +5,7 @@ class X { } - X(int i):z(i) + X(int i) : z(i) { } @@ -16,7 +16,7 @@ void doit() { X x; - x=X(1); + x = X(1); } int main() diff --git a/regression/cpp-from-CVS/virtual14/test.desc b/regression/cbmc-cpp/Temporary2/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual14/test.desc rename to regression/cbmc-cpp/Temporary2/test.desc diff --git a/regression/cpp-from-CVS/Typecast1/main.cpp b/regression/cbmc-cpp/Typecast1/main.cpp similarity index 66% rename from regression/cpp-from-CVS/Typecast1/main.cpp rename to regression/cbmc-cpp/Typecast1/main.cpp index f510200b81e..6eaf5efae6e 100644 --- a/regression/cpp-from-CVS/Typecast1/main.cpp +++ b/regression/cbmc-cpp/Typecast1/main.cpp @@ -2,5 +2,5 @@ int main() { const int *p; - p=(int *)0; + p = (int *)0; } diff --git a/regression/cpp-from-CVS/Constructor13/test.desc b/regression/cbmc-cpp/Typecast1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor13/test.desc rename to regression/cbmc-cpp/Typecast1/test.desc diff --git a/regression/cpp-from-CVS/Typecast2/main.cpp b/regression/cbmc-cpp/Typecast2/main.cpp similarity index 89% rename from regression/cpp-from-CVS/Typecast2/main.cpp rename to regression/cbmc-cpp/Typecast2/main.cpp index 8a7da0a44f6..25254de115d 100644 --- a/regression/cpp-from-CVS/Typecast2/main.cpp +++ b/regression/cbmc-cpp/Typecast2/main.cpp @@ -3,7 +3,7 @@ struct myA int i; }; -struct myB: myA +struct myB : myA { int j; }; diff --git a/regression/cpp-from-CVS/virtual15/test.desc b/regression/cbmc-cpp/Typecast2/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual15/test.desc rename to regression/cbmc-cpp/Typecast2/test.desc diff --git a/regression/cbmc-cpp/Typedef1/main.cpp b/regression/cbmc-cpp/Typedef1/main.cpp new file mode 100644 index 00000000000..0ccd096d5cd --- /dev/null +++ b/regression/cbmc-cpp/Typedef1/main.cpp @@ -0,0 +1,23 @@ +#include +struct A +{ + int i; + A(int i) : i(i) + { + } +}; + +class B : public A +{ +public: + typedef A _A; + B() : _A(0) + { + } +}; + +int main() +{ + B b; + assert(b.i == 0); +} diff --git a/regression/cbmc-cpp/Typedef1/test.desc b/regression/cbmc-cpp/Typedef1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/Typedef1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/Typedef2/main.cpp b/regression/cbmc-cpp/Typedef2/main.cpp similarity index 75% rename from regression/cpp-from-CVS/Typedef2/main.cpp rename to regression/cbmc-cpp/Typedef2/main.cpp index dd83b1ef5f2..2c1fe21194c 100644 --- a/regression/cpp-from-CVS/Typedef2/main.cpp +++ b/regression/cbmc-cpp/Typedef2/main.cpp @@ -3,7 +3,7 @@ struct A int i; }; -struct B: A +struct B : A { typedef A _A; int i; @@ -22,6 +22,6 @@ int main() B b; b.i = 0; b.set(3); - assert(b.i==0); - assert(b.get()== 3); + assert(b.i == 0); + assert(b.get() == 3); } diff --git a/regression/cpp-from-CVS/virtual4/test.desc b/regression/cbmc-cpp/Typedef2/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual4/test.desc rename to regression/cbmc-cpp/Typedef2/test.desc diff --git a/regression/cpp-from-CVS/Typedef3/main.cpp b/regression/cbmc-cpp/Typedef3/main.cpp similarity index 58% rename from regression/cpp-from-CVS/Typedef3/main.cpp rename to regression/cbmc-cpp/Typedef3/main.cpp index 4e447e886cf..b3b511e63a4 100644 --- a/regression/cpp-from-CVS/Typedef3/main.cpp +++ b/regression/cbmc-cpp/Typedef3/main.cpp @@ -1,7 +1,10 @@ struct B { - typedef struct { typedef int INT; } A; + typedef struct + { + typedef int INT; + } A; }; int main() diff --git a/regression/cpp-from-CVS/Constructor5/test.desc b/regression/cbmc-cpp/Typedef3/test.desc similarity index 89% rename from regression/cpp-from-CVS/Constructor5/test.desc rename to regression/cbmc-cpp/Typedef3/test.desc index 91d9cf8b52e..6666d172f47 100644 --- a/regression/cpp-from-CVS/Constructor5/test.desc +++ b/regression/cbmc-cpp/Typedef3/test.desc @@ -1,4 +1,4 @@ -CORE +KNOWNBUG main.cpp ^EXIT=0$ diff --git a/regression/cpp-from-CVS/Vector1/lib/container b/regression/cbmc-cpp/Vector1/lib/container similarity index 100% rename from regression/cpp-from-CVS/Vector1/lib/container rename to regression/cbmc-cpp/Vector1/lib/container diff --git a/regression/cpp-from-CVS/Vector1/lib/iterator b/regression/cbmc-cpp/Vector1/lib/iterator similarity index 100% rename from regression/cpp-from-CVS/Vector1/lib/iterator rename to regression/cbmc-cpp/Vector1/lib/iterator diff --git a/regression/cpp-from-CVS/Vector1/lib/list b/regression/cbmc-cpp/Vector1/lib/list similarity index 100% rename from regression/cpp-from-CVS/Vector1/lib/list rename to regression/cbmc-cpp/Vector1/lib/list diff --git a/regression/cpp-from-CVS/Vector1/lib/vector b/regression/cbmc-cpp/Vector1/lib/vector similarity index 100% rename from regression/cpp-from-CVS/Vector1/lib/vector rename to regression/cbmc-cpp/Vector1/lib/vector diff --git a/regression/cpp-from-CVS/Vector1/main.cpp b/regression/cbmc-cpp/Vector1/main.cpp similarity index 90% rename from regression/cpp-from-CVS/Vector1/main.cpp rename to regression/cbmc-cpp/Vector1/main.cpp index d8a07707392..ef7c4fbf29a 100644 --- a/regression/cpp-from-CVS/Vector1/main.cpp +++ b/regression/cbmc-cpp/Vector1/main.cpp @@ -32,8 +32,8 @@ int main() { vector vec; vec.resize(0); - __CPROVER_assert(vec.size()==0, "vec size == 0"); -/* vec.push_back(2); + __CPROVER_assert(vec.size() == 0, "vec size == 0"); + /* vec.push_back(2); vec.push_back(1); vec.push_back(4); diff --git a/regression/cpp-from-CVS/Constructor6/test.desc b/regression/cbmc-cpp/Vector1/test.desc similarity index 89% rename from regression/cpp-from-CVS/Constructor6/test.desc rename to regression/cbmc-cpp/Vector1/test.desc index 91d9cf8b52e..6666d172f47 100644 --- a/regression/cpp-from-CVS/Constructor6/test.desc +++ b/regression/cbmc-cpp/Vector1/test.desc @@ -1,4 +1,4 @@ -CORE +KNOWNBUG main.cpp ^EXIT=0$ diff --git a/regression/cbmc-cpp/Zero_Initializer1/main.cpp b/regression/cbmc-cpp/Zero_Initializer1/main.cpp new file mode 100644 index 00000000000..f5d70022383 --- /dev/null +++ b/regression/cbmc-cpp/Zero_Initializer1/main.cpp @@ -0,0 +1,25 @@ +int g; +int **p; + +struct +{ + int m; +} s; + +struct B +{ + static int x; +}; + +int B::x; + +char a[10]; + +int main() +{ + assert(g == 0); + assert(p == 0); + assert(s.m == 0); + assert(a[3] == 0); + assert(B::x == 0); +} diff --git a/regression/cpp-from-CVS/Conversion5/test.desc b/regression/cbmc-cpp/Zero_Initializer1/test.desc similarity index 89% rename from regression/cpp-from-CVS/Conversion5/test.desc rename to regression/cbmc-cpp/Zero_Initializer1/test.desc index 91d9cf8b52e..6666d172f47 100644 --- a/regression/cpp-from-CVS/Conversion5/test.desc +++ b/regression/cbmc-cpp/Zero_Initializer1/test.desc @@ -1,4 +1,4 @@ -CORE +KNOWNBUG main.cpp ^EXIT=0$ diff --git a/regression/cbmc-cpp/argv1/main.cpp b/regression/cbmc-cpp/argv1/main.cpp new file mode 100644 index 00000000000..d0543ffb9fe --- /dev/null +++ b/regression/cbmc-cpp/argv1/main.cpp @@ -0,0 +1,11 @@ +#include +int main(int argc, char **argv) +{ + char *x; + + // there must be at least one + x = argv[0]; + + // last one must be NULL + assert(argv[argc] == 0); +} diff --git a/regression/cbmc-cpp/argv1/test.desc b/regression/cbmc-cpp/argv1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/argv1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/const_cast1/main.cpp b/regression/cbmc-cpp/const_cast1/main.cpp new file mode 100644 index 00000000000..e2d8d21827d --- /dev/null +++ b/regression/cbmc-cpp/const_cast1/main.cpp @@ -0,0 +1,12 @@ +#include +int main() +{ + int i = 10; + const int &ri = i; + const_cast(ri) = 11; + assert(i == 11); + + const int *pi = &i; + *const_cast(pi) = 12; + assert(i == 12); +} diff --git a/regression/cbmc-cpp/const_cast1/test.desc b/regression/cbmc-cpp/const_cast1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/const_cast1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/extractbits1/main.cpp b/regression/cbmc-cpp/extractbits1/main.cpp similarity index 65% rename from regression/cpp-from-CVS/extractbits1/main.cpp rename to regression/cbmc-cpp/extractbits1/main.cpp index f38e3d0247b..19089e10ba6 100644 --- a/regression/cpp-from-CVS/extractbits1/main.cpp +++ b/regression/cbmc-cpp/extractbits1/main.cpp @@ -4,12 +4,12 @@ int main() { unsigned a = 6; unsigned b = 12; - unsigned a21 = a.range(2, 1); - unsigned b32 = b.range(3, 2); - assert( a21 == b32); + unsigned a21 = a.range(2, 1); + unsigned b32 = b.range(3, 2); + assert(a21 == b32); a.range(4, 3) = a.range(2, 1); - assert( a.range(4, 3) == b.range(3, 2)); + assert(a.range(4, 3) == b.range(3, 2)); a[0] = b.range(3, 3); bool a0 = a[0]; diff --git a/regression/cpp-from-CVS/Constructor9/test.desc b/regression/cbmc-cpp/extractbits1/test.desc similarity index 89% rename from regression/cpp-from-CVS/Constructor9/test.desc rename to regression/cbmc-cpp/extractbits1/test.desc index 91d9cf8b52e..6666d172f47 100644 --- a/regression/cpp-from-CVS/Constructor9/test.desc +++ b/regression/cbmc-cpp/extractbits1/test.desc @@ -1,4 +1,4 @@ -CORE +KNOWNBUG main.cpp ^EXIT=0$ diff --git a/regression/cbmc-cpp/for1/main.cpp b/regression/cbmc-cpp/for1/main.cpp new file mode 100644 index 00000000000..4e0e458b6f4 --- /dev/null +++ b/regression/cbmc-cpp/for1/main.cpp @@ -0,0 +1,9 @@ +#include +int main() +{ + int i; + for(i = 0; i < 10; i++) + { + assert(i < 10); + } +} diff --git a/regression/cbmc-cpp/for1/test.desc b/regression/cbmc-cpp/for1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/for1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/initialization1/main.cpp b/regression/cbmc-cpp/initialization1/main.cpp similarity index 51% rename from regression/cpp-from-CVS/initialization1/main.cpp rename to regression/cbmc-cpp/initialization1/main.cpp index ae1152193e3..4168d8e3ad1 100644 --- a/regression/cpp-from-CVS/initialization1/main.cpp +++ b/regression/cbmc-cpp/initialization1/main.cpp @@ -2,23 +2,28 @@ int g1; class One { - public: +public: int o; - One():o(1){} + One() : o(1) + { + } }; class A { - public: +public: static One one; - A() { assert(one.o == 1); } + A() + { + assert(one.o == 1); + } }; One A::one; int main() { - assert(g1==0); + assert(g1 == 0); A a; } diff --git a/regression/cbmc-cpp/initialization1/test.desc b/regression/cbmc-cpp/initialization1/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/initialization1/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/initialization2/main.cpp b/regression/cbmc-cpp/initialization2/main.cpp new file mode 100644 index 00000000000..2ec70313f21 --- /dev/null +++ b/regression/cbmc-cpp/initialization2/main.cpp @@ -0,0 +1,21 @@ +class A +{ +public: + int a; + int b; + A(const A &r) + { + b = ~r.b; + } + A(){}; +}; + +A a1; +A a2 = a1; +int main() +{ + assert(a1.a == 0); + assert(a2.a == 0); + assert(a1.b == 0); + assert(a2.b == ~0); +}; diff --git a/regression/cbmc-cpp/initialization2/test.desc b/regression/cbmc-cpp/initialization2/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/initialization2/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/initialization3/main.cpp b/regression/cbmc-cpp/initialization3/main.cpp new file mode 100644 index 00000000000..d30b53eb925 --- /dev/null +++ b/regression/cbmc-cpp/initialization3/main.cpp @@ -0,0 +1,15 @@ +#include +class A +{ +public: + int i; + A() + { + } +}; + +int main() +{ + A a; + assert(a.i == 0); +} diff --git a/regression/cpp-from-CVS/initialization3/test.desc b/regression/cbmc-cpp/initialization3/test.desc similarity index 70% rename from regression/cpp-from-CVS/initialization3/test.desc rename to regression/cbmc-cpp/initialization3/test.desc index e778f120e58..9cae882a31f 100644 --- a/regression/cpp-from-CVS/initialization3/test.desc +++ b/regression/cbmc-cpp/initialization3/test.desc @@ -1,4 +1,4 @@ -CORE +CORE winbug macos-assert-broken main.cpp ^EXIT=10$ diff --git a/regression/cpp-from-CVS/initialization4/main.cpp b/regression/cbmc-cpp/initialization4/main.cpp similarity index 72% rename from regression/cpp-from-CVS/initialization4/main.cpp rename to regression/cbmc-cpp/initialization4/main.cpp index 6edc3266d8f..cc818f64b3f 100644 --- a/regression/cpp-from-CVS/initialization4/main.cpp +++ b/regression/cbmc-cpp/initialization4/main.cpp @@ -10,6 +10,6 @@ const int a = gen(); int main() { - assert(a==1); - assert(b==0); + assert(a == 1); + assert(b == 0); } diff --git a/regression/cbmc-cpp/initialization4/test.desc b/regression/cbmc-cpp/initialization4/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/initialization4/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/initialization5/main.cpp b/regression/cbmc-cpp/initialization5/main.cpp similarity index 85% rename from regression/cpp-from-CVS/initialization5/main.cpp rename to regression/cbmc-cpp/initialization5/main.cpp index f96693bcda3..3c5bf63f7cd 100644 --- a/regression/cpp-from-CVS/initialization5/main.cpp +++ b/regression/cbmc-cpp/initialization5/main.cpp @@ -1,6 +1,8 @@ +#include int a[__CPROVER::constant_infinity_uint]; -struct A { +struct A +{ int i[__CPROVER::constant_infinity_uint]; }; diff --git a/regression/cbmc-cpp/initialization5/test.desc b/regression/cbmc-cpp/initialization5/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/initialization5/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/initialization6/main.cpp b/regression/cbmc-cpp/initialization6/main.cpp similarity index 65% rename from regression/cpp-from-CVS/initialization6/main.cpp rename to regression/cbmc-cpp/initialization6/main.cpp index a53fcd3d06b..79c8cd0acf3 100644 --- a/regression/cpp-from-CVS/initialization6/main.cpp +++ b/regression/cbmc-cpp/initialization6/main.cpp @@ -2,5 +2,5 @@ extern "C" int g; int main() { - assert(g==0); + assert(g == 0); } diff --git a/regression/cpp-from-CVS/initialization6/test.desc b/regression/cbmc-cpp/initialization6/test.desc similarity index 100% rename from regression/cpp-from-CVS/initialization6/test.desc rename to regression/cbmc-cpp/initialization6/test.desc diff --git a/regression/cpp-from-CVS/initialization7/main.cpp b/regression/cbmc-cpp/initialization7/main.cpp similarity index 100% rename from regression/cpp-from-CVS/initialization7/main.cpp rename to regression/cbmc-cpp/initialization7/main.cpp diff --git a/regression/cbmc-cpp/initialization7/test.desc b/regression/cbmc-cpp/initialization7/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/initialization7/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/namespace1/main.cpp b/regression/cbmc-cpp/namespace1/main.cpp new file mode 100644 index 00000000000..00b8367be9c --- /dev/null +++ b/regression/cbmc-cpp/namespace1/main.cpp @@ -0,0 +1,31 @@ +#include + +namespace test_space +{ +int i; +} + +int test_space::j; + +void f() +{ + ::test_space::i = 0; +} + +namespace test_space +{ +void g() +{ + i = 1; + j = 2; +} +} // namespace test_space + +using namespace test_space; + +int main() +{ + f(); + j = 1; + assert(i == 0); +} diff --git a/regression/cbmc-cpp/namespace1/test.desc b/regression/cbmc-cpp/namespace1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/namespace1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/namespace2/main.cpp b/regression/cbmc-cpp/namespace2/main.cpp similarity index 58% rename from regression/cpp-from-CVS/namespace2/main.cpp rename to regression/cbmc-cpp/namespace2/main.cpp index 0c4afaa17cc..5ff4e959545 100644 --- a/regression/cpp-from-CVS/namespace2/main.cpp +++ b/regression/cbmc-cpp/namespace2/main.cpp @@ -2,13 +2,15 @@ namespace N { - template - struct A +template +struct A +{ + T t; + A(T t) : t(t) { - T t; - A(T t):t(t) { } - }; -} + } +}; +} // namespace N using N::A; diff --git a/regression/cbmc-cpp/namespace2/test.desc b/regression/cbmc-cpp/namespace2/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/namespace2/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/namespace3/main.cpp b/regression/cbmc-cpp/namespace3/main.cpp new file mode 100644 index 00000000000..f7d44157fce --- /dev/null +++ b/regression/cbmc-cpp/namespace3/main.cpp @@ -0,0 +1,15 @@ +#include +namespace std +{ +struct A +{ + int i; +}; +} // namespace std + +std::A a; + +int main(int argc, char *argv[]) +{ + assert(a.i == 0); +} diff --git a/regression/cbmc-cpp/namespace3/test.desc b/regression/cbmc-cpp/namespace3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/namespace3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/new1/main.cpp b/regression/cbmc-cpp/new1/main.cpp similarity index 67% rename from regression/cpp-from-CVS/new1/main.cpp rename to regression/cbmc-cpp/new1/main.cpp index e0c73bb2a2a..599050824d4 100644 --- a/regression/cpp-from-CVS/new1/main.cpp +++ b/regression/cbmc-cpp/new1/main.cpp @@ -1,10 +1,11 @@ +#include void single_object() { int *p; - p=new int(2); + p = new int(2); - assert(*p==2); + assert(*p == 2); delete p; } @@ -13,9 +14,9 @@ void array() { int *q; - q=new int[100]; + q = new int[100]; - q[50]=1; + q[50] = 1; // _must_ use delete[] here delete[] q; diff --git a/regression/cpp-from-CVS/new1/test.desc b/regression/cbmc-cpp/new1/test.desc similarity index 74% rename from regression/cpp-from-CVS/new1/test.desc rename to regression/cbmc-cpp/new1/test.desc index 261ae194d03..404ace834a8 100644 --- a/regression/cpp-from-CVS/new1/test.desc +++ b/regression/cbmc-cpp/new1/test.desc @@ -1,4 +1,4 @@ -CORE +CORE winbug macos-assert-broken main.cpp --pointer-check ^EXIT=0$ diff --git a/regression/cbmc-cpp/operators/main.cpp b/regression/cbmc-cpp/operators/main.cpp new file mode 100644 index 00000000000..f5e2e67eed7 --- /dev/null +++ b/regression/cbmc-cpp/operators/main.cpp @@ -0,0 +1,52 @@ +#include +class I +{ + int i; + +public: + int get() + { + return i; + } + void set(int i) + { + this->i = i; + } + I &operator<<=(const I &ref) + { + i <<= ref.i; + return *this; + } + I &operator>>=(const I &ref) + { + i >>= ref.i; + return *this; + } + I &operator+=(const I &ref) + { + i += ref.i; + return *this; + } + I &operator-=(const I &ref) + { + i -= ref.i; + return *this; + } +}; + +int main() +{ + I i1, i2; + i1.set(1); + i2.set(2); + i2 += i1; + assert(i2.get() == 3); + i2 -= i1; + assert(i2.get() == 2); + i2 <<= i1; + assert(i2.get() == 4); + i2 >>= i1; + assert(i2.get() == 2); + i2 = i1; + assert(i2.get() == 1); +} diff --git a/regression/cbmc-cpp/operators/test.desc b/regression/cbmc-cpp/operators/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/operators/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/reinterpret_cast1/main.cpp b/regression/cbmc-cpp/reinterpret_cast1/main.cpp similarity index 69% rename from regression/cpp-from-CVS/reinterpret_cast1/main.cpp rename to regression/cbmc-cpp/reinterpret_cast1/main.cpp index d27456e556c..fcbf192f3f0 100644 --- a/regression/cpp-from-CVS/reinterpret_cast1/main.cpp +++ b/regression/cbmc-cpp/reinterpret_cast1/main.cpp @@ -1,9 +1,10 @@ +#include int main() { int v = 256; - int *i= &v; + int *i = &v; char *c = reinterpret_cast(i); *c == 0; int *j = reinterpret_cast(c); - assert(j==i); + assert(j == i); } diff --git a/regression/cpp-from-CVS/reinterpret_cast1/test.desc b/regression/cbmc-cpp/reinterpret_cast1/test.desc similarity index 74% rename from regression/cpp-from-CVS/reinterpret_cast1/test.desc rename to regression/cbmc-cpp/reinterpret_cast1/test.desc index 5249662e6aa..89db603c00c 100644 --- a/regression/cpp-from-CVS/reinterpret_cast1/test.desc +++ b/regression/cbmc-cpp/reinterpret_cast1/test.desc @@ -1,4 +1,4 @@ -CORE +CORE winbug macos-assert-broken main.cpp --little-endian ^EXIT=0$ diff --git a/regression/cbmc-cpp/reinterpret_cast2/main.cpp b/regression/cbmc-cpp/reinterpret_cast2/main.cpp new file mode 100644 index 00000000000..ded02adc047 --- /dev/null +++ b/regression/cbmc-cpp/reinterpret_cast2/main.cpp @@ -0,0 +1,14 @@ +struct A +{ + int *pi; +}; + +int main() +{ + A a; + const A *cpa = &a; + + int *ptr = reinterpret_cast(cpa->pi); + + return 0; +} diff --git a/regression/cpp-from-CVS/Constructor15/test.desc b/regression/cbmc-cpp/reinterpret_cast2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor15/test.desc rename to regression/cbmc-cpp/reinterpret_cast2/test.desc diff --git a/regression/cbmc-cpp/static_cast1/main.cpp b/regression/cbmc-cpp/static_cast1/main.cpp new file mode 100644 index 00000000000..b7061f12681 --- /dev/null +++ b/regression/cbmc-cpp/static_cast1/main.cpp @@ -0,0 +1,10 @@ +#include +int main() +{ + // this is ok + double xd = 2.3; + + int xi = static_cast(xd); + + assert(xi == 2); +} diff --git a/regression/cbmc-cpp/static_cast1/test.desc b/regression/cbmc-cpp/static_cast1/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/static_cast1/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/static_cast2/main.cpp b/regression/cbmc-cpp/static_cast2/main.cpp similarity index 100% rename from regression/cpp-from-CVS/static_cast2/main.cpp rename to regression/cbmc-cpp/static_cast2/main.cpp diff --git a/regression/cpp-from-CVS/Reference5/test.desc b/regression/cbmc-cpp/static_cast2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Reference5/test.desc rename to regression/cbmc-cpp/static_cast2/test.desc diff --git a/regression/cbmc-cpp/static_cast3/main.cpp b/regression/cbmc-cpp/static_cast3/main.cpp new file mode 100644 index 00000000000..9f84bca968e --- /dev/null +++ b/regression/cbmc-cpp/static_cast3/main.cpp @@ -0,0 +1,28 @@ +#include +struct A +{ + int i; +}; + +struct B +{ + char j; +}; + +struct C : A, B +{ + bool k; +}; + +int main() +{ + C c; + c.k = true; + + B &b = c; + assert((static_cast(b)).k == true); + + B *pb = &c; + static_cast(pb)->k = false; + assert(c.k == false); +} diff --git a/regression/cbmc-cpp/static_cast3/test.desc b/regression/cbmc-cpp/static_cast3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/static_cast3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/static_cast4/main.cpp b/regression/cbmc-cpp/static_cast4/main.cpp new file mode 100644 index 00000000000..65f653772de --- /dev/null +++ b/regression/cbmc-cpp/static_cast4/main.cpp @@ -0,0 +1,14 @@ +struct A +{ + int i; +}; +struct B : A +{ + char j; +}; +int main() +{ + A a; + const A &ra = a; + static_cast(ra); // not ok +} diff --git a/regression/cpp-from-CVS/Templates15/test.desc b/regression/cbmc-cpp/static_cast4/test.desc similarity index 100% rename from regression/cpp-from-CVS/Templates15/test.desc rename to regression/cbmc-cpp/static_cast4/test.desc diff --git a/regression/cbmc-cpp/static_cast5/main.cpp b/regression/cbmc-cpp/static_cast5/main.cpp new file mode 100644 index 00000000000..99b5ce3221f --- /dev/null +++ b/regression/cbmc-cpp/static_cast5/main.cpp @@ -0,0 +1,30 @@ +#include +struct A +{ + int i; +}; + +struct B : A +{ +}; + +int get_i1(A &a) +{ + return static_cast(&a)->i; +} + +int get_i2(A *pa) +{ + return static_cast(pa)->i; +} + +int main() +{ + B b; + b.i = 10; + int tmp1 = get_i1(b); + assert(tmp1 == 10); + + int tmp2 = get_i2(&b); + assert(tmp2 == 10); +} diff --git a/regression/cbmc-cpp/static_cast5/test.desc b/regression/cbmc-cpp/static_cast5/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/static_cast5/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/struct1/main.cpp b/regression/cbmc-cpp/struct1/main.cpp similarity index 75% rename from regression/cpp-from-CVS/struct1/main.cpp rename to regression/cbmc-cpp/struct1/main.cpp index 780ee20fd4c..ef5a0cbb897 100644 --- a/regression/cpp-from-CVS/struct1/main.cpp +++ b/regression/cbmc-cpp/struct1/main.cpp @@ -8,15 +8,18 @@ struct IUnknown int f(IUnknown *This); -struct AA { +struct AA +{ int i; }; -struct BBB { +struct BBB +{ struct asd *p; } abc; -struct AAA { +struct AAA +{ struct asd *q; } fff; @@ -27,13 +30,12 @@ struct asd void f() { - abc.p=fff.q; + abc.p = fff.q; } int main() { int z; - z=sizeof(struct AA); - + z = sizeof(struct AA); } diff --git a/regression/cpp-from-CVS/Constructor2/test.desc b/regression/cbmc-cpp/struct1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor2/test.desc rename to regression/cbmc-cpp/struct1/test.desc diff --git a/regression/cpp-from-CVS/typecast_ambiguity3/main.cpp b/regression/cbmc-cpp/typecast_ambiguity3/main.cpp similarity index 72% rename from regression/cpp-from-CVS/typecast_ambiguity3/main.cpp rename to regression/cbmc-cpp/typecast_ambiguity3/main.cpp index ad03e797cf4..309e41c10e6 100644 --- a/regression/cpp-from-CVS/typecast_ambiguity3/main.cpp +++ b/regression/cbmc-cpp/typecast_ambiguity3/main.cpp @@ -7,7 +7,7 @@ int main() // this is to parse as (bool(i)) & 0x1fff // and not as bool(i&0x1fff) - assert(sizeof((bool)(i) & 0x1fff)==sizeof(int)); + assert(sizeof((bool)(i)&0x1fff) == sizeof(int)); return 0; } diff --git a/regression/cbmc-cpp/typecast_ambiguity3/test.desc b/regression/cbmc-cpp/typecast_ambiguity3/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/typecast_ambiguity3/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/typename1/main.cpp b/regression/cbmc-cpp/typename1/main.cpp similarity index 78% rename from regression/cpp-from-CVS/typename1/main.cpp rename to regression/cbmc-cpp/typename1/main.cpp index fe91f31bbc6..b7a027cdcf6 100644 --- a/regression/cpp-from-CVS/typename1/main.cpp +++ b/regression/cbmc-cpp/typename1/main.cpp @@ -4,7 +4,8 @@ class X typedef int T; }; -template class Y +template +class Y { public: typename X::T g; @@ -12,7 +13,6 @@ template class Y void f() { typename X::T l; - } }; @@ -20,5 +20,5 @@ int main() { Y o; - o.g=1; + o.g = 1; } diff --git a/regression/cpp-from-CVS/Constructor3/test.desc b/regression/cbmc-cpp/typename1/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor3/test.desc rename to regression/cbmc-cpp/typename1/test.desc diff --git a/regression/cbmc-cpp/typename2/main.cpp b/regression/cbmc-cpp/typename2/main.cpp new file mode 100644 index 00000000000..bfb62ca4f1f --- /dev/null +++ b/regression/cbmc-cpp/typename2/main.cpp @@ -0,0 +1,18 @@ +enum foo +{ + NOT_AFFECTED, + FATAL_AFFECT, + WARNING +}; + +typedef struct +{ + foo SeverityType; +} BitDatabaseRecordStruct; + +const BitDatabaseRecordStruct BitDataBase[1] = {{NOT_AFFECTED}}; + +int main() +{ + return 0; +} diff --git a/regression/cpp-from-CVS/Constructor4/test.desc b/regression/cbmc-cpp/typename2/test.desc similarity index 100% rename from regression/cpp-from-CVS/Constructor4/test.desc rename to regression/cbmc-cpp/typename2/test.desc diff --git a/regression/cpp-from-CVS/union1/main.cpp b/regression/cbmc-cpp/union1/main.cpp similarity index 90% rename from regression/cpp-from-CVS/union1/main.cpp rename to regression/cbmc-cpp/union1/main.cpp index f112a5e8653..cd5d25610c0 100644 --- a/regression/cpp-from-CVS/union1/main.cpp +++ b/regression/cbmc-cpp/union1/main.cpp @@ -3,8 +3,7 @@ int main() { // anonymous union - union - { + union { int a; char b; }; diff --git a/regression/cbmc-cpp/union1/test.desc b/regression/cbmc-cpp/union1/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/union1/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/virtual1/main.cpp b/regression/cbmc-cpp/virtual1/main.cpp similarity index 63% rename from regression/cpp-from-CVS/virtual1/main.cpp rename to regression/cbmc-cpp/virtual1/main.cpp index 540af426a25..1d402669650 100644 --- a/regression/cpp-from-CVS/virtual1/main.cpp +++ b/regression/cbmc-cpp/virtual1/main.cpp @@ -5,7 +5,7 @@ class A public: virtual void f() { - g=1; + g = 1; } int mA; @@ -17,18 +17,18 @@ A::A() { } -class B: public A +class B : public A { public: B() { - mB=1; + mB = 1; } virtual void f() { - g=2; - mB=3; + g = 2; + mB = 3; } int mB; @@ -39,10 +39,10 @@ int main() B b; A *p; - p=&b; + p = &b; p->f(); - assert(g==2); - assert(b.mB==3); + assert(g == 2); + assert(b.mB == 3); } diff --git a/regression/cbmc-cpp/virtual1/test.desc b/regression/cbmc-cpp/virtual1/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/virtual1/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/virtual10/main.cpp b/regression/cbmc-cpp/virtual10/main.cpp new file mode 100644 index 00000000000..5347eb527d0 --- /dev/null +++ b/regression/cbmc-cpp/virtual10/main.cpp @@ -0,0 +1,20 @@ +#include +struct A +{ + virtual bool func() const + { + return true; + } + virtual bool func() + { + return false; + } +}; + +int main() +{ + const A a1; + assert(a1.func() == true); + A a2; + assert(a2.func() == false); +} diff --git a/regression/cbmc-cpp/virtual10/test.desc b/regression/cbmc-cpp/virtual10/test.desc new file mode 100644 index 00000000000..307a2ce0d75 --- /dev/null +++ b/regression/cbmc-cpp/virtual10/test.desc @@ -0,0 +1,7 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- diff --git a/regression/cpp-from-CVS/virtual11/main.cpp b/regression/cbmc-cpp/virtual11/main.cpp similarity index 68% rename from regression/cpp-from-CVS/virtual11/main.cpp rename to regression/cbmc-cpp/virtual11/main.cpp index 86d443c1d05..1631cc64be7 100644 --- a/regression/cpp-from-CVS/virtual11/main.cpp +++ b/regression/cbmc-cpp/virtual11/main.cpp @@ -1,4 +1,5 @@ -struct A { +struct A +{ int i; virtual operator int() const { @@ -10,11 +11,11 @@ struct B : A { operator int() const { - return i+1; + return i + 1; } }; -int get_i(const A& a) +int get_i(const A &a) { return a; } @@ -23,5 +24,5 @@ int main() { B b; b.i = 10; - assert(get_i(b)==11); + assert(get_i(b) == 11); } diff --git a/regression/cpp-from-CVS/virtual11/test.desc b/regression/cbmc-cpp/virtual11/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual11/test.desc rename to regression/cbmc-cpp/virtual11/test.desc diff --git a/regression/cbmc-cpp/virtual12/main.cpp b/regression/cbmc-cpp/virtual12/main.cpp new file mode 100644 index 00000000000..4a2eb256e95 --- /dev/null +++ b/regression/cbmc-cpp/virtual12/main.cpp @@ -0,0 +1,31 @@ +struct A +{ + virtual int func() + { + return 1; + } +}; + +struct B : A +{ + int func() + { + return 2; + } +}; + +int call_func1(A a) +{ + return a.func(); +} +int call_func2(A &a) +{ + return a.func(); +} + +int main() +{ + B b; + assert(call_func1(b) == 1); + assert(call_func2(b) == 2); +} diff --git a/regression/cpp-from-CVS/virtual12/test.desc b/regression/cbmc-cpp/virtual12/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual12/test.desc rename to regression/cbmc-cpp/virtual12/test.desc diff --git a/regression/cbmc-cpp/virtual13/main.cpp b/regression/cbmc-cpp/virtual13/main.cpp new file mode 100644 index 00000000000..5bd744f6fc3 --- /dev/null +++ b/regression/cbmc-cpp/virtual13/main.cpp @@ -0,0 +1,29 @@ +struct A +{ + virtual int f() + { + return 1; + } +}; +struct B +{ + virtual int f() + { + return 2; + } +}; +struct C : A, B +{ + virtual int f() + { + return 3; + } +}; + +int main(int argc, char *argv[]) +{ + C c; + C c2(c); + assert(((A &)c2).f() == ((B &)c2).f()); + return 0; +} diff --git a/regression/cbmc-cpp/virtual13/test.desc b/regression/cbmc-cpp/virtual13/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/virtual13/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/virtual14/main.cpp b/regression/cbmc-cpp/virtual14/main.cpp similarity index 53% rename from regression/cpp-from-CVS/virtual14/main.cpp rename to regression/cbmc-cpp/virtual14/main.cpp index 699a2459ab2..79eb384e86f 100644 --- a/regression/cpp-from-CVS/virtual14/main.cpp +++ b/regression/cbmc-cpp/virtual14/main.cpp @@ -5,39 +5,38 @@ struct T class A { - public: +public: int a; - virtual void f( T t1, T& t2) + virtual void f(T t1, T &t2) { t2.x = t1.x; t2.y = t1.y; } }; - class B { - public: +public: int b; - virtual void f(T t1, T& t2) + virtual void f(T t1, T &t2) { t2.x = t1.y; t2.y = t1.x; } }; -class C: public A , public B +class C : public A, public B { public: - virtual void f(T t1, T& t2) + virtual void f(T t1, T &t2) { - t2.x = t1.x+1; - t2.y = t1.y+1; + t2.x = t1.x + 1; + t2.y = t1.y + 1; } }; -int main(int argc, char* argv[]) +int main(int argc, char *argv[]) { A a; B b; @@ -56,19 +55,18 @@ int main(int argc, char* argv[]) t2.x = t2.y = 0; c.f(t1, t2); - assert(t2.x == t1.x+1 && t2.y == t1.y+1); + assert(t2.x == t1.x + 1 && t2.y == t1.y + 1); t2.x = t2.y = 0; - ((A*)&c)->f(t1, t2); - assert(t2.x == t1.x+1 && t2.y == t1.y+1); + ((A *)&c)->f(t1, t2); + assert(t2.x == t1.x + 1 && t2.y == t1.y + 1); t2.x = t2.y = 0; - c.b = 1; - assert(((B*)&c)->b == 1); + assert(((B *)&c)->b == 1); - ((B*)&c)->f(t1, t2); - assert(t2.x == t1.x+1 && t2.y == t1.y+1); + ((B *)&c)->f(t1, t2); + assert(t2.x == t1.x + 1 && t2.y == t1.y + 1); t2.x = t2.y = 0; return 0; diff --git a/regression/cbmc-cpp/virtual14/test.desc b/regression/cbmc-cpp/virtual14/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/virtual14/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/virtual15/main.cpp b/regression/cbmc-cpp/virtual15/main.cpp new file mode 100644 index 00000000000..578b4d9599e --- /dev/null +++ b/regression/cbmc-cpp/virtual15/main.cpp @@ -0,0 +1,47 @@ +// #include +// #include +struct A +{ + virtual int f() + { + return 1; + } + virtual int g() + { + return 1; + } +}; + +struct B : A +{ + int f() + { + return 2; + } +}; + +struct C : B +{ +}; + +struct D : C +{ + int g() + { + return 3; + } +}; + +int main() +{ + D d; + + assert(d.f() == 2); + assert(d.g() == 3); + assert(((C *)(&d))->f() == 2); + assert(((B *)(&d))->g() == 3); + assert(((B *)(&d))->f() == 2); + assert(((B *)(&d))->g() == 3); + assert(((A *)(&d))->f() == 2); + assert(((A *)(&d))->g() == 3); +} diff --git a/regression/cbmc-cpp/virtual15/test.desc b/regression/cbmc-cpp/virtual15/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/virtual15/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cpp-from-CVS/virtual2/main.cpp b/regression/cbmc-cpp/virtual2/main.cpp similarity index 60% rename from regression/cpp-from-CVS/virtual2/main.cpp rename to regression/cbmc-cpp/virtual2/main.cpp index 9ef8f7de453..dd4638dde11 100644 --- a/regression/cpp-from-CVS/virtual2/main.cpp +++ b/regression/cbmc-cpp/virtual2/main.cpp @@ -1,3 +1,4 @@ +#include int g; class X @@ -10,11 +11,11 @@ class X int X::f() { - g=10; - m=1; + g = 10; + m = 1; } -class Y:public X +class Y : public X { }; @@ -24,5 +25,5 @@ int main() y.f(); - assert(g==10); + assert(g == 10); } diff --git a/regression/cbmc-cpp/virtual2/test.desc b/regression/cbmc-cpp/virtual2/test.desc new file mode 100644 index 00000000000..fb16a88c617 --- /dev/null +++ b/regression/cbmc-cpp/virtual2/test.desc @@ -0,0 +1,8 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/virtual3/main.cpp b/regression/cbmc-cpp/virtual3/main.cpp new file mode 100644 index 00000000000..bcdf1c6cf6e --- /dev/null +++ b/regression/cbmc-cpp/virtual3/main.cpp @@ -0,0 +1,20 @@ +class B +{ +public: + virtual int f() + { + return 0; + } +}; + +void toBr(B &b) +{ + assert(b.f() == 0); +} + +int main() +{ + B b; + // assert(b.f()==0); + toBr(b); +} diff --git a/regression/cpp-from-CVS/virtual3/test.desc b/regression/cbmc-cpp/virtual3/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual3/test.desc rename to regression/cbmc-cpp/virtual3/test.desc diff --git a/regression/cbmc-cpp/virtual4/main.cpp b/regression/cbmc-cpp/virtual4/main.cpp new file mode 100644 index 00000000000..86b2b517d64 --- /dev/null +++ b/regression/cbmc-cpp/virtual4/main.cpp @@ -0,0 +1,26 @@ +#include + +class B +{ +public: + virtual int f() + { + return 0; + } +}; + +class A : public B +{ +public: + int f() + { + return 1; + } +}; + +int main() +{ + A a; + assert(a.A::f() == 1); + assert(a.B::f() == 0); +} diff --git a/regression/cbmc-cpp/virtual4/test.desc b/regression/cbmc-cpp/virtual4/test.desc new file mode 100644 index 00000000000..6666d172f47 --- /dev/null +++ b/regression/cbmc-cpp/virtual4/test.desc @@ -0,0 +1,8 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- +^warning: ignoring diff --git a/regression/cbmc-cpp/virtual5/main.cpp b/regression/cbmc-cpp/virtual5/main.cpp new file mode 100644 index 00000000000..81ae3afbed2 --- /dev/null +++ b/regression/cbmc-cpp/virtual5/main.cpp @@ -0,0 +1,25 @@ +class B +{ +public: + virtual int f() const + { + return 0; + } +}; + +class A : public B +{ +public: + int f() + { + return 1; + } +}; + +int main() +{ + A a; + B b = (B)a; + assert(b.f() == 0); + assert(a.f() == 1); +} diff --git a/regression/cpp-from-CVS/virtual5/test.desc b/regression/cbmc-cpp/virtual5/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual5/test.desc rename to regression/cbmc-cpp/virtual5/test.desc diff --git a/regression/cpp-from-CVS/virtual6/main.cpp b/regression/cbmc-cpp/virtual6/main.cpp similarity index 61% rename from regression/cpp-from-CVS/virtual6/main.cpp rename to regression/cbmc-cpp/virtual6/main.cpp index 82a4fbd0e08..6cc8a0bf814 100644 --- a/regression/cpp-from-CVS/virtual6/main.cpp +++ b/regression/cbmc-cpp/virtual6/main.cpp @@ -6,7 +6,7 @@ class B virtual int f() const; }; -class A: public B +class A : public B { public: int f() const; @@ -17,19 +17,17 @@ int B::f() const return 0; } - int A::f() const { return 1; } - int main() { A a; - B b = (B) a; - B* pB = (B*) &a; - assert(b.f()==0); - assert(pB->f()==1); - assert(a.f()==1); + B b = (B)a; + B *pB = (B *)&a; + assert(b.f() == 0); + assert(pB->f() == 1); + assert(a.f() == 1); } diff --git a/regression/cpp-from-CVS/virtual6/test.desc b/regression/cbmc-cpp/virtual6/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual6/test.desc rename to regression/cbmc-cpp/virtual6/test.desc diff --git a/regression/cpp-from-CVS/virtual7/main.cpp b/regression/cbmc-cpp/virtual7/main.cpp similarity index 53% rename from regression/cpp-from-CVS/virtual7/main.cpp rename to regression/cbmc-cpp/virtual7/main.cpp index baebdf96571..e6381faab8e 100644 --- a/regression/cpp-from-CVS/virtual7/main.cpp +++ b/regression/cbmc-cpp/virtual7/main.cpp @@ -1,17 +1,23 @@ class A { - public: - virtual int number(){return 0;} +public: + virtual int number() + { + return 0; + } }; -class B: A +class B : A { - public: - int number() {return 1;} +public: + int number() + { + return 1; + } void test() { int n1 = number(); - assert(n1==1); + assert(n1 == 1); int n2 = ::A::number(); assert(n2 == 0); } diff --git a/regression/cpp-from-CVS/virtual7/test.desc b/regression/cbmc-cpp/virtual7/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual7/test.desc rename to regression/cbmc-cpp/virtual7/test.desc diff --git a/regression/cbmc-cpp/virtual8/main.cpp b/regression/cbmc-cpp/virtual8/main.cpp new file mode 100644 index 00000000000..82b0b344fa8 --- /dev/null +++ b/regression/cbmc-cpp/virtual8/main.cpp @@ -0,0 +1,28 @@ +int g1; +int g2; + +class A +{ +public: + virtual ~A() + { + g1 = g2 + 1; + } +}; + +class B : public A +{ +public: + ~B() + { + g2 = 1; + } +}; + +int main() +{ + A *pA = new B(); + delete pA; + assert(g2 == 1); + assert(g1 == 2); +} diff --git a/regression/cpp-from-CVS/virtual8/test.desc b/regression/cbmc-cpp/virtual8/test.desc similarity index 100% rename from regression/cpp-from-CVS/virtual8/test.desc rename to regression/cbmc-cpp/virtual8/test.desc diff --git a/regression/cbmc-cpp/virtual9/main.cpp b/regression/cbmc-cpp/virtual9/main.cpp new file mode 100644 index 00000000000..6d1718c7f1f --- /dev/null +++ b/regression/cbmc-cpp/virtual9/main.cpp @@ -0,0 +1,18 @@ +#include +struct A +{ + virtual int &func(int &i) + { + return i; + } +}; + +int main() +{ + A a; + int i = 0; + int j = 1; + + a.func(i) = j; + assert(i == j); +} diff --git a/regression/cbmc-cpp/virtual9/test.desc b/regression/cbmc-cpp/virtual9/test.desc new file mode 100644 index 00000000000..307a2ce0d75 --- /dev/null +++ b/regression/cbmc-cpp/virtual9/test.desc @@ -0,0 +1,7 @@ +CORE winbug macos-assert-broken +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +^VERIFICATION SUCCESSFUL$ +-- diff --git a/regression/cpp-from-CVS/Anonymous_members1/main.cpp b/regression/cpp-from-CVS/Anonymous_members1/main.cpp deleted file mode 100644 index 6a0998beca5..00000000000 --- a/regression/cpp-from-CVS/Anonymous_members1/main.cpp +++ /dev/null @@ -1,26 +0,0 @@ -typedef unsigned DWORD; -typedef signed LONG; -typedef long long LONGLONG; - -typedef union _LARGE_INTEGER { - struct { - DWORD LowPart; - LONG HighPart; - }; - struct { - DWORD LowPart; - LONG HighPart; - } u; - - LONGLONG QuadPart; -} LARGE_INTEGER; - -int main() -{ - LARGE_INTEGER l; - - l.QuadPart=1; - l.LowPart=2; - l.u.LowPart=3; - assert(l.LowPart==3); -} diff --git a/regression/cpp-from-CVS/Array1/main.cpp b/regression/cpp-from-CVS/Array1/main.cpp deleted file mode 100644 index bf43cb7c52f..00000000000 --- a/regression/cpp-from-CVS/Array1/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -int y[5][4][3][2]; - -int main() -{ - for(int i=0; i<5; i++) - for(int j=0; j<4; j++) - for(int k=0; k<3; k++) - for(int l=0; l<2; l++) - y[i][j][k][l]=2; -} diff --git a/regression/cpp-from-CVS/Array2/main.cpp b/regression/cpp-from-CVS/Array2/main.cpp deleted file mode 100644 index a9910788ebb..00000000000 --- a/regression/cpp-from-CVS/Array2/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -int y[2][3][4][5]; - -int main() -{ - for(int i=0; i<5; i++) - for(int j=0; j<4; j++) - for(int k=0; k<3; k++) - for(int l=0; l<2; l++) - y[i][j][k][l]=2; // out-of-bounds -} diff --git a/regression/cpp-from-CVS/Array3/main.cpp b/regression/cpp-from-CVS/Array3/main.cpp deleted file mode 100644 index fa56e6fa264..00000000000 --- a/regression/cpp-from-CVS/Array3/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -struct C -{ - static const char * array[1]; -}; - -const char * C::array[1] = { "HELLO" }; - -int main(int argc, const char* argv[]) -{ - assert(*C::array[0] == 'H'); -} diff --git a/regression/cpp-from-CVS/Comma_Operator1/main.cpp b/regression/cpp-from-CVS/Comma_Operator1/main.cpp deleted file mode 100644 index 1a768ab5ae6..00000000000 --- a/regression/cpp-from-CVS/Comma_Operator1/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -int main() -{ - int s=0; - int t=0; - t=(s=3, s+2); - assert(s==3); - assert(t==5); -} diff --git a/regression/cpp-from-CVS/ConditionalExpression1/main.cpp b/regression/cpp-from-CVS/ConditionalExpression1/main.cpp deleted file mode 100644 index 2cb27b71ebc..00000000000 --- a/regression/cpp-from-CVS/ConditionalExpression1/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -int main() -{ - bool b; - int a = 0; - int c = 0; - - b ? a += 1 : c +=1; - - assert(a == 1 || a == 0); - assert(c == 1 || c == 0); - assert( a != c); -} diff --git a/regression/cpp-from-CVS/Constructor1/main.cpp b/regression/cpp-from-CVS/Constructor1/main.cpp deleted file mode 100644 index 134b4176717..00000000000 --- a/regression/cpp-from-CVS/Constructor1/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -class t1 -{ -public: - int i; - - t1() { i=1; } -}; - -class t2 -{ -public: - int i; - - t2():i(2) { } -}; - -class t3 -{ -public: - int i; - - t3(); -}; - -t3::t3():i(3) -{ -} - -int main() -{ - t1 instance1; - assert(instance1.i==1); - - t2 instance2; - assert(instance2.i==2); - - t2 *p=new t2; - assert(p->i==2); - delete p; - - t3 instance3; - assert(instance3.i==3); -} diff --git a/regression/cpp-from-CVS/Constructor12/main.cpp b/regression/cpp-from-CVS/Constructor12/main.cpp deleted file mode 100644 index 3158f9a553c..00000000000 --- a/regression/cpp-from-CVS/Constructor12/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -struct A -{ - int i; - A():i(10) {} - private: - A(const A& a); // disabled -}; - - -class B: A { - public: - B(){}; - int get_i() {return i;} - private: - B(B& b); // disabled -}; - -int main() -{ - B b; - assert(b.get_i() == 10); -} diff --git a/regression/cpp-from-CVS/Constructor13/main.cpp b/regression/cpp-from-CVS/Constructor13/main.cpp deleted file mode 100644 index cabf296c968..00000000000 --- a/regression/cpp-from-CVS/Constructor13/main.cpp +++ /dev/null @@ -1,35 +0,0 @@ -int g; -class A { - public: - A(int i){g=i;}; - private: - A(); -}; - -class B: A { - public: - typedef A base_type; - typedef B this_type; - B():base_type(10) {} - B(const this_type& b): A(20) {g++;} -}; - -class C: B -{ - typedef B base_type; - typedef C this_type; - public: - C(): base_type() {} - C(const base_type& b): base_type(b){g++;} -}; - - -C c; - -int main() -{ - assert(g==10); - B b; - C c2 = b; - assert(g==22); -} diff --git a/regression/cpp-from-CVS/Constructor15/main.cpp b/regression/cpp-from-CVS/Constructor15/main.cpp deleted file mode 100644 index c6e7dc4f3f6..00000000000 --- a/regression/cpp-from-CVS/Constructor15/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -class A -{ - public: - A(){}; - private: - A(const A&); // disabled - A& operator=(const A&); // disabled -}; - -class B: public A -{ -}; - - -int main() -{ - B b; // ok -} diff --git a/regression/cpp-from-CVS/Constructor16/main.cpp b/regression/cpp-from-CVS/Constructor16/main.cpp deleted file mode 100644 index 75e996d8be2..00000000000 --- a/regression/cpp-from-CVS/Constructor16/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -class A -{ -public: - A(){}; - -private: - A(const A&); // disabled - A& operator=(const A&); // disabled -}; - -class B: public A -{ -}; - - -int main() -{ - B b1, b2; - b1 = b2; // not ok -} diff --git a/regression/cpp-from-CVS/Constructor17/main.cpp b/regression/cpp-from-CVS/Constructor17/main.cpp deleted file mode 100644 index abcec93d2c1..00000000000 --- a/regression/cpp-from-CVS/Constructor17/main.cpp +++ /dev/null @@ -1,24 +0,0 @@ -class C -{ - public: - C(int& v):v(v) {} - int v; -}; - -struct D -{ - int r; -}; - -int main(int argc, char* argv[]) -{ - int i=10; - int& ref = i; - C* pc = new C((char&)ref); - assert(pc->v == 10); - D d; - d.r = 10; - D& ref_d = d; - D* pd = new D(ref_d); - assert(pd->r == 10); -} diff --git a/regression/cpp-from-CVS/Constructor3/main.cpp b/regression/cpp-from-CVS/Constructor3/main.cpp deleted file mode 100644 index 68403e21ef9..00000000000 --- a/regression/cpp-from-CVS/Constructor3/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -class x -{ -public: - x(); - x(int z); - int i; -}; - -x::x():i(1) { } -x::x(int z):i(z) { } - -int main() -{ - x a(5); - assert(a.i==5); -} diff --git a/regression/cpp-from-CVS/Constructor5/main.cpp b/regression/cpp-from-CVS/Constructor5/main.cpp deleted file mode 100644 index 9d90aed92a4..00000000000 --- a/regression/cpp-from-CVS/Constructor5/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -class x -{ -private: - int i; - -public: - x(); - - int get_i() { return i; } -}; - -x::x():i(1) -{ -} - -int main() -{ - x a; - assert(a.get_i()==1); -} diff --git a/regression/cpp-from-CVS/Constructor6/main.cpp b/regression/cpp-from-CVS/Constructor6/main.cpp deleted file mode 100644 index a5f9a26f7a8..00000000000 --- a/regression/cpp-from-CVS/Constructor6/main.cpp +++ /dev/null @@ -1,23 +0,0 @@ -int counter=1; - -struct T -{ - int z; - - T(); -}; - -T::T() -{ - z=counter; - counter++; -} - -T a, b; - -int main() -{ - assert(counter==3); - assert(a.z==1); - assert(b.z==2); -} diff --git a/regression/cpp-from-CVS/Constructor9/main.cpp b/regression/cpp-from-CVS/Constructor9/main.cpp deleted file mode 100644 index 0bf1f800562..00000000000 --- a/regression/cpp-from-CVS/Constructor9/main.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// Default Initialization of arrays -class B -{ -public: - int i; - - B():i(1) - { - } -}; - -class A -{ -public: - B b_array[2]; - A() {} -}; - -B static_b_array[2]; - -int main() -{ - assert(static_b_array[0].i==1); - assert(static_b_array[1].i==1); - - A a; - - assert(a.b_array[0].i==1); - assert(a.b_array[1].i==1); - - B b_array[2]; - - assert(b_array[0].i==1); - assert(b_array[1].i==1); -} diff --git a/regression/cpp-from-CVS/Conversion10/main.cpp b/regression/cpp-from-CVS/Conversion10/main.cpp deleted file mode 100644 index 90acac074fc..00000000000 --- a/regression/cpp-from-CVS/Conversion10/main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -struct A {}; - -struct B { - explicit B(A&){} -}; - -void test(const B& b) {} - -int main() -{ - A a; - test(a); // conversion error -} diff --git a/regression/cpp-from-CVS/Conversion11/main.cpp b/regression/cpp-from-CVS/Conversion11/main.cpp deleted file mode 100644 index 09a4d27798d..00000000000 --- a/regression/cpp-from-CVS/Conversion11/main.cpp +++ /dev/null @@ -1 +0,0 @@ -char* func() {return (void*)0; } diff --git a/regression/cpp-from-CVS/Conversion6/main.cpp b/regression/cpp-from-CVS/Conversion6/main.cpp deleted file mode 100644 index 53d3b28d240..00000000000 --- a/regression/cpp-from-CVS/Conversion6/main.cpp +++ /dev/null @@ -1,25 +0,0 @@ -struct A -{ - int i; -}; - -struct B: public A { - int j; -}; - -int func(A a) -{ - return a.i; -} - -int main() -{ - B b; - b.i = 1; - - assert((* ((A*)&b)).i == 1); // This works fine. - - int bi = func( * ((A*)&b)); // Satabs Ok. - // cbmc error - assert(bi == 1); -} diff --git a/regression/cpp-from-CVS/Conversion6/test.desc b/regression/cpp-from-CVS/Conversion6/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Conversion6/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion8/main.cpp b/regression/cpp-from-CVS/Conversion8/main.cpp deleted file mode 100644 index 2ae6dca55d8..00000000000 --- a/regression/cpp-from-CVS/Conversion8/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -int main() { - const char c[1] = {'c'}; - char* pc; - const char** pcc = &pc; // 1: not allowed - *pcc = &c; - *pc = 'C'; // 2: modifies a const object - assert(c[0]=='c'); -} diff --git a/regression/cpp-from-CVS/Conversion_Operator1/main.cpp b/regression/cpp-from-CVS/Conversion_Operator1/main.cpp deleted file mode 100644 index 8515bf5de2e..00000000000 --- a/regression/cpp-from-CVS/Conversion_Operator1/main.cpp +++ /dev/null @@ -1,33 +0,0 @@ -struct Char { - char c; - Char(char c):c(c){} -}; - -struct Int { - int i; - operator int& (); - Int(int i):i(i){} -}; - -Int::operator int&() {return i;} - -int main() -{ - Int I1(1); - int i1 = int(I1); - assert(i1==1); - - - Int I2(2); - int i2 = (int&)I2; - assert(i2==2); - - - Int I3(3); - int i3 =0; - i3 = I3; - assert(i3==3); - - Char C3(I3); - assert(C3.c==3); -} diff --git a/regression/cpp-from-CVS/Conversion_Operator2/main.cpp b/regression/cpp-from-CVS/Conversion_Operator2/main.cpp deleted file mode 100644 index 8dde5fdee8d..00000000000 --- a/regression/cpp-from-CVS/Conversion_Operator2/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -struct B -{ - int i; -}; - - -struct A { - B b; - A(int i) {b.i = i;} - operator B& () - { - return b; - } -}; - -int get_i(const B& b) {return b.i;} - -int main() -{ - A a(10); - assert(get_i(a)==10); -} diff --git a/regression/cpp-from-CVS/Conversion_Operator2/test.desc b/regression/cpp-from-CVS/Conversion_Operator2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Conversion_Operator2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion_Operator3/test.desc b/regression/cpp-from-CVS/Conversion_Operator3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Conversion_Operator3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Conversion_Operator4/main.cpp b/regression/cpp-from-CVS/Conversion_Operator4/main.cpp deleted file mode 100644 index cc76959191c..00000000000 --- a/regression/cpp-from-CVS/Conversion_Operator4/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -struct A -{ - static const int* const i = 0; - operator const int* const ()const - { - return i; - } -}; - -int main() -{ - A a; - assert((const int* const)a == A::i); -} diff --git a/regression/cpp-from-CVS/Conversion_Operator4/test.desc b/regression/cpp-from-CVS/Conversion_Operator4/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Conversion_Operator4/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Copy_Constructor1/main.cpp b/regression/cpp-from-CVS/Copy_Constructor1/main.cpp deleted file mode 100644 index fba333831b8..00000000000 --- a/regression/cpp-from-CVS/Copy_Constructor1/main.cpp +++ /dev/null @@ -1,23 +0,0 @@ -class A -{ - public: - A():i(0) {} - virtual int inc() {return ++i;} - int i; -}; - -class B: public A -{ - public: - int inc(){return i+=2;} -}; - -int main() -{ - B b; - int c = b.inc(); - assert(c==2); - A a=b; - c = a.inc(); - assert(c==3); -} diff --git a/regression/cpp-from-CVS/Copy_Constructor2/main.cpp b/regression/cpp-from-CVS/Copy_Constructor2/main.cpp deleted file mode 100644 index 95ad03af84c..00000000000 --- a/regression/cpp-from-CVS/Copy_Constructor2/main.cpp +++ /dev/null @@ -1,29 +0,0 @@ -class A -{ -public: - A():i(0) { } - virtual int inc() { return ++i; } - int i; -}; - -class B: public A -{ -public: - int inc() { return i+=2; } -}; - -int inc(A a) -{ - return a.inc(); -} - -int main() -{ - B b; - - int c = b.inc(); - assert(c==2); - - c = inc((A)b); - assert(c==3); -} diff --git a/regression/cpp-from-CVS/Copy_Operator1/main.cpp b/regression/cpp-from-CVS/Copy_Operator1/main.cpp deleted file mode 100644 index 134f610fc5d..00000000000 --- a/regression/cpp-from-CVS/Copy_Operator1/main.cpp +++ /dev/null @@ -1,27 +0,0 @@ -class A -{ - public: - int ar[2]; - A& operator=(const A& ref) - { - ar[0] = ref.ar[1]; - ar[1] = ref.ar[0]; - return *this; - } - -}; - -int main() -{ - A a1; - a1.ar[0]= 1; - a1.ar[1]= 2; - - A a2; - a2.ar[0]= 3; - a2.ar[1]= 4; - - a2 = a1; - assert(a2.ar[0]==a1.ar[1]); - assert(a2.ar[1]==a1.ar[0]); -} diff --git a/regression/cpp-from-CVS/Default_Arguments1/main.cpp b/regression/cpp-from-CVS/Default_Arguments1/main.cpp deleted file mode 100644 index 6c9ae18e7fe..00000000000 --- a/regression/cpp-from-CVS/Default_Arguments1/main.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// #include - -int f(int d=1) -{ - return d; -} - -int g(int x, int d=1, int q=2) -{ - return d; -} - -int global; - -int h(int &r=global) -{ - return r; -} - -void doit() -{ - assert(f()==1); - assert(f(2)==2); - assert(g(0)==1); - assert(g(1, 2)==2); - - global=10; - assert(h()==10); -} - -int main() -{ - doit(); -} diff --git a/regression/cpp-from-CVS/Default_Arguments1/test.desc b/regression/cpp-from-CVS/Default_Arguments1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Default_Arguments1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Default_Arguments2/test.desc b/regression/cpp-from-CVS/Default_Arguments2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Default_Arguments2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Destructor1/main.cpp b/regression/cpp-from-CVS/Destructor1/main.cpp deleted file mode 100644 index 205da5fe5e0..00000000000 --- a/regression/cpp-from-CVS/Destructor1/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -int g; - -class t1 -{ -public: - t1() { g=1; } - ~t1() { g=2; } -}; - -int main() -{ - assert(g==0); - - { - t1 instance1; - assert(g==1); - } - - assert(g==2); -} diff --git a/regression/cpp-from-CVS/Destructor3/test.desc b/regression/cpp-from-CVS/Destructor3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Destructor3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Destructor4/test.desc b/regression/cpp-from-CVS/Destructor4/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Destructor4/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Destructor5/test.desc b/regression/cpp-from-CVS/Destructor5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Destructor5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Destructor_with_PtrMember/test.desc b/regression/cpp-from-CVS/Destructor_with_PtrMember/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Destructor_with_PtrMember/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Float1/main.cpp b/regression/cpp-from-CVS/Float1/main.cpp deleted file mode 100644 index 1feb586ec55..00000000000 --- a/regression/cpp-from-CVS/Float1/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -int main(int argc, char* argv[]) -{ - float x = 0.1; - float y = 1.01; - assert(x+y >= 1.1); - - double s = x; - double t = 1; - assert(x+y >= 1.1); -} diff --git a/regression/cpp-from-CVS/Float1/test.desc b/regression/cpp-from-CVS/Float1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Float1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Friend1/test.desc b/regression/cpp-from-CVS/Friend1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Friend1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Friend3/main.cpp b/regression/cpp-from-CVS/Friend3/main.cpp deleted file mode 100644 index 71a47b40516..00000000000 --- a/regression/cpp-from-CVS/Friend3/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -class A { - friend void inc(A&); - friend int get(const A& a); - int i; -}; - - -void inc(A& a) {a.i++;} -int get(const A& a) {return a.i;} - -A a; - -int main() -{ - inc(a); - assert(get(a)==1); -} diff --git a/regression/cpp-from-CVS/Friend3/test.desc b/regression/cpp-from-CVS/Friend3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Friend3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Friend4/main.cpp b/regression/cpp-from-CVS/Friend4/main.cpp deleted file mode 100644 index f9fc322cec6..00000000000 --- a/regression/cpp-from-CVS/Friend4/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -class A { - int i; -}; - - -void inc(A& a) {a.i++;} -int get(const A& a) {return a.i;} - -A a; - -int main() -{ - inc(a); - assert(get(a)==1); -} diff --git a/regression/cpp-from-CVS/Friend5/test.desc b/regression/cpp-from-CVS/Friend5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Friend5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Friend6/main.cpp b/regression/cpp-from-CVS/Friend6/main.cpp deleted file mode 100644 index 5690728f38f..00000000000 --- a/regression/cpp-from-CVS/Friend6/main.cpp +++ /dev/null @@ -1,23 +0,0 @@ -class B; - -template -struct A { - int get_i(B& b); -}; - -class B { - int i; - public: - B():i(10) {} - friend class A; -}; - -template -int A::get_i(B& b) {return b.i;} - -int main() -{ - B b; - A a; - assert(a.get_i(b)==10); -} diff --git a/regression/cpp-from-CVS/Function_Arguments1/main.cpp b/regression/cpp-from-CVS/Function_Arguments1/main.cpp deleted file mode 100644 index 7288a563364..00000000000 --- a/regression/cpp-from-CVS/Function_Arguments1/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -inline void *memchr(void* __p, int __c, int __n) -{ - __p++; -} - -int main() -{ -} diff --git a/regression/cpp-from-CVS/Function_Arguments1/test.desc b/regression/cpp-from-CVS/Function_Arguments1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Function_Arguments1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Function_Arguments2/main.cpp b/regression/cpp-from-CVS/Function_Arguments2/main.cpp deleted file mode 100644 index 1887762b3e0..00000000000 --- a/regression/cpp-from-CVS/Function_Arguments2/main.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// test default arguments - -int f(int a, int b=2, int c=3) -{ - return c; -} - -class X{ -public: - int g(int a, int b, int c=3); -}; - -int X::g(int a, int b, int c) -{ - return c; -} - -int main() -{ - assert(f(1, 10, 100)==100); - assert(f(1, 10)==3); - assert(f(1)==3); - - X x; - assert(x.g(1, 2)==3); -} diff --git a/regression/cpp-from-CVS/Function_Arguments2/test.desc b/regression/cpp-from-CVS/Function_Arguments2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Function_Arguments2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Function_Arguments5/main.cpp b/regression/cpp-from-CVS/Function_Arguments5/main.cpp deleted file mode 100644 index c417646b161..00000000000 --- a/regression/cpp-from-CVS/Function_Arguments5/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -bool func(const int& i) {return false;} -bool func(const int* i) {return true;} - -int main() -{ - int k; - int& rk = k; - assert(!func(rk)); - assert(func(&k)); -} diff --git a/regression/cpp-from-CVS/Function_Arguments5/test.desc b/regression/cpp-from-CVS/Function_Arguments5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Function_Arguments5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Function_Pointer1/test.desc b/regression/cpp-from-CVS/Function_Pointer1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Function_Pointer1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion1/test.desc b/regression/cpp-from-CVS/Implicit_Conversion1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion2/main.cpp b/regression/cpp-from-CVS/Implicit_Conversion2/main.cpp deleted file mode 100644 index 6dcdf0a8d06..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion2/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -char func1(const char& c) -{ - return c; -} - - -int main() -{ - assert(func1((char)10)==10); - - int i(20); - assert(func1((char)i)==20); - -} diff --git a/regression/cpp-from-CVS/Implicit_Conversion3/main.cpp b/regression/cpp-from-CVS/Implicit_Conversion3/main.cpp deleted file mode 100644 index 0687793c6e5..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion3/main.cpp +++ /dev/null @@ -1,26 +0,0 @@ -struct A -{ - int i; - A():i(0) {} - A(int i):i(i){} -}; - -struct B -{ - int j; - B():j(0) {} - B(int j): j(j) {} - B(const A& a):j(a.i){} -}; - -B operator+(const B b1, B b2) -{ - return B( b1.j + b2.j ); -} - -int main() -{ - A a(10); - B b = a + a; - assert(b.j == 20); -} diff --git a/regression/cpp-from-CVS/Implicit_Conversion4/main.cpp b/regression/cpp-from-CVS/Implicit_Conversion4/main.cpp deleted file mode 100644 index 7609dfdce9a..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion4/main.cpp +++ /dev/null @@ -1,82 +0,0 @@ -struct B -{ - int j; - B(int j):j(j){} -}; - -struct A -{ - int i; - A(int i): i(i) {} - A(const B& b):i(b.j){} -}; - -struct C: public A -{ - C(int i): A(i){} -}; - - -int func1(const A& a) -{ - return a.i; -} - -int func2(A& a) -{ - return a.i; -} - -int func3(A a) -{ - return a.i; -} - -int main() -{ - A a1(10); - assert(func1(a1)==10); - assert(func2(a1)==10); - assert(func3(a1)==10); - - const A a2(20); - assert(func1(a2)==20); - assert(func3(a2)==20); - - A& r1 = a1; - assert(func1(r1)==10); - assert(func2(r1)==10); - assert(func3(r1)==10); - - const A& r2 = a1; - assert(func1(r2)==10); - assert(func3(r2)==10); - - B b1(30); - assert(func3(b1)==30); - - B& r3 = b1; - assert(func3(r3)==30); - - const B& r4 = b1; - assert(func3(r4)==30); - - C c1(40); - assert(func1(c1)==40); - assert(func2(c1)==40); - assert(func3(c1)==40); - - const C c2(50); - assert(func1(c2)==50); - assert(func3(c2)==50); - - C& r5 = c1; - assert(func1(r5)==40); - assert(func2(r5)==40); - assert(func3(r5)==40); - - const C& r6 = c2; - assert(func1(r6)==50); - assert(func3(r6)==50); - -} diff --git a/regression/cpp-from-CVS/Implicit_Conversion4/test.desc b/regression/cpp-from-CVS/Implicit_Conversion4/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion4/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion6/main.cpp b/regression/cpp-from-CVS/Implicit_Conversion6/main.cpp deleted file mode 100644 index dd3549747ac..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion6/main.cpp +++ /dev/null @@ -1,7 +0,0 @@ -bool f(const char *) {return true;} -bool f(int) {return false;} - -int main() -{ - assert(f("hello")); -} diff --git a/regression/cpp-from-CVS/Implicit_Conversion6/test.desc b/regression/cpp-from-CVS/Implicit_Conversion6/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion6/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion7/test.desc b/regression/cpp-from-CVS/Implicit_Conversion7/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion7/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Implicit_Conversion8/main.cpp b/regression/cpp-from-CVS/Implicit_Conversion8/main.cpp deleted file mode 100644 index 2868594a2ef..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion8/main.cpp +++ /dev/null @@ -1,39 +0,0 @@ -struct Bit { - bool b; - Bit(bool b=false):b(b) {} - Bit(const Bit& bit):b(bit.b) {} - -// operator bool() const {return b;} - - Bit& operator=(bool b) - { - this->b = b; - return *this; - } - - - Bit& operator =(const Bit& bit) - { - this->b = bit.b; - return *this; - } - - - friend const Bit operator ~(const Bit& bit) - { - Bit r; - r.b = ~bit.b; - return r; - } - - friend void b_not( Bit& r, const Bit& a ) - { r = (~a); } -}; - - -int main() -{ - Bit b1, b2; - b_not(b1, b2); - assert(b1.b != b2.b); -} diff --git a/regression/cpp-from-CVS/Implicit_Conversion9/main.cpp b/regression/cpp-from-CVS/Implicit_Conversion9/main.cpp deleted file mode 100644 index 39dc405df5b..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion9/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -enum foo {NOT_AFFECTED, FATAL_AFFECT, WARNING}; - -typedef struct { - foo SeverityType; -} BitDatabaseRecordStruct; - -const BitDatabaseRecordStruct BitDataBase [1] = -{ - {NOT_AFFECTED} -}; - -int main() -{ - return 0; -} diff --git a/regression/cpp-from-CVS/Implicit_Conversion9/test.desc b/regression/cpp-from-CVS/Implicit_Conversion9/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Implicit_Conversion9/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Inheritance1/test.desc b/regression/cpp-from-CVS/Inheritance1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Inheritance1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Inheritance3/test.desc b/regression/cpp-from-CVS/Inheritance3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Inheritance3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Inheritance4/main.cpp b/regression/cpp-from-CVS/Inheritance4/main.cpp deleted file mode 100644 index 58a95de0d34..00000000000 --- a/regression/cpp-from-CVS/Inheritance4/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -struct A{ - int x; - A(){} -}; - -struct B: public A{ - B(){} -}; - -int main() -{ - B b1, b2; - b1 = b2; - assert(b1.x == b2.x); -} diff --git a/regression/cpp-from-CVS/Inheritance4/test.desc b/regression/cpp-from-CVS/Inheritance4/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Inheritance4/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Initializer1/main.cpp b/regression/cpp-from-CVS/Initializer1/main.cpp deleted file mode 100644 index 7f0a99374f2..00000000000 --- a/regression/cpp-from-CVS/Initializer1/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include - -const char my_string[]="abc123"; - -int main() -{ - assert(my_string[0]=='a'); - assert(my_string[6]==0); - assert(sizeof(my_string)==7); -} diff --git a/regression/cpp-from-CVS/Initializer1/test.desc b/regression/cpp-from-CVS/Initializer1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Initializer1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Label0/test.desc b/regression/cpp-from-CVS/Label0/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Label0/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Makefile b/regression/cpp-from-CVS/Makefile deleted file mode 100644 index ffb0862dedd..00000000000 --- a/regression/cpp-from-CVS/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -default: tests.log - -test: - @../test.pl -c cbmc - -tests.log: ../test.pl - @../test.pl -c cbmc - -show: - @for dir in *; do \ - if [ -d "$$dir" ]; then \ - vim -o "$$dir/main.c" "$$dir/main.out"; \ - fi; \ - done; - -clean: - find . -name '*.out' -execdir $(RM) '{}' \; - find . -name '*.gb' -execdir $(RM) '{}' \; - $(RM) tests.log diff --git a/regression/cpp-from-CVS/Member_Access_in_Class/main.cpp b/regression/cpp-from-CVS/Member_Access_in_Class/main.cpp deleted file mode 100644 index 34899998764..00000000000 --- a/regression/cpp-from-CVS/Member_Access_in_Class/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -class t -{ -public: - void f() { i=1; } - - void g() { f(); } - - int i; -}; - -int main() -{ - t instance; - instance.g(); - assert(instance.i==1); -} diff --git a/regression/cpp-from-CVS/Member_Access_in_Class/test.desc b/regression/cpp-from-CVS/Member_Access_in_Class/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Member_Access_in_Class/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Multiple_Inheritance1/main.cpp b/regression/cpp-from-CVS/Multiple_Inheritance1/main.cpp deleted file mode 100644 index 802aa5f9683..00000000000 --- a/regression/cpp-from-CVS/Multiple_Inheritance1/main.cpp +++ /dev/null @@ -1,21 +0,0 @@ -struct A -{ - int i; -}; - -struct B { - int j; - void setJ(int j){this->j = j;} -}; - - -struct C: A, B { - int k; -}; - -int main() -{ - C c; - c.setJ(10); - assert(c.j==10); -} diff --git a/regression/cpp-from-CVS/Multiple_Inheritance2/main.cpp b/regression/cpp-from-CVS/Multiple_Inheritance2/main.cpp deleted file mode 100644 index cb076087222..00000000000 --- a/regression/cpp-from-CVS/Multiple_Inheritance2/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -struct A{ - int i; - A(){}; -}; -struct B: virtual A{}; -struct C: virtual A{}; -struct D: B, C {}; - -int main() -{ - D d; - d.i = 10; - assert(d.i == 10); -} diff --git a/regression/cpp-from-CVS/Multiple_Inheritance3/main.cpp b/regression/cpp-from-CVS/Multiple_Inheritance3/main.cpp deleted file mode 100644 index 6b031bbe595..00000000000 --- a/regression/cpp-from-CVS/Multiple_Inheritance3/main.cpp +++ /dev/null @@ -1,4 +0,0 @@ -struct A{int i;}; -struct B: A {}; -struct C: A {}; -struct D: virtual B, virtual C {}; // we do not allow this diff --git a/regression/cpp-from-CVS/Multiple_Inheritance4/main.cpp b/regression/cpp-from-CVS/Multiple_Inheritance4/main.cpp deleted file mode 100644 index e98a8cedcc8..00000000000 --- a/regression/cpp-from-CVS/Multiple_Inheritance4/main.cpp +++ /dev/null @@ -1,30 +0,0 @@ - struct ostream - { - ostream(int id): id(id) {} - ostream(const ostream&); // disabled - ostream& operator=(const ostream&); // disabled - int id; - }; - - struct istream - { - istream(int id): id(id) {} - istream(const istream&); // disabled - istream& operator=(const istream&); // disabled - int id; - }; - - struct iostream: ostream, istream - { - iostream(int id): ostream(id), istream(id) {} - iostream(const iostream&); // disabled - iostream& operator=(const iostream&); // disabled - }; - - -int main() -{ - iostream io(1); - assert(io.ostream::id == 1); - assert(io.istream::id == 1); -} diff --git a/regression/cpp-from-CVS/Mutable1/test.desc b/regression/cpp-from-CVS/Mutable1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Mutable1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Functions1/main.cpp b/regression/cpp-from-CVS/Overloading_Functions1/main.cpp deleted file mode 100644 index c7177926d30..00000000000 --- a/regression/cpp-from-CVS/Overloading_Functions1/main.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// get closest match - -struct T -{ -public: - T():x(0) { } - - int x; -}; - -int f(int i) { return 1; } -int f(const int *p) { return 2; } -int f(char i) { return 3; } -int f(struct T &t) { return 4; } -int f(const struct T &t) { return 5; } - -int main() -{ - int i; - char ch; - T t; - const T const_t; - - assert(f(i)==1); - assert(f(&i)==2); - assert(f(ch)==3); - assert(f(t)==4); - assert(f(const_t)==5); -} diff --git a/regression/cpp-from-CVS/Overloading_Functions1/test.desc b/regression/cpp-from-CVS/Overloading_Functions1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Functions1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Functions2/main.cpp b/regression/cpp-from-CVS/Overloading_Functions2/main.cpp deleted file mode 100644 index 56f13da463b..00000000000 --- a/regression/cpp-from-CVS/Overloading_Functions2/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -struct A { -}; - -struct B: A { -}; - -struct C: B { -}; - -bool f1(A&) {return true;} -bool f1(B&) {return false;} - -int main() -{ - C c; - assert(f1(c)==false); -} diff --git a/regression/cpp-from-CVS/Overloading_Functions3/test.desc b/regression/cpp-from-CVS/Overloading_Functions3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Functions3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Functions4/test.desc b/regression/cpp-from-CVS/Overloading_Functions4/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Functions4/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Increment1/test.desc b/regression/cpp-from-CVS/Overloading_Increment1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Increment1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Members1/test.desc b/regression/cpp-from-CVS/Overloading_Members1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Members1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators10/main.cpp b/regression/cpp-from-CVS/Overloading_Operators10/main.cpp deleted file mode 100644 index 5bb82e98875..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators10/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -struct A -{ - bool True(){return true;} -}; - -struct B -{ - A a; - A* operator->(){return &a;} -}; - -struct C -{ - B b; - B& operator->(){return b;} -}; - -int main() -{ - C c; - assert(c->True()); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators11/main.cpp b/regression/cpp-from-CVS/Overloading_Operators11/main.cpp deleted file mode 100644 index 83b333353e8..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators11/main.cpp +++ /dev/null @@ -1,21 +0,0 @@ -struct C { - bool b; - C(bool b):b(b){} -}; - -struct A { - C c1; - - A():c1(false) {} - const C* operator->() const {return &c1;} -}; - -struct B : A { - bool func() const { return (*this)->b;} -}; - -int main() -{ - const B b1; - assert(b1.func() == false); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators12/main.cpp b/regression/cpp-from-CVS/Overloading_Operators12/main.cpp deleted file mode 100644 index 19c84c54078..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators12/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -struct A { - bool operator << (const A&) const {return true;} - bool func(const A& a)const{ return operator <<(a);} -}; - -int main() -{ - A a; - assert(a.func(a)==true); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators12/test.desc b/regression/cpp-from-CVS/Overloading_Operators12/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators12/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators13/main.cpp b/regression/cpp-from-CVS/Overloading_Operators13/main.cpp deleted file mode 100644 index 7b18f5d61a0..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators13/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -struct A { - bool operator[](int index) {return true;} -}; - -struct B { - A a; - bool operator[](int index) {return false;} - bool func(){return a[0];} -}; - -int main() -{ - B b; - assert(b.func()==true); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators13/test.desc b/regression/cpp-from-CVS/Overloading_Operators13/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators13/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators14/main.cpp b/regression/cpp-from-CVS/Overloading_Operators14/main.cpp deleted file mode 100644 index 5a7244a4f6b..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators14/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -struct A -{ - typedef int INT; - int i; - operator INT() { return i;} - INT value(){return operator INT();} -}; - -int main() -{ - A a; - a.i = 20; - assert( a.value() == 20); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators16/main.cpp b/regression/cpp-from-CVS/Overloading_Operators16/main.cpp deleted file mode 100644 index 1ef26c04484..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators16/main.cpp +++ /dev/null @@ -1,24 +0,0 @@ -class module_name -{ - public: - operator const char*() ; - operator int(); - operator char(); - operator long long(); - operator unsigned int(); - operator bool(); -}; - -void f (module_name name) { - (const char*) name; - name .operator const char *(); - name .operator int(); - name .operator char(); - name .operator bool(); - name.operator unsigned int(); - name.operator long long(); -} - -int main(int argc, char* argv[]) -{ -} diff --git a/regression/cpp-from-CVS/Overloading_Operators2/main.cpp b/regression/cpp-from-CVS/Overloading_Operators2/main.cpp deleted file mode 100644 index 9e58e301bd0..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators2/main.cpp +++ /dev/null @@ -1,25 +0,0 @@ -class C -{ -public: - C(int _base):base(_base) { } - - int operator [] (int x) - { - return base+x; - } - - int operator [] (class Z &z) - { - return 0; - } - - int base; -}; - -int main() -{ - C c(1); - - assert(c[0]==1); - assert(c[2]==3); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators2/test.desc b/regression/cpp-from-CVS/Overloading_Operators2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators7/main.cpp b/regression/cpp-from-CVS/Overloading_Operators7/main.cpp deleted file mode 100644 index 0b09d0f9624..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators7/main.cpp +++ /dev/null @@ -1,21 +0,0 @@ -int g; - -struct A -{ - int i; - A(int i):i(i) {} - - friend bool operator==(const A& a1, const A& a2) - { - g=10; - return a1.i==a2.i; - } -}; - -int main() -{ - A a1(1); - A a2(2); - assert(!(a1 == a2)); - assert(g==10); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators7/test.desc b/regression/cpp-from-CVS/Overloading_Operators7/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators7/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Overloading_Operators8/main.cpp b/regression/cpp-from-CVS/Overloading_Operators8/main.cpp deleted file mode 100644 index fe018e737b6..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators8/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -struct A { - int i; -}; - -A& operator <<(A& a1, A& a2) -{ - a1.i=a2.i; - a2.i=0; - return a1; -} - -int main() -{ - A a1, a2; - a2.i = 400; - A a3(a1 << a2); - assert(a2.i==0); - assert(a3.i==a1.i); - assert(a1.i==400); -} diff --git a/regression/cpp-from-CVS/Overloading_Operators8/test.desc b/regression/cpp-from-CVS/Overloading_Operators8/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Overloading_Operators8/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Pointer_Conversion2/test.desc b/regression/cpp-from-CVS/Pointer_Conversion2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Pointer_Conversion2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Pointer_Conversion3/main.cpp b/regression/cpp-from-CVS/Pointer_Conversion3/main.cpp deleted file mode 100644 index e7a36e59709..00000000000 --- a/regression/cpp-from-CVS/Pointer_Conversion3/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -struct A { - int i; - -}; - -struct B -{ - int j; - int k; -}; - -int main() -{ - A* pa; - B* pb; - pb = static_cast(pa); // ill-formed -} diff --git a/regression/cpp-from-CVS/Pointer_To_Member1/test.desc b/regression/cpp-from-CVS/Pointer_To_Member1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Pointer_To_Member1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Pointer_To_Member2/main.cpp b/regression/cpp-from-CVS/Pointer_To_Member2/main.cpp deleted file mode 100644 index f28348526ab..00000000000 --- a/regression/cpp-from-CVS/Pointer_To_Member2/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -class A -{ - int a; -}; - -int f(A* pa, char i) {return i+1;} - -int main() -{ - int (A::* paf)(char) = &f; // ill-formed -} diff --git a/regression/cpp-from-CVS/Pointer_To_Member3/main.cpp b/regression/cpp-from-CVS/Pointer_To_Member3/main.cpp deleted file mode 100644 index f674920c66c..00000000000 --- a/regression/cpp-from-CVS/Pointer_To_Member3/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -class A -{ - public: - int a; - int f(char i){return i+1;} -}; - - -int main() -{ - int (* pf)(A*, char) = &A::f; // ill-formed -} diff --git a/regression/cpp-from-CVS/Pointer_To_Member4/main.cpp b/regression/cpp-from-CVS/Pointer_To_Member4/main.cpp deleted file mode 100644 index 5b36451b909..00000000000 --- a/regression/cpp-from-CVS/Pointer_To_Member4/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -class A -{ - public: - int f(){return 1;} -}; - -int main() -{ - int (A::* paf)() = &A::f; - A a; - (*paf)(&a); // ill-formed -} diff --git a/regression/cpp-from-CVS/Pointer_To_Member5/main.cpp b/regression/cpp-from-CVS/Pointer_To_Member5/main.cpp deleted file mode 100644 index f79f05c3c46..00000000000 --- a/regression/cpp-from-CVS/Pointer_To_Member5/main.cpp +++ /dev/null @@ -1,21 +0,0 @@ - -struct A -{ - int i; - int func(){return i;} -}; - -struct B -{ - A* pa; - int (A::* pmethod)(); - B(A* pa, int (A::* pmethod)()):pa(pa), pmethod(pmethod) {} - int eval(){return (pa->*pmethod)();} -}; - -int main() -{ - A a; - B b(&a, &A::func); - assert(b.eval() == a.i); -} diff --git a/regression/cpp-from-CVS/Pointer_To_Member5/test.desc b/regression/cpp-from-CVS/Pointer_To_Member5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Pointer_To_Member5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Protection1/main.cpp b/regression/cpp-from-CVS/Protection1/main.cpp deleted file mode 100644 index 5b0131782dc..00000000000 --- a/regression/cpp-from-CVS/Protection1/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -class A -{ - int i; - A(int i):i(i) {} - private: - A(); // disabled -}; - -class B: A -{ -}; diff --git a/regression/cpp-from-CVS/Protection2/main.cpp b/regression/cpp-from-CVS/Protection2/main.cpp deleted file mode 100644 index 02885d9e419..00000000000 --- a/regression/cpp-from-CVS/Protection2/main.cpp +++ /dev/null @@ -1,19 +0,0 @@ -struct A -{ - protected: - int i; -}; - -class B: A -{ - public: - void set(int i) {this->i = i;} - int get() const {return i;} -}; - -int main() -{ - B b; - b.set(0); - assert(b.get()== 0); -} diff --git a/regression/cpp-from-CVS/Protection2/test.desc b/regression/cpp-from-CVS/Protection2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Protection2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Protection3/main.cpp b/regression/cpp-from-CVS/Protection3/main.cpp deleted file mode 100644 index aa745b53f35..00000000000 --- a/regression/cpp-from-CVS/Protection3/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -class A -{ - int i; - - public: - class B - { - int get(const A& a){return a.i;} - }; -}; diff --git a/regression/cpp-from-CVS/Protection4/main.cpp b/regression/cpp-from-CVS/Protection4/main.cpp deleted file mode 100644 index edb5b11ead1..00000000000 --- a/regression/cpp-from-CVS/Protection4/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -struct A -{ - private: - int i; -}; - -class B: public A -{ - public: - void set(int i) {this->i = i;} - int get() const {return i;} -}; diff --git a/regression/cpp-from-CVS/Protection6/main.cpp b/regression/cpp-from-CVS/Protection6/main.cpp deleted file mode 100644 index 72f33b28e54..00000000000 --- a/regression/cpp-from-CVS/Protection6/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -class A { - static void func(){} -}; - -int main() -{ - A::func(); -} diff --git a/regression/cpp-from-CVS/Protection7/main.cpp b/regression/cpp-from-CVS/Protection7/main.cpp deleted file mode 100644 index 6194604583f..00000000000 --- a/regression/cpp-from-CVS/Protection7/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -struct A -{ - int i; - A(){}; - protected: - A(int i):i(i){} - -}; - -struct B: A -{ - B():A(0){} -}; - -B b; - -int main() -{ - assert(b.i==0); -} diff --git a/regression/cpp-from-CVS/Protection7/test.desc b/regression/cpp-from-CVS/Protection7/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Protection7/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Protection8/main.cpp b/regression/cpp-from-CVS/Protection8/main.cpp deleted file mode 100644 index b0b2de06b11..00000000000 --- a/regression/cpp-from-CVS/Protection8/main.cpp +++ /dev/null @@ -1,21 +0,0 @@ -struct A -{ - protected: - int i; - int get_i() {return i;} - - A(int i):i(i){} - -}; - -struct B: A -{ - B():A(0){} -}; - -B b; - -int main() -{ - assert(b.get_i()==0); -} diff --git a/regression/cpp-from-CVS/Qualifier2/test.desc b/regression/cpp-from-CVS/Qualifier2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Qualifier2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Reference2/main.cpp b/regression/cpp-from-CVS/Reference2/main.cpp deleted file mode 100644 index 69c74c1f18e..00000000000 --- a/regression/cpp-from-CVS/Reference2/main.cpp +++ /dev/null @@ -1,29 +0,0 @@ -int g; - -class X -{ -}; - -int &function() -{ - return g; -} - -int main() -{ - g=1; - function()=2; - assert(g==2); - - { - int *p=&g; - int &r=*p; - assert(r==2); - } - - { - X x; - X *p=&x; - X &r=*p; - } -} diff --git a/regression/cpp-from-CVS/Reference2/test.desc b/regression/cpp-from-CVS/Reference2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Reference2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Reference3/main.cpp b/regression/cpp-from-CVS/Reference3/main.cpp deleted file mode 100644 index 052233e98c7..00000000000 --- a/regression/cpp-from-CVS/Reference3/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -class A -{ - public: - int& i; - A(int &i):i(i) {} - private: - A& operator=(const A&); -}; - -int main() -{ - int var; - int& ref =var; - var = 10; - A a(var); - a.i = 20; - assert(var==20); -} diff --git a/regression/cpp-from-CVS/Reference3/test.desc b/regression/cpp-from-CVS/Reference3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Reference3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Reference4/main.cpp b/regression/cpp-from-CVS/Reference4/main.cpp deleted file mode 100644 index 9de7c1c0203..00000000000 --- a/regression/cpp-from-CVS/Reference4/main.cpp +++ /dev/null @@ -1,3 +0,0 @@ -class A{ - int& a; -}; diff --git a/regression/cpp-from-CVS/Reference5/main.cpp b/regression/cpp-from-CVS/Reference5/main.cpp deleted file mode 100644 index 7eb9f918bea..00000000000 --- a/regression/cpp-from-CVS/Reference5/main.cpp +++ /dev/null @@ -1,5 +0,0 @@ -class A -{ - int & a; - A():a(){} -}; diff --git a/regression/cpp-from-CVS/Reference6/test.desc b/regression/cpp-from-CVS/Reference6/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Reference6/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Reference7/main.cpp b/regression/cpp-from-CVS/Reference7/main.cpp deleted file mode 100644 index 34cacff40fb..00000000000 --- a/regression/cpp-from-CVS/Reference7/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ - -int main() -{ - int i = 8; - int* p = &i; - int*& rp = p; - assert(*rp == 8); -} diff --git a/regression/cpp-from-CVS/Reference7/test.desc b/regression/cpp-from-CVS/Reference7/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Reference7/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Reference8/main.cpp b/regression/cpp-from-CVS/Reference8/main.cpp deleted file mode 100644 index 865aff6e796..00000000000 --- a/regression/cpp-from-CVS/Reference8/main.cpp +++ /dev/null @@ -1,4 +0,0 @@ -int main() -{ - int *&* p; // parsing error -} diff --git a/regression/cpp-from-CVS/Resolver13/main.cpp b/regression/cpp-from-CVS/Resolver13/main.cpp deleted file mode 100644 index a8799debe84..00000000000 --- a/regression/cpp-from-CVS/Resolver13/main.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include - -struct A -{ - A* operator->() { return this; } - int one() { return 1; } - int one(int &i){ i = 1;} -}; - -struct B: public A -{ - A* operator->(){ return this; } -}; - -int main() -{ - B b; - assert(b->one() == 1); -} diff --git a/regression/cpp-from-CVS/Resolver6/test.desc b/regression/cpp-from-CVS/Resolver6/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Resolver6/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Resolver7/main.cpp b/regression/cpp-from-CVS/Resolver7/main.cpp deleted file mode 100644 index 2b3035def8c..00000000000 --- a/regression/cpp-from-CVS/Resolver7/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -extern const char hello []; - -bool func(const char* str) {return true;} -bool func(char* ) {return false;} - -int main() -{ - assert(func(hello)); -} - -const char hello[] = "hello"; diff --git a/regression/cpp-from-CVS/Resolver7/test.desc b/regression/cpp-from-CVS/Resolver7/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Resolver7/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Resolver8/test.desc b/regression/cpp-from-CVS/Resolver8/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Resolver8/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Resolver9/test.desc b/regression/cpp-from-CVS/Resolver9/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Resolver9/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Static_Member1/main.cpp b/regression/cpp-from-CVS/Static_Member1/main.cpp deleted file mode 100644 index 782d57862d7..00000000000 --- a/regression/cpp-from-CVS/Static_Member1/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -class B -{ -public: - static int A1; - static int A2; - static const int A3=20; - - // the const ones are good as array size - int table[A3]; -}; - -int B::A1=1; -int B::A2; - -int main() -{ - assert(B::A1==1); - assert(B::A2==0); // zero initializer - assert(B::A3==20); // in-class initializer -} diff --git a/regression/cpp-from-CVS/Static_Member1/test.desc b/regression/cpp-from-CVS/Static_Member1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Static_Member1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Static_Member_Function/test.desc b/regression/cpp-from-CVS/Static_Member_Function/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Static_Member_Function/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Static_Method1/main.cpp b/regression/cpp-from-CVS/Static_Method1/main.cpp deleted file mode 100644 index 630ef1979ee..00000000000 --- a/regression/cpp-from-CVS/Static_Method1/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -struct A -{ - static int Value(int v) {return v;} - static int Value(int v1, int v2){return 1;} -}; - -int main() -{ - A a; - assert(a.Value(0) == 0); -} diff --git a/regression/cpp-from-CVS/Static_Method1/test.desc b/regression/cpp-from-CVS/Static_Method1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Static_Method1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/String_Literal1/main.cpp b/regression/cpp-from-CVS/String_Literal1/main.cpp deleted file mode 100644 index be5b566b2dc..00000000000 --- a/regression/cpp-from-CVS/String_Literal1/main.cpp +++ /dev/null @@ -1,5 +0,0 @@ -int main() -{ - const char *p="asd" "1"; - assert(p[3]=='1'); -} diff --git a/regression/cpp-from-CVS/String_Literal1/test.desc b/regression/cpp-from-CVS/String_Literal1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/String_Literal1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates1/test.desc b/regression/cpp-from-CVS/Templates1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates10/test.desc b/regression/cpp-from-CVS/Templates10/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates10/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates11/test.desc b/regression/cpp-from-CVS/Templates11/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates11/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates12/test.desc b/regression/cpp-from-CVS/Templates12/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates12/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates13/test.desc b/regression/cpp-from-CVS/Templates13/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates13/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates14/main.cpp b/regression/cpp-from-CVS/Templates14/main.cpp deleted file mode 100644 index 05ee58aef23..00000000000 --- a/regression/cpp-from-CVS/Templates14/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ - -namespace n1 -{ - template - struct A{ - S a; - }; -} - -template -struct B{ - n1::A b; -}; - -int main() -{ - B o; - o.b.a = true; - assert(o.b.a==true); -}; diff --git a/regression/cpp-from-CVS/Templates14/test.desc b/regression/cpp-from-CVS/Templates14/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates14/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates17/test.desc b/regression/cpp-from-CVS/Templates17/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates17/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates18/test.desc b/regression/cpp-from-CVS/Templates18/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates18/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates19/test.desc b/regression/cpp-from-CVS/Templates19/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates19/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates20/main.cpp b/regression/cpp-from-CVS/Templates20/main.cpp deleted file mode 100644 index cfef1b4ae8c..00000000000 --- a/regression/cpp-from-CVS/Templates20/main.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include - -struct A -{ - int i; - A():i(10) {} - - private: - A(const A& a); // disabled -}; - -template -class B: A { - public: - T t; - B(){}; - int get_i() {return i;} - private: - B(B& b); // disabled -}; - - -template <> -class B: A { - public: - bool b; - B():b(true) {} - int get_i() {return i;} - private: - B(B& b); // disabled -}; - - -B b1; -int main() -{ - assert(b1.t == 0); - B b2; - assert(b2.b == true); -} diff --git a/regression/cpp-from-CVS/Templates21/test.desc b/regression/cpp-from-CVS/Templates21/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates21/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates22/main.cpp b/regression/cpp-from-CVS/Templates22/main.cpp deleted file mode 100644 index 49a57fbd5fe..00000000000 --- a/regression/cpp-from-CVS/Templates22/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -template -T func(T* t) {return *t;} - -template -T func(T t) { return t;} - -int main() -{ - int x = 10; - assert(func(&x) == func(x)); -} diff --git a/regression/cpp-from-CVS/Templates22/test.desc b/regression/cpp-from-CVS/Templates22/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates22/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates23/test.desc b/regression/cpp-from-CVS/Templates23/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates23/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates24/test.desc b/regression/cpp-from-CVS/Templates24/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates24/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates25/main.cpp b/regression/cpp-from-CVS/Templates25/main.cpp deleted file mode 100644 index 205eaeb8be7..00000000000 --- a/regression/cpp-from-CVS/Templates25/main.cpp +++ /dev/null @@ -1,7 +0,0 @@ -template -bool True() {return true;} - -int main() -{ - assert(True()==true); -} diff --git a/regression/cpp-from-CVS/Templates25/test.desc b/regression/cpp-from-CVS/Templates25/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates25/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates26/test.desc b/regression/cpp-from-CVS/Templates26/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates26/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates28/test.desc b/regression/cpp-from-CVS/Templates28/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates28/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates3/test.desc b/regression/cpp-from-CVS/Templates3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates30/test.desc b/regression/cpp-from-CVS/Templates30/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates30/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates32/main.cpp b/regression/cpp-from-CVS/Templates32/main.cpp deleted file mode 100644 index fcbf2fc3a51..00000000000 --- a/regression/cpp-from-CVS/Templates32/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include - -enum argt { ONE, TWO }; - -template < argt V = TWO, class T = argt > -class A -{ - public: - A():v(V) {} - T v; -}; - -int main() -{ - A<> a; - assert (a.v == TWO); - return 0; -} diff --git a/regression/cpp-from-CVS/Templates33/test.desc b/regression/cpp-from-CVS/Templates33/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates33/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates35/main.cpp b/regression/cpp-from-CVS/Templates35/main.cpp deleted file mode 100644 index 4a8d353a501..00000000000 --- a/regression/cpp-from-CVS/Templates35/main.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include - -template -class X -{ -public: - // the :: should trigger elaboration of Z - enum { e = T::e }; -}; - -template -class Y:public X -{ -public: - enum { e = X::e } ; -}; - -template -class Z -{ -public: - enum { e = 1 }; -}; - -Y > y; - -int main() -{ - assert(y.e==1); -} diff --git a/regression/cpp-from-CVS/Templates35/test.desc b/regression/cpp-from-CVS/Templates35/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates35/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates5/main.cpp b/regression/cpp-from-CVS/Templates5/main.cpp deleted file mode 100644 index 4b2178ac1d4..00000000000 --- a/regression/cpp-from-CVS/Templates5/main.cpp +++ /dev/null @@ -1,19 +0,0 @@ -template class Y { -public: - void f() { - T::A++; // T::A is not a type name! - } -}; - -class B -{ - public: - static int A; -}; - -int B::A = 0; -int main() { - Y y; - y.f(); - assert(B::A == 1); -} diff --git a/regression/cpp-from-CVS/Templates5/test.desc b/regression/cpp-from-CVS/Templates5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Templates6/main.cpp b/regression/cpp-from-CVS/Templates6/main.cpp deleted file mode 100644 index 48169e50a7f..00000000000 --- a/regression/cpp-from-CVS/Templates6/main.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include - -int g; - -template -struct A -{ - T t; - ~A() { g++; } -}; - -struct B -{ - B() { g=10; } - ~B() { g=20; } -}; - -struct C -{ - A a; -}; - -struct D: A -{ -}; - -int main() -{ - { - C c; - assert(g==10); - } - - assert(g==20); - - { - D d; - assert(g==10); - } - - assert(g==20); -} diff --git a/regression/cpp-from-CVS/Templates8/test.desc b/regression/cpp-from-CVS/Templates8/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Templates8/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Typecast1/test.desc b/regression/cpp-from-CVS/Typecast1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Typecast1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Typedef1/main.cpp b/regression/cpp-from-CVS/Typedef1/main.cpp deleted file mode 100644 index b273f0029d7..00000000000 --- a/regression/cpp-from-CVS/Typedef1/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -struct A { - int i; - A(int i):i(i){} -}; - -class B: public A -{ - public: - typedef A _A; - B():_A(0){} -}; - -int main() -{ - B b; - assert(b.i==0); -} diff --git a/regression/cpp-from-CVS/Typedef1/test.desc b/regression/cpp-from-CVS/Typedef1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Typedef1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Typedef2/test.desc b/regression/cpp-from-CVS/Typedef2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Typedef2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Typedef3/test.desc b/regression/cpp-from-CVS/Typedef3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Typedef3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/Zero_Initializer1/main.cpp b/regression/cpp-from-CVS/Zero_Initializer1/main.cpp deleted file mode 100644 index f0c08a8babf..00000000000 --- a/regression/cpp-from-CVS/Zero_Initializer1/main.cpp +++ /dev/null @@ -1,24 +0,0 @@ -int g; -int **p; - -struct -{ - int m; -} s; - -struct B { - static int x; -}; - -int B::x; - -char a[10]; - -int main() -{ - assert(g==0); - assert(p==0); - assert(s.m==0); - assert(a[3]==0); - assert(B::x==0); -} diff --git a/regression/cpp-from-CVS/Zero_Initializer1/test.desc b/regression/cpp-from-CVS/Zero_Initializer1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/Zero_Initializer1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/argv1/main.cpp b/regression/cpp-from-CVS/argv1/main.cpp deleted file mode 100644 index 50005130da9..00000000000 --- a/regression/cpp-from-CVS/argv1/main.cpp +++ /dev/null @@ -1,9 +0,0 @@ -int main(int argc, char **argv) { - char *x; - - // there must be at least one - x=argv[0]; - - // last one must be NULL - assert(argv[argc]==0); -} diff --git a/regression/cpp-from-CVS/argv1/test.desc b/regression/cpp-from-CVS/argv1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/argv1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/const_cast1/main.cpp b/regression/cpp-from-CVS/const_cast1/main.cpp deleted file mode 100644 index a9c87d2d255..00000000000 --- a/regression/cpp-from-CVS/const_cast1/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -int main() -{ - int i = 10; - const int& ri = i; - const_cast(ri) = 11; - assert(i == 11); - - const int* pi = &i; - *const_cast(pi) = 12; - assert(i==12); -} diff --git a/regression/cpp-from-CVS/const_cast1/test.desc b/regression/cpp-from-CVS/const_cast1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/const_cast1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/for1/main.cpp b/regression/cpp-from-CVS/for1/main.cpp deleted file mode 100644 index fceefb1d29a..00000000000 --- a/regression/cpp-from-CVS/for1/main.cpp +++ /dev/null @@ -1,9 +0,0 @@ -int main() -{ - int i; - for(i=0; i<10; i++) - { - assert(i<10); - } - -} diff --git a/regression/cpp-from-CVS/for1/test.desc b/regression/cpp-from-CVS/for1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/for1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/initialization1/test.desc b/regression/cpp-from-CVS/initialization1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/initialization1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/initialization2/main.cpp b/regression/cpp-from-CVS/initialization2/main.cpp deleted file mode 100644 index 32f8ef37077..00000000000 --- a/regression/cpp-from-CVS/initialization2/main.cpp +++ /dev/null @@ -1,18 +0,0 @@ -class A -{ - public: - int a; - int b; - A(const A& r) {b =~r.b;} - A(){}; -}; - -A a1; -A a2 = a1; -int main() -{ - assert(a1.a==0); - assert(a2.a==0); - assert(a1.b==0); - assert(a2.b==~0); -}; diff --git a/regression/cpp-from-CVS/initialization3/main.cpp b/regression/cpp-from-CVS/initialization3/main.cpp deleted file mode 100644 index 49fa931c550..00000000000 --- a/regression/cpp-from-CVS/initialization3/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -class A -{ - public: - int i; - A(){} -}; - -int main() -{ - A a; - assert(a.i==0); -} diff --git a/regression/cpp-from-CVS/initialization5/test.desc b/regression/cpp-from-CVS/initialization5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/initialization5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/namespace1/main.cpp b/regression/cpp-from-CVS/namespace1/main.cpp deleted file mode 100644 index ec80f03b257..00000000000 --- a/regression/cpp-from-CVS/namespace1/main.cpp +++ /dev/null @@ -1,29 +0,0 @@ - -namespace test_space { - -int i; -} - -int test_space::j; - -void f() -{ - ::test_space::i=0; -} - -namespace test_space { - void g() - { - i=1; - j=2; - } -} - -using namespace test_space; - -int main() -{ - f(); - j=1; - assert(i==0); -} diff --git a/regression/cpp-from-CVS/namespace1/test.desc b/regression/cpp-from-CVS/namespace1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/namespace1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/namespace3/main.cpp b/regression/cpp-from-CVS/namespace3/main.cpp deleted file mode 100644 index 1510725fb37..00000000000 --- a/regression/cpp-from-CVS/namespace3/main.cpp +++ /dev/null @@ -1,11 +0,0 @@ -namespace std -{ - struct A {int i; }; -} - -std::A a; - -int main(int argc, char* argv[]) -{ - assert(a.i == 0); -} diff --git a/regression/cpp-from-CVS/namespace3/test.desc b/regression/cpp-from-CVS/namespace3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/namespace3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/operators/main.cpp b/regression/cpp-from-CVS/operators/main.cpp deleted file mode 100644 index b19aa87829a..00000000000 --- a/regression/cpp-from-CVS/operators/main.cpp +++ /dev/null @@ -1,28 +0,0 @@ -class I -{ - int i; - public: - int get() {return i;} - void set(int i) {this->i=i;} - I& operator<<=(const I& ref) {i <<= ref.i; return *this;} - I& operator>>=(const I& ref) {i >>= ref.i; return *this;} - I& operator+=(const I& ref) {i += ref.i; return *this;} - I& operator-=(const I& ref){i -= ref.i; return *this;} -}; - -int main() -{ - I i1, i2; - i1.set(1); - i2.set(2); - i2+=i1; - assert(i2.get()==3); - i2-=i1; - assert(i2.get()==2); - i2 <<= i1; - assert(i2.get()==4); - i2 >>= i1; - assert(i2.get()==2); - i2 = i1; - assert(i2.get()== 1); -} diff --git a/regression/cpp-from-CVS/operators/test.desc b/regression/cpp-from-CVS/operators/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/operators/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/reinterpret_cast2/main.cpp b/regression/cpp-from-CVS/reinterpret_cast2/main.cpp deleted file mode 100644 index c4a91859383..00000000000 --- a/regression/cpp-from-CVS/reinterpret_cast2/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -struct A { - int* pi; - -}; - -int main() -{ - A a; - const A* cpa = &a; - - int* ptr = reinterpret_cast(cpa->pi); - - return 0; - -} diff --git a/regression/cpp-from-CVS/reinterpret_cast2/test.desc b/regression/cpp-from-CVS/reinterpret_cast2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/reinterpret_cast2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/static_cast1/main.cpp b/regression/cpp-from-CVS/static_cast1/main.cpp deleted file mode 100644 index 0e06d85ac00..00000000000 --- a/regression/cpp-from-CVS/static_cast1/main.cpp +++ /dev/null @@ -1,9 +0,0 @@ -int main() -{ - // this is ok - double xd=2.3; - - int xi=static_cast(xd); - - assert(xi==2); -} diff --git a/regression/cpp-from-CVS/static_cast1/test.desc b/regression/cpp-from-CVS/static_cast1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/static_cast1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/static_cast3/main.cpp b/regression/cpp-from-CVS/static_cast3/main.cpp deleted file mode 100644 index fdb99bbec65..00000000000 --- a/regression/cpp-from-CVS/static_cast3/main.cpp +++ /dev/null @@ -1,26 +0,0 @@ -struct A { - int i; -}; - -struct B { - char j; -}; - -struct C: A, B -{ - bool k; -}; - - -int main() -{ - C c; - c.k = true; - - B& b = c; - assert((static_cast(b)).k == true); - - B* pb = &c; - static_cast(pb)->k = false; - assert(c.k==false); -} diff --git a/regression/cpp-from-CVS/static_cast3/test.desc b/regression/cpp-from-CVS/static_cast3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/static_cast3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/static_cast4/main.cpp b/regression/cpp-from-CVS/static_cast4/main.cpp deleted file mode 100644 index 08ba6d6578c..00000000000 --- a/regression/cpp-from-CVS/static_cast4/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -struct A { int i;}; -struct B: A { char j;}; -int main() -{ - A a; - const A& ra = a; - static_cast(ra); // not ok -} diff --git a/regression/cpp-from-CVS/static_cast5/main.cpp b/regression/cpp-from-CVS/static_cast5/main.cpp deleted file mode 100644 index e324d8604e8..00000000000 --- a/regression/cpp-from-CVS/static_cast5/main.cpp +++ /dev/null @@ -1,29 +0,0 @@ -struct A -{ - int i; -}; - -struct B: A -{ -}; - -int get_i1(A& a) -{ - return static_cast(&a)->i; -} - -int get_i2(A* pa) -{ - return static_cast(pa)->i; -} - -int main() -{ - B b; - b.i = 10; - int tmp1 = get_i1(b); - assert(tmp1 == 10); - - int tmp2 = get_i2(&b); - assert(tmp2 == 10); -} diff --git a/regression/cpp-from-CVS/static_cast5/test.desc b/regression/cpp-from-CVS/static_cast5/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/static_cast5/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/struct1/test.desc b/regression/cpp-from-CVS/struct1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/struct1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/typecast_ambiguity3/test.desc b/regression/cpp-from-CVS/typecast_ambiguity3/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/typecast_ambiguity3/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/typename1/test.desc b/regression/cpp-from-CVS/typename1/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/typename1/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/typename2/main.cpp b/regression/cpp-from-CVS/typename2/main.cpp deleted file mode 100644 index 39dc405df5b..00000000000 --- a/regression/cpp-from-CVS/typename2/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -enum foo {NOT_AFFECTED, FATAL_AFFECT, WARNING}; - -typedef struct { - foo SeverityType; -} BitDatabaseRecordStruct; - -const BitDatabaseRecordStruct BitDataBase [1] = -{ - {NOT_AFFECTED} -}; - -int main() -{ - return 0; -} diff --git a/regression/cpp-from-CVS/typename2/test.desc b/regression/cpp-from-CVS/typename2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/typename2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/virtual10/main.cpp b/regression/cpp-from-CVS/virtual10/main.cpp deleted file mode 100644 index 43d5480fd12..00000000000 --- a/regression/cpp-from-CVS/virtual10/main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -struct A -{ - virtual bool func() const {return true;} - virtual bool func() {return false;} -}; - -int main() -{ - const A a1; - assert(a1.func()== true); - A a2; - assert(a2.func()== false); -} diff --git a/regression/cpp-from-CVS/virtual10/test.desc b/regression/cpp-from-CVS/virtual10/test.desc deleted file mode 100644 index 7ed391809e9..00000000000 --- a/regression/cpp-from-CVS/virtual10/test.desc +++ /dev/null @@ -1,7 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- diff --git a/regression/cpp-from-CVS/virtual12/main.cpp b/regression/cpp-from-CVS/virtual12/main.cpp deleted file mode 100644 index 51c6053ef29..00000000000 --- a/regression/cpp-from-CVS/virtual12/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -struct A { - virtual int func(){return 1;} -}; - -struct B: A { - int func(){return 2;} -}; - -int call_func1(A a) {return a.func();} -int call_func2(A& a) {return a.func();} - -int main() -{ - B b; - assert(call_func1(b)==1); - assert(call_func2(b)==2); -} diff --git a/regression/cpp-from-CVS/virtual13/main.cpp b/regression/cpp-from-CVS/virtual13/main.cpp deleted file mode 100644 index ac89c2df9ee..00000000000 --- a/regression/cpp-from-CVS/virtual13/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -struct A { virtual int f(){ return 1; } }; -struct B { virtual int f(){ return 2;} }; -struct C: A, B { virtual int f(){ return 3;} }; - - -int main(int argc, char* argv[]) -{ - C c; - C c2(c); - assert(((A&)c2).f() == ((B&)c2).f()); - return 0; -} diff --git a/regression/cpp-from-CVS/virtual15/main.cpp b/regression/cpp-from-CVS/virtual15/main.cpp deleted file mode 100644 index db02c2bdccf..00000000000 --- a/regression/cpp-from-CVS/virtual15/main.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// #include -// #include -struct A -{ - virtual int f() {return 1;} - virtual int g(){return 1;} -}; - -struct B: A -{ - int f(){return 2;} -}; - -struct C: B -{ -}; - -struct D: C -{ - int g(){return 3;} -}; - - -int main() -{ - D d; - - assert(d.f() == 2); - assert(d.g() == 3); - assert(((C*)(&d))->f() == 2); - assert(((B*)(&d))->g() == 3); - assert(((B*)(&d))->f() == 2); - assert(((B*)(&d))->g() == 3); - assert(((A*)(&d))->f() == 2); - assert(((A*)(&d))->g() == 3); -} diff --git a/regression/cpp-from-CVS/virtual2/test.desc b/regression/cpp-from-CVS/virtual2/test.desc deleted file mode 100644 index 91d9cf8b52e..00000000000 --- a/regression/cpp-from-CVS/virtual2/test.desc +++ /dev/null @@ -1,8 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- -^warning: ignoring diff --git a/regression/cpp-from-CVS/virtual3/main.cpp b/regression/cpp-from-CVS/virtual3/main.cpp deleted file mode 100644 index f2ebce99677..00000000000 --- a/regression/cpp-from-CVS/virtual3/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -class B{ - public: - virtual int f(){ return 0; } -}; - - -void toBr(B& b) -{ - assert(b.f()==0); -} - -int main() -{ - B b; -// assert(b.f()==0); - toBr(b); -} diff --git a/regression/cpp-from-CVS/virtual4/main.cpp b/regression/cpp-from-CVS/virtual4/main.cpp deleted file mode 100644 index 63b3173dde1..00000000000 --- a/regression/cpp-from-CVS/virtual4/main.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include - -class B -{ -public: - virtual int f() { return 0; } -}; - -class A: public B -{ -public: - int f() { return 1; } -}; - -int main() -{ - A a; - assert(a.A::f()==1); - assert(a.B::f()==0); -} diff --git a/regression/cpp-from-CVS/virtual5/main.cpp b/regression/cpp-from-CVS/virtual5/main.cpp deleted file mode 100644 index cb138ba2819..00000000000 --- a/regression/cpp-from-CVS/virtual5/main.cpp +++ /dev/null @@ -1,19 +0,0 @@ -class B -{ -public: - virtual int f() const {return 0;} -}; - -class A: public B -{ -public: - int f() {return 1;} -}; - -int main() -{ - A a; - B b = (B) a; - assert(b.f()==0); - assert(a.f()==1); -} diff --git a/regression/cpp-from-CVS/virtual8/main.cpp b/regression/cpp-from-CVS/virtual8/main.cpp deleted file mode 100644 index 8db08084016..00000000000 --- a/regression/cpp-from-CVS/virtual8/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -int g1; -int g2; - -class A -{ - public: - virtual ~A(){g1 = g2+1;} -}; - -class B: public A -{ - public: - ~B(){g2 = 1;} -}; - -int main() -{ - A* pA = new B(); - delete pA; - assert(g2==1); - assert(g1==2); -} diff --git a/regression/cpp-from-CVS/virtual9/main.cpp b/regression/cpp-from-CVS/virtual9/main.cpp deleted file mode 100644 index 5562e35c41a..00000000000 --- a/regression/cpp-from-CVS/virtual9/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -struct A -{ - virtual int& func(int& i){return i;} -}; - -int main() -{ - A a; - int i = 0; - int j = 1; - - a.func(i) = j; - assert(i==j); -} diff --git a/regression/cpp-from-CVS/virtual9/test.desc b/regression/cpp-from-CVS/virtual9/test.desc deleted file mode 100644 index 7ed391809e9..00000000000 --- a/regression/cpp-from-CVS/virtual9/test.desc +++ /dev/null @@ -1,7 +0,0 @@ -CORE -main.cpp - -^EXIT=0$ -^SIGNAL=0$ -^VERIFICATION SUCCESSFUL$ --- diff --git a/regression/cpp-from-CVS/Address_of_Method4/main.cpp b/regression/cpp/Address_of_Method4/main.cpp similarity index 59% rename from regression/cpp-from-CVS/Address_of_Method4/main.cpp rename to regression/cpp/Address_of_Method4/main.cpp index b5eac2dbbbc..a7e3d0b5989 100644 --- a/regression/cpp-from-CVS/Address_of_Method4/main.cpp +++ b/regression/cpp/Address_of_Method4/main.cpp @@ -2,7 +2,6 @@ struct x { void f(); int f(int); - }; void x::f() @@ -14,11 +13,9 @@ int x::f(int i) return i; } - - int main() { - int (x::*pf) (int) = &x::f; -// x x1; -// assert((x1.*pf)(0) == 0); + int (x::*pf)(int) = &x::f; + // x x1; + // assert((x1.*pf)(0) == 0); } diff --git a/regression/cpp/Address_of_Method4/test.desc b/regression/cpp/Address_of_Method4/test.desc new file mode 100644 index 00000000000..8cd7c4ac778 --- /dev/null +++ b/regression/cpp/Address_of_Method4/test.desc @@ -0,0 +1,7 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +-- +^warning: ignoring diff --git a/regression/cpp/Protection1/main.cpp b/regression/cpp/Protection1/main.cpp new file mode 100644 index 00000000000..6b0aeed9b78 --- /dev/null +++ b/regression/cpp/Protection1/main.cpp @@ -0,0 +1,19 @@ +class A +{ + int i; + A(int i) : i(i) + { + } + +private: + A(); // disabled +}; + +class B : A +{ +}; + +int main(int argc, char *argv[]) +{ + B b; +} diff --git a/regression/cpp-from-CVS/static_cast2/test.desc b/regression/cpp/Protection1/test.desc similarity index 88% rename from regression/cpp-from-CVS/static_cast2/test.desc rename to regression/cpp/Protection1/test.desc index 8022cf7f3a5..9f81962671b 100644 --- a/regression/cpp-from-CVS/static_cast2/test.desc +++ b/regression/cpp/Protection1/test.desc @@ -1,4 +1,4 @@ -CORE +KNOWNBUG main.cpp ^EXIT=6$ diff --git a/regression/cpp-from-CVS/Templates15/main.cpp b/regression/cpp/Templates15/main.cpp similarity index 86% rename from regression/cpp-from-CVS/Templates15/main.cpp rename to regression/cpp/Templates15/main.cpp index 6e925db41b7..2e9bdb72efc 100644 --- a/regression/cpp-from-CVS/Templates15/main.cpp +++ b/regression/cpp/Templates15/main.cpp @@ -1,5 +1,6 @@ template -struct A { +struct A +{ int a; }; diff --git a/regression/cpp-from-CVS/static_cast4/test.desc b/regression/cpp/Templates15/test.desc similarity index 88% rename from regression/cpp-from-CVS/static_cast4/test.desc rename to regression/cpp/Templates15/test.desc index 8022cf7f3a5..9f81962671b 100644 --- a/regression/cpp-from-CVS/static_cast4/test.desc +++ b/regression/cpp/Templates15/test.desc @@ -1,4 +1,4 @@ -CORE +KNOWNBUG main.cpp ^EXIT=6$ diff --git a/regression/cpp-from-CVS/Templates33/main.cpp b/regression/cpp/Templates33/main.cpp similarity index 81% rename from regression/cpp-from-CVS/Templates33/main.cpp rename to regression/cpp/Templates33/main.cpp index cde6ee9363a..de1a9eb466c 100644 --- a/regression/cpp-from-CVS/Templates33/main.cpp +++ b/regression/cpp/Templates33/main.cpp @@ -1,4 +1,4 @@ -template +template class X { public: diff --git a/regression/cpp/Templates33/test.desc b/regression/cpp/Templates33/test.desc new file mode 100644 index 00000000000..8cd7c4ac778 --- /dev/null +++ b/regression/cpp/Templates33/test.desc @@ -0,0 +1,7 @@ +KNOWNBUG +main.cpp + +^EXIT=0$ +^SIGNAL=0$ +-- +^warning: ignoring