public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression
@ 2005-09-02  9:01 caolanm at redhat dot com
  2005-09-02  9:05 ` [Bug c++/23691] " caolanm at redhat dot com
                   ` (23 more replies)
  0 siblings, 24 replies; 25+ messages in thread
From: caolanm at redhat dot com @ 2005-09-02  9:01 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2369 bytes --]

boost template causing error

gcc --version
gcc (GCC) 4.0.1 20050831 (Red Hat 4.0.1-12)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

/usr/include/boost/detail/sp_counted_impl.hpp: In member function ‘virtual void*
boost::detail::sp_counted_impl_pd<P, D>::get_deleter(const std::type_info&)’:
/usr/include/boost/detail/sp_counted_impl.hpp:147: error:
‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’
because it is a non-constant expression
/usr/include/boost/detail/sp_counted_impl.hpp:147: error:
‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’
because it is a non-constant expression
../inc/layermanager.hxx: In member function ‘void
presentation::internal::LayerManager::forEachShape(const Functor&) const’:
../inc/layermanager.hxx:299: error: ‘mpl_::bool_<false>::value’ is not a valid
template argument for type ‘bool’ because it is a non-constant expression
../inc/layermanager.hxx:299: error: ‘mpl_::bool_<false>::value’ is not a valid
template argument for type ‘bool’ because it is a non-constant expression
../inc/layermanager.hxx: In member function ‘void
presentation::internal::LayerManager::forEachShape(const Functor&)’:
../inc/layermanager.hxx:333: error: ‘mpl_::bool_<false>::value’ is not a valid
template argument for type ‘bool’ because it is a non-constant expression
../inc/layermanager.hxx:333: error: ‘mpl_::bool_<false>::value’ is not a valid
template argument for type ‘bool’ because it is a non-constant expression

-- 
           Summary: ‘mpl_::bool_<false>::value’ is not a valid template
                    argument for type ‘bool’ because it is a non-
                    constant expression
           Product: gcc
           Version: 4.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: caolanm at redhat dot com
                CC: gcc-bugs at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
@ 2005-09-02  9:05 ` caolanm at redhat dot com
  2005-09-02 12:02 ` pinskia at gcc dot gnu dot org
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: caolanm at redhat dot com @ 2005-09-02  9:05 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From caolanm at redhat dot com  2005-09-02 09:05 -------
Created an attachment (id=9645)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9645&action=view)
testcase

I'm sure this worked very recently

-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
  2005-09-02  9:05 ` [Bug c++/23691] " caolanm at redhat dot com
@ 2005-09-02 12:02 ` pinskia at gcc dot gnu dot org
  2005-09-02 13:05 ` [Bug c++/23691] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' " jakub at gcc dot gnu dot org
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 12:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 12:02 -------
This works for me on both the mainline and the 4.0 branch.  And 4.0.0.

Since this is a redhat specific version of GCC, please report it to them instead as it works with FSF 
released GCC.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
  2005-09-02  9:05 ` [Bug c++/23691] " caolanm at redhat dot com
  2005-09-02 12:02 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 13:05 ` jakub at gcc dot gnu dot org
  2005-09-02 13:07 ` [Bug c++/23691] [4.0 Regression] " pinskia at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-09-02 13:05 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2612 bytes --]


------- Additional Comments From jakub at gcc dot gnu dot org  2005-09-02 13:05 -------
I can reproduce it on a (freshly updated) stock gcc-4_0-branch:
./cc1plus --version; ./cc1plus -quiet -m32 testcase.ii
GNU C++ version 4.0.2 20050902 (prerelease) (x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.0.1 20050727 (Red Hat 4.0.1-5).
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=127988
/usr/include/boost/detail/sp_counted_impl.hpp: In member function irtual void*
boost::detail::sp_counted_impl_pd<P, D>::get_deleter(const std::type_info&)':
/usr/include/boost/detail/sp_counted_impl.hpp:147: error:
pl_::bool_<false>::value' is not a valid template argument for type
ool' because it is a non-constant expression
/usr/include/boost/detail/sp_counted_impl.hpp:147: error:
pl_::bool_<false>::value' is not a valid template argument for type
ool' because it is a non-constant expression
../inc/layermanager.hxx: In member function oid
presentation::internal::LayerManager::forEachShape(const Functor&) const':
../inc/layermanager.hxx:299: error: pl_::bool_<false>::value' is not a valid
template argument for type ool' because it is a non-constant expression
../inc/layermanager.hxx:299: error: pl_::bool_<false>::value' is not a valid
template argument for type ool' because it is a non-constant expression
../inc/layermanager.hxx: In member function oid
presentation::internal::LayerManager::forEachShape(const Functor&)':
../inc/layermanager.hxx:333: error: pl_::bool_<false>::value' is not a valid
template argument for type ool' because it is a non-constant expression
../inc/layermanager.hxx:333: error: pl_::bool_<false>::value' is not a valid
template argument for type ool' because it is a non-constant expression

FYI, gcc/cp/ of gcc-4_0-branch and gcc-4_0-rhl-branch is identical.

If I revert http://gcc.gnu.org/ml/gcc-cvs/2005-08/msg00946.html
(aka PR c++/23099 fix), the problem goes away.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |
            Summary|‘mpl_::bool_<false>::value|`mpl_::bool_<false>::value'
                   |’ is not a valid template |is not a valid template
                   |argument for type ‘bool’|argument for type `bool'
                   |because it is a non-constant|because it is a non-constant
                   |expression                  |expression


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (2 preceding siblings ...)
  2005-09-02 13:05 ` [Bug c++/23691] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' " jakub at gcc dot gnu dot org
@ 2005-09-02 13:07 ` pinskia at gcc dot gnu dot org
  2005-09-02 13:11 ` pinskia at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 13:07 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org, mmitchel at gcc dot gnu
                   |                            |dot org
           Keywords|                            |rejects-valid
      Known to fail|                            |4.0.2
      Known to work|                            |4.0.0
            Summary|`mpl_::bool_<false>::value' |[4.0 Regression]
                   |is not a valid template     |`mpl_::bool_<false>::value'
                   |argument for type `bool'    |is not a valid template
                   |because it is a non-constant|argument for type `bool'
                   |expression                  |because it is a non-constant
                   |                            |expression
   Target Milestone|---                         |4.0.2
            Version|4.0.1                       |4.0.2


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (3 preceding siblings ...)
  2005-09-02 13:07 ` [Bug c++/23691] [4.0 Regression] " pinskia at gcc dot gnu dot org
@ 2005-09-02 13:11 ` pinskia at gcc dot gnu dot org
  2005-09-02 13:13 ` pinskia at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 13:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 13:11 -------
(In reply to comment #3)
> FYI, gcc/cp/ of gcc-4_0-branch and gcc-4_0-rhl-branch is identical.

Then can Redhat's version.c updated to reflect that since it is annoying to have 4.0.1 seen when it is 
really a 4.0.2 and I tested a pretty new 4.0.2 which is why I got this wrong.

-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (4 preceding siblings ...)
  2005-09-02 13:11 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 13:13 ` pinskia at gcc dot gnu dot org
  2005-09-02 13:20 ` jakub at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 13:13 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.0                       |4.0.0 4.1.0


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (5 preceding siblings ...)
  2005-09-02 13:13 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 13:20 ` jakub at gcc dot gnu dot org
  2005-09-02 13:21 ` jakub at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-09-02 13:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2005-09-02 13:19 -------
Well, it is not 4.0.2, as 4.0.2 has not been released.  FSF version.c contains
prerelease string which somewhat explains that it is really not yet official
4.0.2, but we use the version also for rpm version where claiming the compiler is
4.0.2 would be misleading.  It is something between 4.0.1 and 4.0.2.
For any RH version.c, the date printed is the date of merge from the
corresponding upstream gcc-X_Y-branch which is I guess the most important
info for you.
This bug is actually something I asked Caolan to file here, because I knew
there were no C++ changes between the 2 compilers where it broke other than
the changes brought from a new gcc-4_0-branch merge.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.0 4.1.0                 |4.0.0


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (6 preceding siblings ...)
  2005-09-02 13:20 ` jakub at gcc dot gnu dot org
@ 2005-09-02 13:21 ` jakub at gcc dot gnu dot org
  2005-09-02 13:23 ` jakub at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-09-02 13:21 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.0                       |4.0.0 4.0.1


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (7 preceding siblings ...)
  2005-09-02 13:21 ` jakub at gcc dot gnu dot org
@ 2005-09-02 13:23 ` jakub at gcc dot gnu dot org
  2005-09-02 13:30 ` pinskia at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-09-02 13:23 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.0 4.0.1                 |4.0.0 4.1.0


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (8 preceding siblings ...)
  2005-09-02 13:23 ` jakub at gcc dot gnu dot org
@ 2005-09-02 13:30 ` pinskia at gcc dot gnu dot org
  2005-09-02 13:41 ` pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 13:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 13:30 -------
(In reply to comment #5)
> Well, it is not 4.0.2, as 4.0.2 has not been released.  FSF version.c contains
> prerelease string which somewhat explains that it is really not yet official
> 4.0.2, but we use the version also for rpm version where claiming the compiler is
> 4.0.2 would be misleading.  It is something between 4.0.1 and 4.0.2.
> For any RH version.c, the date printed is the date of merge from the
> corresponding upstream gcc-X_Y-branch which is I guess the most important
> info for you.

Actually using 4.0.1 is more confusing to everyone or at least to me.  The point is using 4.0.2 is like 
everyone else does and for a reason.  It is based off of a FSF CVS after 4.0.1 was released and not on 
4.0.1 itself.  Seeing 4.0.1 I just tested a 4.0.2 (from about a week or so ago) which I had lying around.
Just change it to 4.0.2 like everyone else and then when anyone sees 4.0.2, they will go and test a 
recent 4.0.2 instead of a 4.0.2 which was a couple weeks old.

Anyways this is a discussion should really be internal to redhat since it was their fuck which made me 
make the mistake.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.0 4.1.0                 |4.0.0 4.1.0 4.0.1


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (9 preceding siblings ...)
  2005-09-02 13:30 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 13:41 ` pinskia at gcc dot gnu dot org
  2005-09-02 15:47 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 13:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 13:41 -------
Anyways reducing.

-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (10 preceding siblings ...)
  2005-09-02 13:41 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 15:47 ` pinskia at gcc dot gnu dot org
  2005-09-02 16:40 ` pinskia at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 15:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 15:46 -------
I have to re-reduce this because I found a different bug as I reduced it too far, see PR 23698 for that 
bug.

-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (11 preceding siblings ...)
  2005-09-02 15:47 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 16:40 ` pinskia at gcc dot gnu dot org
  2005-09-02 16:42 ` matz at suse dot de
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 16:40 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 16:39 -------
Hmm I think the reason why this is accepted on the mainline is the same reason why PR 23698 is 
accepted.

-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (12 preceding siblings ...)
  2005-09-02 16:40 ` pinskia at gcc dot gnu dot org
@ 2005-09-02 16:42 ` matz at suse dot de
  2005-09-02 22:52 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: matz at suse dot de @ 2005-09-02 16:42 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matz at suse dot de


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (13 preceding siblings ...)
  2005-09-02 16:42 ` matz at suse dot de
@ 2005-09-02 22:52 ` pinskia at gcc dot gnu dot org
  2005-09-07 20:03 ` bangerth at dealii dot org
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-02 22:52 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-02 22:51 -------
Confirmed and htere is the reduced testcase:
namespace std {
  class type_info   {
    bool operator==(const type_info& __arg) const;
  };
}
template <class T, T val> struct integral_constant {
  static const T value = val;
};
template< typename T > struct is_integral : integral_constant<bool,false> {};
template <bool B>   struct enable_if_c {};
template<typename Functor>
  typename enable_if_c<(is_integral<Functor>::value)>::type
    operator==(const int& f, Functor g);
template<class D>
int get_deleter( std::type_info const & ti )
{
  return ti == typeid(D);
}


The different between this and PR 23698 is indirectness of value in is_integral, this one goes though a 
base class while the other one does not.  This test unlike the one in PR 23698 is accepted Comeau.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-09-02 22:51:51
               date|                            |


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (14 preceding siblings ...)
  2005-09-02 22:52 ` pinskia at gcc dot gnu dot org
@ 2005-09-07 20:03 ` bangerth at dealii dot org
  2005-09-07 20:07 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: bangerth at dealii dot org @ 2005-09-07 20:03 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bangerth at dealii dot org  2005-09-07 20:03 -------
This is actually a duplicate of PR 23771. It compiles fine with 4.0.1pre 
but doesn't anymore with today's 4.0.2pre. 
 
W. 

*** This bug has been marked as a duplicate of 23771 ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |DUPLICATE


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (15 preceding siblings ...)
  2005-09-07 20:03 ` bangerth at dealii dot org
@ 2005-09-07 20:07 ` pinskia at gcc dot gnu dot org
  2005-09-07 20:12 ` bangerth at dealii dot org
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-07 20:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-07 20:06 -------
(In reply to comment #11)
> This is actually a duplicate of PR 23771. It compiles fine with 4.0.1pre 
> but doesn't anymore with today's 4.0.2pre. 

Actually it is not really as this one works on the mainline.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (16 preceding siblings ...)
  2005-09-07 20:07 ` pinskia at gcc dot gnu dot org
@ 2005-09-07 20:12 ` bangerth at dealii dot org
  2005-09-08 16:51 ` bangerth at dealii dot org
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: bangerth at dealii dot org @ 2005-09-07 20:12 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bangerth at dealii dot org
   Last reconfirmed|2005-09-06 18:49:14         |2005-09-07 20:12:20
               date|                            |


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (17 preceding siblings ...)
  2005-09-07 20:12 ` bangerth at dealii dot org
@ 2005-09-08 16:51 ` bangerth at dealii dot org
  2005-09-08 18:57 ` cvs-commit at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: bangerth at dealii dot org @ 2005-09-08 16:51 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |mmitchel at gcc dot gnu dot
                   |dot org                     |org
             Status|REOPENED                    |ASSIGNED


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (18 preceding siblings ...)
  2005-09-08 16:51 ` bangerth at dealii dot org
@ 2005-09-08 18:57 ` cvs-commit at gcc dot gnu dot org
  2005-09-08 19:00 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-08 18:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-08 18:57 -------
Subject: Bug 23691

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2005-09-08 18:56:50

Modified files:
	gcc/cp         : ChangeLog decl2.c 
	gcc/testsuite  : ChangeLog 

Log message:
	PR c++/23691
	* decl2.c (mark_used): Instantiate static data members initialized
	by constants, even in a template.
	
	PR c++/23691
	* g++.dg/template/static16.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4878&r2=1.4879
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.797&r2=1.798
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6031&r2=1.6032



-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (19 preceding siblings ...)
  2005-09-08 18:57 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-08 19:00 ` cvs-commit at gcc dot gnu dot org
  2005-09-08 19:02 ` mmitchel at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-08 19:00 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-08 18:59 -------
Subject: Bug 23691

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	mmitchel@gcc.gnu.org	2005-09-08 18:58:38

Modified files:
	gcc/cp         : ChangeLog decl2.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: static16.C 

Log message:
	PR c++/23691
	* decl2.c (mark_used): Instantiate static data members initialized
	by constants, even in a template.
	
	PR c++/23691
	* g++.dg/template/static16.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.95&r2=1.4648.2.96
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.770.2.5&r2=1.770.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.390&r2=1.5084.2.391
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/static16.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1



-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (20 preceding siblings ...)
  2005-09-08 19:00 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-08 19:02 ` mmitchel at gcc dot gnu dot org
  2005-09-08 19:04 ` mmitchel at gcc dot gnu dot org
  2005-09-12 19:01 ` cvs-commit at gcc dot gnu dot org
  23 siblings, 0 replies; 25+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-08 19:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2005-09-08 19:01 -------
Fixed in 4.0.2.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (21 preceding siblings ...)
  2005-09-08 19:02 ` mmitchel at gcc dot gnu dot org
@ 2005-09-08 19:04 ` mmitchel at gcc dot gnu dot org
  2005-09-12 19:01 ` cvs-commit at gcc dot gnu dot org
  23 siblings, 0 replies; 25+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-08 19:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2005-09-08 19:03 -------
*** Bug 23771 has been marked as a duplicate of this bug. ***

-- 
Bug 23691 depends on bug 23771, which changed state.

Bug 23771 Summary: [4.0/4.1 regression] Constant template argument not recognized as such
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23771

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |DUPLICATE

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


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug c++/23691] [4.0 Regression] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' because it is a non-constant expression
  2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
                   ` (22 preceding siblings ...)
  2005-09-08 19:04 ` mmitchel at gcc dot gnu dot org
@ 2005-09-12 19:01 ` cvs-commit at gcc dot gnu dot org
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-12 19:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-12 19:01 -------
Subject: Bug 23691

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2005-09-12 19:00:57

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/template: static16.C 

Log message:
	PR c++/23691
	* g++.dg/template/static16.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6048&r2=1.6049
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/static16.C.diff?cvsroot=gcc&r1=1.1&r2=1.2



-- 


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


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2005-09-12 19:01 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-02  9:01 [Bug c++/23691] New: ‘mpl_::bool_<false>::value’ is not a valid template argument for type ‘bool’ because it is a non-constant expression caolanm at redhat dot com
2005-09-02  9:05 ` [Bug c++/23691] " caolanm at redhat dot com
2005-09-02 12:02 ` pinskia at gcc dot gnu dot org
2005-09-02 13:05 ` [Bug c++/23691] `mpl_::bool_<false>::value' is not a valid template argument for type `bool' " jakub at gcc dot gnu dot org
2005-09-02 13:07 ` [Bug c++/23691] [4.0 Regression] " pinskia at gcc dot gnu dot org
2005-09-02 13:11 ` pinskia at gcc dot gnu dot org
2005-09-02 13:13 ` pinskia at gcc dot gnu dot org
2005-09-02 13:20 ` jakub at gcc dot gnu dot org
2005-09-02 13:21 ` jakub at gcc dot gnu dot org
2005-09-02 13:23 ` jakub at gcc dot gnu dot org
2005-09-02 13:30 ` pinskia at gcc dot gnu dot org
2005-09-02 13:41 ` pinskia at gcc dot gnu dot org
2005-09-02 15:47 ` pinskia at gcc dot gnu dot org
2005-09-02 16:40 ` pinskia at gcc dot gnu dot org
2005-09-02 16:42 ` matz at suse dot de
2005-09-02 22:52 ` pinskia at gcc dot gnu dot org
2005-09-07 20:03 ` bangerth at dealii dot org
2005-09-07 20:07 ` pinskia at gcc dot gnu dot org
2005-09-07 20:12 ` bangerth at dealii dot org
2005-09-08 16:51 ` bangerth at dealii dot org
2005-09-08 18:57 ` cvs-commit at gcc dot gnu dot org
2005-09-08 19:00 ` cvs-commit at gcc dot gnu dot org
2005-09-08 19:02 ` mmitchel at gcc dot gnu dot org
2005-09-08 19:04 ` mmitchel at gcc dot gnu dot org
2005-09-12 19:01 ` cvs-commit 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).