Description of problem: Compiling the following code: #include <vector> #include <iostream> using namespace std; int main () { char ch; cin >> ch; switch (ch) { case 'B': vector<char> d; break; case 'C': break; } return c; } with the command: g++ test.cc -o tester Producing the following output: test.cc: In function `int main()': test.cc:15: jump to case label test.cc:13: crosses initialization of `std::vector<char, std::allocator<char> > d' test.cc:19: `c' undeclared (first use this function) test.cc:19: (Each undeclared identifier is reported only once for each function it appears in.) Internal compiler error: Error reporting routines re-entered. Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions. Version-Release number of selected component (if applicable): uname -a Linux localhost.localdomain 2.4.20-20.9 #1 Mon Aug 18 11:27:43 EDT 2003 i686 athlon i386 GNU/Linux rpm -q gcc gcc-3.2.2-5 How reproducible: Every time.
Fixed in gcc-3.3.2-1.