http://llvm.org/bugs/show_bug.cgi?id=2279

           Summary: Conformance problems with pp expressions
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: preprocessor
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [email protected]


These are conformance problems I'm aware of regarding PP expressions.  If you
need a testcase I can provide, but they should be obvious from the
descriptions:

a) Comma subexpressions are permitted in C99 as long as they are unevaluated. 
Clang rejects them, which is correct behaviour for C90 but not C99 (see 6.6).
b) Clang doesn't follow the grammar for the 2nd operand of the conditional
operator.
c) Clang doesn't follow the rules for the signedness of the result of the shift
operators (no UAC).
d) Clang seems to have issues with unevaluated subexpressions.  Here are two
examples:

#if 0 ? 1/0: 2
#else
#error
#endif

#if 1 || 1/0
#else
#error
#endif


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to