[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#164554: gcc-3.2: volatile not respected on alpha



Package: gcc-3.2
Version: 1:3.2.1-0pre2
Severity: normal

The following program produces output where the assignment to j occurs
before the i has been incremented.  This breaks any program using such
constructs to ensure consistency:

volatile int i;
int j;

void a() {
	i++;
	j = 6;
	i--;
}

	.prologue 1
	ldq $3,i($29)		!literal
	lda $4,6($31)
	ldq $1,j($29)		!literal
	ldl $2,0($3)
	stl $4,0($1)
	lda $2,1($2)
	stl $2,0($3)

-- System Information
Debian Release: testing/unstable
Kernel Version: Linux gondolin 2.4.18-686-smp #1 SMP Sun Apr 14 12:07:19 EST 2002 i686 unknown unknown GNU/Linux

Versions of the packages gcc-3.2 depends on:
ii  binutils       2.13.90.0.4-1  The GNU assembler, linker and binary utiliti
ii  cpp-3.2        3.2.1-0pre2    The GNU C preprocessor.
ii  gcc-3.2-base   3.2.1-0pre2    The GNU Compiler Collection (base package).
ii  libc6          2.2.5-14.3     GNU C Library: Shared libraries and Timezone
ii  libgcc1        3.2.1-0pre2    GCC support library.



Reply to: