[LLVMbugs] [Bug 10110] New: Add support for __attribute__((bitwise)) and -Wbitwise
    bugzilla-daemon at llvm.org 
    bugzilla-daemon at llvm.org
       
    Thu Jun  9 08:21:23 PDT 2011
    
    
  
http://llvm.org/bugs/show_bug.cgi?id=10110
           Summary: Add support for __attribute__((bitwise)) and -Wbitwise
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: tim.nieradzik at gmx.de
                CC: llvmbugs at cs.uiuc.edu
__attribute__((bitwise)) allows annotating integer types to detect type
mismatches. This feature is implemented in Sparse but it would be certainly
useful if Clang could do these checks out-of-the-box.
>From the man page:
---
Warn about unsupported operations or type mismatches with restricted integer
types.
Sparse supports an extended attribute, __attribute__((bitwise)), which creates
a new restricted integer type from a base integer type, distinct from the base
integer type and from any other restricted integer type not declared in the
same declaration or typedef. For example, this allows programs to create
typedefs for integer types with specific endianness. With -Wbitwise, Sparse
will warn on any use of a restricted type in arithmetic operations other than
bitwise operations, and on any conversion of one restricted type into another,
except via a cast that includes __attribute__((force)).
---
The Linux kernel already makes extensive use of __attribute__((bitwise)) to
distinguish between big-endian and little-endian integers, cf.
http://www.gelato.unsw.edu.au/IA64wiki/SparseAnnotations
-- 
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.
    
    
More information about the llvm-bugs
mailing list