Unassigned outputs in Process blocks
 
 
A common mistake in writing a combinational process is to leave an output unassigned.  If there is a path through the process in which an output is NOT assigned a value, then that value is unassigned.
ARCHITECTURE bad of majority is
              if (((A = '1') and (B = '1')) or
                  ((A = '1') and (C = '1')) or 
                  ((B = '1') and (C = '1')) ) then