[Bug c++/14032] non type boolean template argument partial specialization to argument in parent never matches

2006-11-08 Thread bangerth at dealii dot org
--- Comment #8 from bangerth at dealii dot org 2006-11-09 05:25 --- *** Bug 29767 has been marked as a duplicate of this bug. *** -- bangerth at dealii dot org changed: What|Removed |Added ---

[Bug c++/14032] Specialization of inner template using outer template argument doesn't work

2006-11-08 Thread bangerth at dealii dot org
--- Comment #9 from bangerth at dealii dot org 2006-11-09 05:33 --- PR29767 made me try whether we can achieve the same wrong effect for template type parameters, and indeed we can: template struct outer { template struct inner { static int f() {

[Bug c++/29767] partial specialization enclosed templates within the declaration of the enclosed class.

2006-11-08 Thread bangerth at dealii dot org
--- Comment #7 from bangerth at dealii dot org 2006-11-09 05:35 --- (In reply to comment #0) > gcc and msvc accept such code but produces different results. > is this code (in)valid? i'm not sure what behaviour is correct. The code is valid because it is a *partial* specialization of th

[Bug target/29775] New: redundant movzbl

2006-11-08 Thread dean at arctic dot org
in the following code, the compiler zero-extends the same byte twice... there's something about using byte0 in an if () statement which triggers this -- if you comment out the if() the problem goes away. -dean % cat redundant_movzbl.c unsigned foo(unsigned char *p) { unsigned byte0 = *p; unsi

[Bug target/29776] New: result of ffs/clz/ctz/popcount/parity are already sign-extended

2006-11-08 Thread dean at arctic dot org
unfortunately the ffs/clz/ctz/popcount/parity builtins are defined to return signed types despite the fact they are either undefined or return a non-negative integer. as a result unnecessary sign extension occurs. for example in this case the result of bsf could be used directly in the mask[] ind

<    1   2