--- 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
---
--- 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() {
--- 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
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
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
101 - 105 of 105 matches
Mail list logo