[LLVMbugs] [Bug 10905] New: Drop fixits that don't compile cleanly

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Sep 10 16:18:12 PDT 2011


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

           Summary: Drop fixits that don't compile cleanly
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nicolasweber at gmx.de
                CC: llvmbugs at cs.uiuc.edu


thakis-macbookpro:src thakis$ cat test.mm
#import <Cocoa/Cocoa.h>

@interface A : NSObject
- (void)setRect:(NSRect)r;
@end

void f(A* a) {
  NSRect rect;
  [a setRect:frameRect];  // Meant: |rect|
}


# GCC is short and to the point
thakis-macbookpro:src thakis$ gcc -c test.mm
test.mm: In function ‘void f(A*)’:
test.mm:9: error: ‘frameRect’ was not declared in this scope


# Clang not so much:
thakis-macbookpro:src thakis$ third_party/llvm-build/Release+Asserts/bin/clang
-c test.mm
test.mm:9:14: error: use of undeclared identifier 'frameRect'; did you mean
'NSFrameRect'?
  [a setRect:frameRect];
             ^~~~~~~~~
             NSFrameRect
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:148:20: note:
'NSFrameRect' declared here
APPKIT_EXTERN void NSFrameRect(NSRect aRect);
                   ^
test.mm:9:14: error: no viable conversion from 'void (NSRect)' to 'NSRect' (aka
'CGRect')
  [a setRect:frameRect];
             ^~~~~~~~~
/System/Library/Frameworks/ApplicationServices.framework/Headers/../Frameworks/CoreGraphics.framework/Headers/CGGeometry.h:29:8:
note: candidate constructor (the implicit copy constructor) not viable: no
known conversion from 'void (NSRect)' to
      'const CGRect &' for 1st argument;
struct CGRect {
       ^
test.mm:4:25: note: passing argument to parameter 'r' here
- (void)setRect:(NSRect)r;
                        ^
2 errors generated.

-- 
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