[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


           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;

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
  [a setRect:frameRect];
/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
  [a setRect:frameRect];
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