Bug 64208 - Internal error #382.
Summary: Internal error #382.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.2
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-04-29 10:23 UTC by Peter Englmaier
Modified: 2007-04-18 16:42 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-12-15 20:07:00 UTC
Embargoed:


Attachments (Terms of Use)

Description Peter Englmaier 2002-04-29 10:23:01 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901

Description of problem:
Compiler gets confused by some bad code and prints 'Internal error #382'. As a
'beginner' in C++, I would prefer a better error message.
Best, Peter.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Compile program using 'gcc bug382.c', or 'gcc3 bug382.c':

bug382.cc:
namespace mc {
  class A {
    /// next line 'protected:' or 'public:' triggers the internal bug
  public:
    A() { };
  };

}// end namespace mc

using ::mc;


Actual Results:  bug382.cc:14: Internal error #382.
bug382.cc:14: confused by earlier errors, bailing out


Expected Results:  More meaningful error message about missing namespace
identifier in statement 'using ::mc'. The code should read 'using namespace mc',
or 'using mc::A'.


Additional info:

*******************************************Output of gcc:
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cpp0 -lang-c++ -D__GNUG__=2
-D__EXCEPTIONS -v -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0
-D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux
-Asystem(posix) -D__NO_INLINE__ -Acpu(i386) -Amachine(i386) -Di386 -D__i386
-D__i386__ -D__tune_i386__ bug382.cc bug382.ii
GNU CPP version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/g++-3
 /usr/local/include
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1plus bug382.ii -quiet -dumpbase
bug382.cc -version -o bug382.s
GNU C++ version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) (i386-redhat-linux)
compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
bug382.cc:14: Internal error #382.
bug382.cc:14: confused by earlier errors, bailing out

*********************Output file bug382.ii 
# 5 "bug382.cc"
namespace mc {
  class A {

  public:
    A() { };
  };

}

using ::mc;

********************************Output file bug382.s:
	.file	"bug382.cc"
	.version	"01.01"
gcc2_compiled.:

Comment 1 Alan Cox 2002-12-15 20:07:00 UTC
Works in g++ 3.2



Note You need to log in before you can comment on or make changes to this bug.