[Bug c++/51829] decltype() deduces non-const but only in a template

2012-10-15 Thread bugs at sehe dot nl


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829



--- Comment #8 from Seth Heeren bugs at sehe dot nl 2012-10-15 21:14:45 UTC 
---

That is great. I confirmed this with gcc version 4.7.0 20111010 (experimental)

[trunk revision 179769]



The problem has been solved.



Thanks everyone,

Seth


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-10-14 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|WAITING |RESOLVED

  Known to work||4.7.0, 4.8.0

 Resolution||FIXED



--- Comment #7 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-14 
15:49:08 UTC ---

Closing as fixed.


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-05-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829

--- Comment #6 from Marc Glisse glisse at gcc dot gnu.org 2012-05-13 09:06:42 
UTC ---
With boost 1.49, g++-4.7 compiles the code just fine, while g++-4.6 gives:

u.cc: In function ‘void bug() [with template-parameter-1-1 = void]’:
u.cc:14:24:   instantiated from here
u.cc:11:3: error: cannot convert ‘const type {aka const
boost::proto::exprns_::exprboost::proto::tagns_::tag::address_of,
boost::proto::argsns_::list1const
boost::proto::exprns_::exprboost::proto::tagns_::tag::bitwise_or,
boost::proto::argsns_::list2const
boost::proto::exprns_::exprboost::proto::tagns_::tag::terminal,
boost::proto::argsns_::termboost::spirit::terminal_exboost::spirit::tag::eps,
boost::fusion::vector1bool  , 0l,
boost::proto::exprns_::exprboost::proto::tagns_::tag::terminal,
boost::proto::argsns_::termconst char, 0l , 2l, 1l}’ to ‘const type*
{aka const boost::proto::exprns_::exprboost::proto::tagns_::tag::bitwise_or,
boost::proto::argsns_::list2boost::proto::exprns_::exprboost::proto::tagns_::tag::terminal,
boost::proto::argsns_::termboost::spirit::terminal_exboost::spirit::tag::eps,
boost::fusion::vector1bool  , 0l,
boost::proto::exprns_::exprboost::proto::tagns_::tag::terminal,
boost::proto::argsns_::termconst char, 0l , 2l*}’ in assignment


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-05-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2012-05-12
 CC|bugs at sehe dot nl |
 Ever Confirmed|0   |1

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2012-05-12 
22:46:31 UTC ---
Still waiting.


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-05-12 Thread bugs at sehe dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829

--- Comment #5 from Seth Heeren bugs at sehe dot nl 2012-05-13 00:05:00 UTC 
---
On 13-05-12 00:46, paolo.carlini at oracle dot com wrote:
 Still waiting.
Really. Well, to be honest, I can't afford to spend even more time 
minimizing that any further. I have to pick priorities.

For quick win, of course, you could check whether the problem still 
exists with GCC 4.7 or dev versions. It might have been fixed in the 
process of other development/fixes.

God knows I had spent over 6 hours trying to minimize that by manually 
decimating the preprocessed sources even before initially posting the 
report. And it wasn't even my own bug; it was a support call on the 
[spirit-general] list.

I don't think it is worth my time to **learn** how to further reduce the 
testcase further, since that  seems to be a highly specialized craft 
and, tools could do a good job.
I'd be rather surprised if the GCC team didn't have just such tools, as 
well as people skilled and experienced in using them.

All of the above would require a lot of time on my side, and sadly I 
don't have it.

Regards
Seth


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-01-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-01-13 
12:04:02 UTC ---
Please do your best to distill a testcase of manageable size, a few KBs at
most: http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-01-11 Thread bugs at sehe dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829

--- Comment #1 from Seth Heeren bugs at sehe dot nl 2012-01-11 21:32:11 UTC 
---
Created attachment 26302
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26302
(gz) preprocessed source for the minimal testcase


[Bug c++/51829] decltype() deduces non-const but only in a template

2012-01-11 Thread bugs at sehe dot nl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51829

--- Comment #2 from Seth Heeren bugs at sehe dot nl 2012-01-12 00:30:36 UTC 
---
To clarify, the valid code that was rejected looks like:

 auto expr = boost::spirit::qi::eps(false) | '1';

this might explain the 'strange' breaking up into e1 and e2 for the minimal
testcase. 

HTH