From fd6194ff5e714f607c1a9193fdd7628c6c9eaddd Mon Sep 17 00:00:00 2001 From: Sebastien Binet Date: Tue, 23 Oct 2012 06:32:15 +0200 Subject: [PATCH] fixups for gcc-4.7 --- doc/c++/gdb-class-layout.rst | 2 +- exercises/c++/gdb-ex-1.cc | 2 +- exercises/c++/gdb-ex-2.cc | 10 +++++----- exercises/c++/gdb-ex-3.cc | 12 ++++++------ 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/c++/gdb-class-layout.rst b/doc/c++/gdb-class-layout.rst index 1822c26..f7720ae 100644 --- a/doc/c++/gdb-class-layout.rst +++ b/doc/c++/gdb-class-layout.rst @@ -22,7 +22,7 @@ Steps 4. Build the ``gdb-ex-1.cc`` to get all debugging information in ``gdb``:: - c++ -ggdb -O2 -W -Wall gdb-ex-1.cc -o gdb-ex-1 + c++ -ggdb -O1 -W -Wall gdb-ex-1.cc -o gdb-ex-1 5. Run the code under ``gdb``, insert a break point at ``main`` and inspect its assembly:: diff --git a/exercises/c++/gdb-ex-1.cc b/exercises/c++/gdb-ex-1.cc index c520a1f..a45a5b7 100644 --- a/exercises/c++/gdb-ex-1.cc +++ b/exercises/c++/gdb-ex-1.cc @@ -6,7 +6,7 @@ int f( int x ) { return x*x; } int main(int, char **) { - int y, x = 5, z = 6; + int y = 4, x = 5, z = 6; printf("y= %d\n", y); y = f(x); printf("y= %d\n", y); diff --git a/exercises/c++/gdb-ex-2.cc b/exercises/c++/gdb-ex-2.cc index 54c9d93..a1ca270 100644 --- a/exercises/c++/gdb-ex-2.cc +++ b/exercises/c++/gdb-ex-2.cc @@ -28,13 +28,13 @@ main(int, char **) B b; std::cout << "size of a: " << sizeof(a) - << " offset of ad: " << offsetof(A, ad) - << std::endl; + << " offset of ad: " << offsetof(A, ad) + << std::endl; std::cout << "size of b: " << sizeof(b) - << " offset of ad: " << offsetof(B, ad) - << " offset of bd: " << offsetof(B, bd) - << std::endl; + << " offset of ad: " << offsetof(B, ad) + << " offset of bd: " << offsetof(B, bd) + << std::endl; f(&a); f(&b); diff --git a/exercises/c++/gdb-ex-3.cc b/exercises/c++/gdb-ex-3.cc index 035ed07..3d8974c 100644 --- a/exercises/c++/gdb-ex-3.cc +++ b/exercises/c++/gdb-ex-3.cc @@ -5,7 +5,7 @@ class A { public: virtual void m1() { std::cout << "A::m1()" << std::endl; } - virtual void m2() { std::cout << "A::m1()" << std::endl; } + virtual void m2() { std::cout << "A::m2()" << std::endl; } int ad; }; @@ -47,13 +47,13 @@ int main(int, char **) B b2; std::cout << "size of a: " << sizeof(a) - << " offset of ad: " << offsetof(A, ad) - << std::endl; + //<< " offset of ad: " << offsetof(A, ad) + << std::endl; std::cout << "size of b: " << sizeof(b1) - << " offset of ad: " << offsetof(B, ad) - << " offset of bd: " << offsetof(B, bd) - << std::endl; + //<< " offset of ad: " << offsetof(B, ad) + //<< " offset of bd: " << offsetof(B, bd) + << std::endl; std::cout << "a: " << std::endl; print_vtable(&a);