public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/17248] New: __always_inline__ throws "unimplemented" in -O0 mode
@ 2004-08-31 12:17 wyderski at ii dot uni dot wroc dot pl
2004-08-31 16:08 ` [Bug c++/17248] [3.4 Regression] " pinskia at gcc dot gnu dot org
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: wyderski at ii dot uni dot wroc dot pl @ 2004-08-31 12:17 UTC (permalink / raw)
To: gcc-bugs
The C++ compiler fails when the -O0 optimization
mode and a method has the __always_inline__ attribute
specified. The command line used was:
gpp -O0 -c allocator.cpp -I./ -save temps
The version string:
Reading specs from c:/djgpp/bin/../lib/gcc/djgpp/3.41/specs
Configured with: /Build/gcc34/gnu/gcc-3.41/configure djgpp
--prefix=/dev/env/DJDIR --disable-nls --disable-libstdcxx-pch
Thread model: single
gcc version 3.4.1
It displays the following message:
./base/list.h: In destructor `base::list<traits>::~list() [with traits =
base::simple_list<mdl::expression_base*,
false>::aux_simple_traits<mdl::expression_base*, false>]':
./base/list.h:452: instantiated from `base::list<traits>::~list() [with traits
= base::simple_list<mdl::expression_base*,
false>::aux_simple_traits<mdl::expression_base*, false>]'
ast.h:736: instantiated from here
./base/list.h:431: sorry, unimplemented: inlining failed in call to 'static void
base::list<traits>::aux_erase_on_delete<T, true>::apply(base::list<traits>&)
[with T = base::list<base::simple_list<mdl::expression_base*,
false>::aux_simple_traits<mdl::expression_base*, false> >, traits =
base::simple_list<mdl::expression_base*,
false>::aux_simple_traits<mdl::expression_base*, false>]': function body not
available
./base/list.h:452: sorry, unimplemented: called from here
The snippet has ~800KiB, so it is not included in this text,
but here's a link to it:
http://www.ii.uni.wroc.pl/~wyderski/allocator.ii
--
Summary: __always_inline__ throws "unimplemented" in -O0 mode
Product: gcc
Version: 3.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wyderski at ii dot uni dot wroc dot pl
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: DJGPP, GCC 3.4.1
GCC host triplet: IA-32 PC, Windows XP, GCC 3.4.1
GCC target triplet: IA-32 PC, Windows XP, GCC 3.4.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
@ 2004-08-31 16:08 ` pinskia at gcc dot gnu dot org
2004-08-31 16:18 ` bangerth at dealii dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 16:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 16:08 -------
Reduced testcase:
template <typename T, bool> struct aux_erase_on_delete;
template <typename T> struct aux_erase_on_delete<T,true> {
inline __attribute__((__always_inline__)) static void apply(){}
};
int main()
{
aux_erase_on_delete<int,true>::apply();
}
Confirmed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |rejects-valid
Known to fail| |3.4.0 3.4.2
Known to work| |3.3.3 3.5.0
Last reconfirmed|0000-00-00 00:00:00 |2004-08-31 16:08:09
date| |
Summary|__always_inline__ throws |[3.4 Regression]
|"unimplemented" in -O0 mode |__always_inline__ throws
| |"unimplemented" in -O0 mode
Target Milestone|--- |3.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
2004-08-31 16:08 ` [Bug c++/17248] [3.4 Regression] " pinskia at gcc dot gnu dot org
@ 2004-08-31 16:18 ` bangerth at dealii dot org
2004-08-31 16:32 ` reichelt at gcc dot gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: bangerth at dealii dot org @ 2004-08-31 16:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-08-31 16:18 -------
This is even a little simpler:
----------------
template <typename T>
inline __attribute__((__always_inline__)) void apply(T){}
int main() {
apply(1);
}
----------------
g/x> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc
x.cc: In function `int main()':
x.cc:2: sorry, unimplemented: inlining failed in call to 'void apply(T) [with
T = int]': function body not available
x.cc:5: sorry, unimplemented: called from here
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
2004-08-31 16:08 ` [Bug c++/17248] [3.4 Regression] " pinskia at gcc dot gnu dot org
2004-08-31 16:18 ` bangerth at dealii dot org
@ 2004-08-31 16:32 ` reichelt at gcc dot gnu dot org
2004-08-31 17:03 ` reichelt at gcc dot gnu dot org
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-31 16:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-31 16:32 -------
You don't even need templates:
===================================================
__attribute__((__always_inline__)) void foo() {}
void bar()
{
foo();
}
===================================================
Note, that this compiles fine with the C frontend.
The bug is target independent.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Severity|normal |critical
GCC build triplet|DJGPP, GCC 3.4.1 |
GCC host triplet|IA-32 PC, Windows XP, GCC |
|3.4.1 |
GCC target triplet|IA-32 PC, Windows XP, GCC |
|3.4.1 |
Keywords| |monitored
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
` (2 preceding siblings ...)
2004-08-31 16:32 ` reichelt at gcc dot gnu dot org
@ 2004-08-31 17:03 ` reichelt at gcc dot gnu dot org
2004-10-31 2:43 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-31 17:03 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-31 17:03 -------
This was fixed on mainline by Jan's patch
http://gcc.gnu.org/ml/gcc-cvs/2004-03/msg01308.html
Jan, does a backport make sense?
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
` (3 preceding siblings ...)
2004-08-31 17:03 ` reichelt at gcc dot gnu dot org
@ 2004-10-31 2:43 ` mmitchel at gcc dot gnu dot org
2004-12-14 8:55 ` ebotcazou at gcc dot gnu dot org
2005-05-19 17:41 ` mmitchel at gcc dot gnu dot org
6 siblings, 0 replies; 9+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-10-31 2:43 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-10-31 02:43 -------
Postponed until GCC 3.4.4.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.3 |3.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
` (4 preceding siblings ...)
2004-10-31 2:43 ` mmitchel at gcc dot gnu dot org
@ 2004-12-14 8:55 ` ebotcazou at gcc dot gnu dot org
2005-05-19 17:41 ` mmitchel at gcc dot gnu dot org
6 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2004-12-14 8:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-12-14 08:55 -------
This is not critical.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
` (5 preceding siblings ...)
2004-12-14 8:55 ` ebotcazou at gcc dot gnu dot org
@ 2005-05-19 17:41 ` mmitchel at gcc dot gnu dot org
6 siblings, 0 replies; 9+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-05-19 17:41 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.4 |3.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17248
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-02-28 9:40 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-17248-7768@http.gcc.gnu.org/bugzilla/>
2005-10-07 3:29 ` [Bug c++/17248] [3.4 Regression] __always_inline__ throws "unimplemented" in -O0 mode gdr at gcc dot gnu dot org
2006-02-28 9:41 ` gdr at gcc dot gnu dot org
2004-08-31 12:17 [Bug c++/17248] New: " wyderski at ii dot uni dot wroc dot pl
2004-08-31 16:08 ` [Bug c++/17248] [3.4 Regression] " pinskia at gcc dot gnu dot org
2004-08-31 16:18 ` bangerth at dealii dot org
2004-08-31 16:32 ` reichelt at gcc dot gnu dot org
2004-08-31 17:03 ` reichelt at gcc dot gnu dot org
2004-10-31 2:43 ` mmitchel at gcc dot gnu dot org
2004-12-14 8:55 ` ebotcazou at gcc dot gnu dot org
2005-05-19 17:41 ` mmitchel at gcc dot gnu dot 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).