VHDL: Infinite loop for constant, but no problem with literal
Which version of GHDL? I have just tried the example (fixing two typos mentioned by "damage"), and both forms appear to do the same thing.

By the way, +1 for a nice simple testcase.

I am using the following:

uname -a
Linux Gannet 3.2.0-4-amd64 #1 SMP Debian 3.2.39-2 x86_64 GNU/Linux

 ghdl --version
GHDL 0.30dev (20100112) [Sokcho edition]
 Compiled with GNAT Version: 4.7.2

 gtkwave --version
GTKWave Analyzer v3.3.46 (w)1999-2012 BSI


and the commands:

ghdl -a s.vhd
ghdl -a v1.vhd
ghdl -e testbench
./testbench --vcd=test --stop-time=50ms
gtkwave test


The result looks like this:


Now this version of GHDL is currently only available as an experimental package for Debian (Ubuntu etc) - for other distributions and OSes it is only available by building from source : see "instructions" section in message 4 at this GHDL bugreport page for details. However it is my belief that GHDL 0.29 should also work in your case; earlier versions may not.

UPDATE: this has also been the first test of GHDL built with gcc4.8 ... looks OK so far!