--- Comment #32 from jason at gcc dot gnu dot org 2009-11-03 20:40 ---
(In reply to comment #27)
> we only strip typedefs at the top level
This has now been fixed. I'm going to close this bug now; feel free to reopen
it if you see another instance of the problem in 4.5.
--
jason at
--- Comment #4 from jason at gcc dot gnu dot org 2009-03-02 16:20 ---
Created an attachment (id=17384)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17384&action=view)
patch to disable canonicalization of template type args
type canonicalization is the problem here, not a solution
--- Comment #5 from dave at boost-consulting dot com 2009-03-02 16:39
---
Why do you think I want to see the typedef name when I've explicitly asked for
the opposite?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185
--- Comment #6 from jason at gcc dot gnu dot org 2009-03-02 17:01 ---
Poor reading comprehension?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185
--- Comment #7 from jason at gcc dot gnu dot org 2009-03-02 18:24 ---
Actually this issue has nothing to do with typedefs: rather, for template
instantiations GCC prints out the template signature and then the template
arguments, rather than the signature of the instantiation. What you'
--- Comment #8 from jason at gcc dot gnu dot org 2009-03-02 18:25 ---
Created an attachment (id=17385)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17385&action=view)
patch to print the instantiated signature as well as template/args
Is this more what you're looking for?
--
j
--- Comment #9 from dave at boost-consulting dot com 2009-03-02 20:24
---
Hi Jason,
Please assume I know what I'm asking for and stop turning it into a different
problem. Go back and look at the original report more closely, particularly
the part that discusses boost::result_of::type.
--- Comment #10 from jason at redhat dot com 2009-03-02 20:35 ---
Subject: Re: deep typedef substitution in error message
dave at boost-consulting dot com wrote:
> Please assume I know what I'm asking for and stop turning it into a different
> problem.
I know what you're asking for.
--- Comment #11 from jason at redhat dot com 2009-03-02 20:43 ---
Subject: Re: deep typedef substitution in error message
jason at redhat dot com wrote:
> I figured you could apply the patch, rebuild GCC and see if the output
> was more to your liking.
But I suppose it's easier to ju
--- Comment #12 from jason at gcc dot gnu dot org 2009-04-02 21:39 ---
Subject: Bug 25185
Author: jason
Date: Thu Apr 2 21:39:00 2009
New Revision: 145476
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145476
Log:
PR c++/25185
* error.c (find_typenames, find_typ
--- Comment #13 from jason at gcc dot gnu dot org 2009-04-02 21:52 ---
GCC will now say
../../../../boost/sequence/make_range.hpp:60: instantiated from
boost::sequence::detail::range_maker::type
boost::sequence::detail::range_maker::operator()(const L&, const B&, const E&, const C&)
--- Comment #14 from jason at gcc dot gnu dot org 2009-04-02 21:53 ---
Where "now" is in 4.5, or a development version thereof.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185
--- Comment #15 from jason at gcc dot gnu dot org 2009-04-03 14:09 ---
Created an attachment (id=17582)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17582&action=view)
Patch to add -fno-pretty-templates option
Here's a patch for a different approach I tried which just adds a flag
--- Comment #16 from dave at boost-consulting dot com 2009-04-03 19:38
---
(In reply to comment #13)
> GCC will now say
>
> ../../../../boost/sequence/make_range.hpp:60: instantiated from
> boost::sequence::detail::range_maker::type
> boost::sequence::detail::range_maker CalcSize>::
--- Comment #17 from jason at gcc dot gnu dot org 2009-04-03 20:51 ---
Good point, I forgot to strip typedefs in the diagnostic code. I'm testing a
patch that will make that
typename boost::result_of::type = mpl_::integral_c
--
jason at gcc dot gnu dot org changed:
What
--- Comment #18 from jason at gcc dot gnu dot org 2009-04-03 20:57 ---
Hmm, it also looks like a typedef snuck into the L argument somehow, probably
from the recent work on typedef access control. I'll poke at that.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185
--- Comment #19 from jason at gcc dot gnu dot org 2009-04-03 21:45 ---
Fixing that issue (we weren't canonicalizing deduced type arguments) and also
catching typedefs that aren't typenames gives
../../../../boost/sequence/make_range.hpp:60: instantiated from
boost::sequence::detail::
--- Comment #20 from dave at boostpro dot com 2009-04-04 01:33 ---
Subject: Re: deep typedef substitution in error message
on Fri Apr 03 2009, "jason at gcc dot gnu dot org"
wrote:
> --- Comment #19 from jason at gcc dot gnu dot org 2009-04-03 21:45
> ---
> Fixing that iss
--- Comment #21 from jason at redhat dot com 2009-04-04 03:45 ---
Subject: Re: deep typedef substitution in error message
dave at boostpro dot com wrote:
> Well, I find that a little confusing. Why is it explaining to me what
>
> typename boost::result_of::type
>
> is? I don't s
--- Comment #22 from jason at gcc dot gnu dot org 2009-04-04 19:19 ---
Subject: Bug 25185
Author: jason
Date: Sat Apr 4 19:19:30 2009
New Revision: 145550
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145550
Log:
PR c++/25185
* error.c (dump_template_bindings):
--- Comment #23 from dave at boostpro dot com 2009-04-06 09:35 ---
Subject: Re: deep typedef substitution in error message
On Apr 3, 2009, at 11:45 PM, jason at redhat dot com wrote:
>
>
>> Also, I'm not thrilled that
>>
>> boost::sequence::detail::range_maker> CalcSize>::type
>>
>>
--- Comment #24 from jason at redhat dot com 2009-04-06 15:32 ---
Subject: Re: deep typedef substitution in error message
dave at boostpro dot com wrote:
> I'm confused as to why you think you need to give a still-dependent
> type in the signature
Because the signature we're printin
--- Comment #25 from jason at gcc dot gnu dot org 2009-04-07 17:49 ---
Subject: Bug 25185
Author: jason
Date: Tue Apr 7 17:48:52 2009
New Revision: 145697
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145697
Log:
PR c++/25185
* c-common.h, c-common.c: Add flag_
--- Comment #26 from jason at gcc dot gnu dot org 2009-04-08 16:08 ---
Subject: Bug 25185
Author: jason
Date: Wed Apr 8 16:08:15 2009
New Revision: 145753
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145753
Log:
PR c++/25185
* error.c (dump_aggr_type): Chase t
--- Comment #27 from jason at gcc dot gnu dot org 2009-04-08 19:31 ---
I've gone ahead and checked in the -fno-pretty-templates patch, which should
produce
../../../../boost/sequence/make_range.hpp:60: instantiated from
boost::sequence::detail::range_maker,
boost::array > >::range >
--- Comment #28 from jason at gcc dot gnu dot org 2009-04-08 19:38 ---
Rather, that should be
../../../../boost/sequence/make_range.hpp:60: instantiated from
boost::sequence::range_::range >
boost::sequence::detail::range_maker,
boost::array > >::operator(),
const boost::array > >(co
--- Comment #29 from dave at boost-consulting dot com 2009-04-08 19:49
---
Although I really appreciate the fix, I really don't like the name of the
option. "Pretty" templates means something much more like the formatting I
used in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185#c2
--- Comment #30 from jason at redhat dot com 2009-04-09 02:10 ---
Subject: Re: deep typedef substitution in error message
dave at boost-consulting dot com wrote:
> I can't see why you wouldn't use -fno-deep-typedef-substitution.
Because that isn't at all what the option controls. We
--- Comment #31 from dave at boost-consulting dot com 2009-04-09 13:58
---
OK, I don't get what it's controlling then, but maybe that's not important.
Still, I suggest you choose a more specific name to leave the door open for
"prettier" template printing in the future. If you did int
--- Comment #2 from dave at boost-consulting dot com 2008-11-06 19:59
---
This is really a serious problem!
For example, consider this error message I got today. If you look carefully,
you can see the fundamental problem is that two unsigned int lvalues are being
passed to this functi
--- Comment #3 from dgregor at gcc dot gnu dot org 2008-11-06 20:19 ---
This bug should be really easy to fix, now that GCC has canonical types. Just
map each of the template type arguments down to its canonical type before doing
the substitution.
--
http://gcc.gnu.org/bugzilla/sho
--- Comment #1 from dave at boost-consulting dot com 2005-11-30 17:48
---
Created an attachment (id=10370)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10370&action=view)
preprocessed source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25185
32 matches
Mail list logo