Skip to content

Assertion failed: ("conflicting locations for variable") #32504

Closed
@adrian-prantl

Description

@adrian-prantl
Bugzilla Link 33157
Resolution FIXED
Resolved on Jun 13, 2017 01:44
Version trunk
OS All
CC @adrian-prantl,@mveriksson,@pogo59,@rnk

Extended Description

Assertion failure when compiling Adium.

$ cat test.mi
typedef signed char BOOL;
@​protocol NSObject
@​end
typedef double CGFloat;
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
struct CGSize {
CGFloat width;
CGFloat height;
};
typedef struct CGSize CGSize;
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
typedef CGRect NSRect;
CGRect NSMakeRect(CGFloat x, CGFloat y, CGFloat w, CGFloat h) {
CGRect r;
r.origin.x = x;
r.size.width = w;
return r;
}
CGFloat NSMaxX(NSRect aRect) { return (aRect.origin.x + aRect.size.width); }
@​protocol NSAccessibilityElement
@​end
@​interface NSView
@​end
@​interface KNShelfSplitView : NSView {
CGSize backgroundSize;
}
@​end
@​implementation KNShelfSplitView

  • (void)
    :(NSRect)aRect active:(BOOL)isActive {
    NSRect sourceRect =
    NSMakeRect(0, 0, backgroundSize.width, backgroundSize.height);
    NSRect destRect = NSMakeRect(aRect.origin.x, aRect.origin.y,
    sourceRect.size.width, aRect.size.height);
    while ((destRect.origin.x < NSMaxX(aRect)) && destRect.size.width > 0) {
    if (NSMaxX(destRect) > NSMaxX(aRect)) {
    sourceRect.size.width = NSWidth(destRect);
    }
    }
    }
    @​end

$ clang -cc1 -triple x86_64-apple-macosx10.6.0 -emit-obj -dwarf-column-info -debug-info-kind=standalone -dwarf-version=4 -debugger-tuning=lldb -Os -std=gnu99 -fblocks -x objective-c test.mi 2>&1 | grep all_of

Assertion failed: (all_of(FrameIndexExprs, [](FrameIndexExpr &FIE) { return FIE.Expr && FIE.Expr->isFragment(); }) && "conflicting locations for variable"), function addMMIEntry, file ../lib/CodeGen/AsmPrinter/DwarfDebug.h, line 142.

This started failing with r302544:

Re-land "Use the frame index side table for byval and inalloca arguments"

This re-lands r302483. It was not the cause of #32324 .

git-original-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302544

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions