http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54823



             Bug #: 54823

           Summary: string literal characters not constant

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: de...@fresse.org





this:



int main(void)

{

  int c = *" ";

  printf("%x\n", c);

  return 0;

}



results in (the constant expression):



     movl    $32, %eax



But this:



int main(void)

{

  enum {foo = *" "};

  printf("%x\n", foo);

  return 0;

}



gives

error: enumerator value for 'foo' is not an integer constant.



Whereas icc for instance just accepts the second form as constant integer

expression.

Reply via email to