public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
@ 2012-08-08 10:22 markus at trippelsdorf dot de
2012-08-08 11:49 ` [Bug c++/54198] " rguenth at gcc dot gnu.org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: markus at trippelsdorf dot de @ 2012-08-08 10:22 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
Bug #: 54198
Summary: [4.8 Regression] "error: invalid use of incomplete
type" when building Chromium
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: markus@trippelsdorf.de
Chromium (22.0.1229.0) fails to build with current gcc trunk:
In file included from third_party/WebKit/Source/WTF/wtf/RefPtr.h:28:0,
from third_party/WebKit/Source/WTF/wtf/VectorTraits.h:25,
from third_party/WebKit/Source/WTF/wtf/Vector.h:30,
from third_party/WebKit/Source/WTF/wtf/text/StringImpl.h:31,
from third_party/WebKit/Source/WTF/wtf/text/WTFString.h:29,
from
third_party/WebKit/Source/WebCore/platform/text/PlatformString.h:28,
from third_party/WebKit/Source/WebCore/platform/KURL.h:30,
from third_party/WebKit/Source/WebCore/platform/KURLHash.h:29,
from third_party/WebKit/Source/WebCore/css/CSSRule.h:26,
from third_party/WebKit/Source/WebCore/css/CSSImportRule.h:25,
from out/Release/obj/gen/webkit/bindings/V8CSSImportRule.h:24,
from
out/Release/obj/gen/webcore/bindings/V8CSSImportRule.cpp:22,
from
out/Release/obj/gen/webkit/bindings/V8DerivedSources03.cpp:31:
third_party/WebKit/Source/WTF/wtf/PassRefPtr.h: In instantiation of ‘void
WTF::refIfNotNull(T*) [with T = WebCore::MetadataCallback]’:
third_party/WebKit/Source/WTF/wtf/PassRefPtr.h:60:43: required from
‘WTF::PassRefPtr<T>::PassRefPtr(T*) [with T = WebCore::MetadataCallback]’
third_party/WebKit/Source/WebCore/Modules/filesystem/Entry.h:54:69: required
from here
third_party/WebKit/Source/WTF/wtf/PassRefPtr.h:46:13: error: invalid use of
incomplete type ‘class WebCore::MetadataCallback’
ptr->ref();
^
In file included from
third_party/WebKit/Source/WebCore/Modules/filesystem/DOMFileSystem.h:37:0,
from out/Release/obj/gen/webkit/bindings/V8DOMFileSystem.h:26,
from
out/Release/obj/gen/webcore/bindings/V8DOMFileSystem.cpp:22,
from
out/Release/obj/gen/webkit/bindings/V8DerivedSources03.cpp:54:
third_party/WebKit/Source/WebCore/Modules/filesystem/DOMFileSystemBase.h:52:7:
error: forward declaration of ‘class WebCore::MetadataCallback’
class MetadataCallback;
^
The testcase is too big to attach (416KB bziped).
I've reduced it with C-reduce:
markus@x4 tmp % cat test.ii
template <typename T> void
refIfNotNull (T* p1)
{
p1->ref;
}
template <typename T> struct A
{
A (T* p1)
{
refIfNotNull (p1);
}
};
class B;
class C
{
void getParent (A <B> = 0);
};
markus@x4 tmp % g++ -c test.ii
test.ii: In instantiation of ‘void refIfNotNull(T*) [with T = B]’:
test.ii:10:9: required from ‘A<T>::A(T*) [with T = B]’
test.ii:16:29: required from here
test.ii:4:5: error: invalid use of incomplete type ‘class B’
p1->ref;
^
test.ii:13:7: error: forward declaration of ‘class B’
class B;
^
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
@ 2012-08-08 11:49 ` rguenth at gcc dot gnu.org
2012-08-08 11:58 ` markus at trippelsdorf dot de
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-08-08 11:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.8.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
2012-08-08 11:49 ` [Bug c++/54198] " rguenth at gcc dot gnu.org
@ 2012-08-08 11:58 ` markus at trippelsdorf dot de
2012-08-08 15:26 ` pinskia at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: markus at trippelsdorf dot de @ 2012-08-08 11:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
Markus Trippelsdorf <markus at trippelsdorf dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu.org
--- Comment #1 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-08-08 11:58:23 UTC ---
Started with revision 189850:
1f43fa9ad872fac2b686903267a08bb5c8beea03 is the first bad commit
commit 1f43fa9ad872fac2b686903267a08bb5c8beea03
Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed Jul 25 14:56:50 2012 +0000
* cp-tree.h (tsubst_flags): Remove tf_no_access_control.
* call.c (standard_conversion): Don't set it.
* class.c (resolve_address_of_overloaded_function): Don't check it.
* decl.c (check_default_argument): Call
perform_implicit_conversion_flags.
Clang++ and Intel's icpc compile the testcase without problems.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
2012-08-08 11:49 ` [Bug c++/54198] " rguenth at gcc dot gnu.org
2012-08-08 11:58 ` markus at trippelsdorf dot de
@ 2012-08-08 15:26 ` pinskia at gcc dot gnu.org
2012-08-12 22:58 ` daniel.kruegler at googlemail dot com
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-08-08 15:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-08-08 15:26:43 UTC ---
I actually think GCC is correct, A <B> causes all member functions to be
instantiated.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
` (2 preceding siblings ...)
2012-08-08 15:26 ` pinskia at gcc dot gnu.org
@ 2012-08-12 22:58 ` daniel.kruegler at googlemail dot com
2012-08-24 12:37 ` markus at trippelsdorf dot de
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2012-08-12 22:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
Daniel Krügler <daniel.kruegler at googlemail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.kruegler at
| |googlemail dot com
--- Comment #3 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2012-08-12 22:58:09 UTC ---
(In reply to comment #2)
> I actually think GCC is correct, A <B> causes all member functions to be
> instantiated.
I disagree, the instantiation of A<B> shall only instantiate all member
*declarations*, but not the *definitions* of unused members.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
` (3 preceding siblings ...)
2012-08-12 22:58 ` daniel.kruegler at googlemail dot com
@ 2012-08-24 12:37 ` markus at trippelsdorf dot de
2012-08-24 14:04 ` redi at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: markus at trippelsdorf dot de @ 2012-08-24 12:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
--- Comment #4 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-08-24 12:37:21 UTC ---
Ping. Any update on this issue?
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
` (4 preceding siblings ...)
2012-08-24 12:37 ` markus at trippelsdorf dot de
@ 2012-08-24 14:04 ` redi at gcc dot gnu.org
2012-09-04 19:35 ` jason at gcc dot gnu.org
2012-09-04 19:37 ` jason at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: redi at gcc dot gnu.org @ 2012-08-24 14:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-08-24
Ever Confirmed|0 |1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
` (5 preceding siblings ...)
2012-08-24 14:04 ` redi at gcc dot gnu.org
@ 2012-09-04 19:35 ` jason at gcc dot gnu.org
2012-09-04 19:37 ` jason at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2012-09-04 19:35 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-04 19:35:08 UTC ---
Author: jason
Date: Tue Sep 4 19:35:02 2012
New Revision: 190949
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190949
Log:
PR c++/54198
* decl.c (check_default_argument): Set cp_unevaluated_operand
around call to perform_implicit_conversion_flags.
Added:
trunk/gcc/testsuite/g++.dg/template/defarg15.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/54198] [4.8 Regression] "error: invalid use of incomplete type" when building Chromium
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
` (6 preceding siblings ...)
2012-09-04 19:35 ` jason at gcc dot gnu.org
@ 2012-09-04 19:37 ` jason at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2012-09-04 19:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2012-09-04 19:37:34 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-09-04 19:37 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-08 10:22 [Bug c++/54198] New: [4.8 Regression] "error: invalid use of incomplete type" when building Chromium markus at trippelsdorf dot de
2012-08-08 11:49 ` [Bug c++/54198] " rguenth at gcc dot gnu.org
2012-08-08 11:58 ` markus at trippelsdorf dot de
2012-08-08 15:26 ` pinskia at gcc dot gnu.org
2012-08-12 22:58 ` daniel.kruegler at googlemail dot com
2012-08-24 12:37 ` markus at trippelsdorf dot de
2012-08-24 14:04 ` redi at gcc dot gnu.org
2012-09-04 19:35 ` jason at gcc dot gnu.org
2012-09-04 19:37 ` jason at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).