Bug 31099

Summary: Scope of function arguments type changed ?
Product: [Retired] Red Hat Linux Reporter: Olaf Flebbe <o.flebbe>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
URL: http://www.science-computing.de/o.flebbe/a.cpp
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-03-08 21:35:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Demonstration Code none

Description Olaf Flebbe 2001-03-08 21:34:43 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [de] (X11; U; Linux 2.4.1 i686)


The code at The Code at the url gets an error  when compiling 
IMHO gcc-2.96-69 is incorrect.

Workaround is to profix QObject with :: .



Reproducible: Always
Steps to Reproduce:
1. g++ a.cpp

	

Actual Results:  a.cpp: In method
`pig_enhanced_QSignal::pig_enhanced_QSignal
(QObject *)':
a.cpp:1: `class QObject' is inaccessible
a.cpp:12: within this context


Expected Results:  It should compile

gcc-2.95.2 and SGI CC does compile it.

Comment 1 Olaf Flebbe 2001-03-08 21:35:34 UTC
Created attachment 12131 [details]
Demonstration Code

Comment 2 Jakub Jelinek 2001-03-09 12:44:56 UTC
It should not compile, it is not valid ISO C++ code.
he name QObject is injected into class QObject, so it becomes a
private member of class QSignal, hiding the global definition of QObject in
classes derived from QSignal.
Using ::QObject there is not a workaround, it is how it should have been coded.