[cfe-commits] r165117 - in /cfe/trunk: lib/AST/ExprConstant.cpp test/CodeGen/const-label-addr.c

Benjamin Kramer benny.kra at googlemail.com
Wed Oct 3 07:15:39 PDT 2012


Author: d0k
Date: Wed Oct  3 09:15:39 2012
New Revision: 165117

URL: http://llvm.org/viewvc/llvm-project?rev=165117&view=rev
Log:
CodeGen: Fix a silly typo when emitting subs of block addresses.

Part of PR14005.

Modified:
    cfe/trunk/lib/AST/ExprConstant.cpp
    cfe/trunk/test/CodeGen/const-label-addr.c

Modified: cfe/trunk/lib/AST/ExprConstant.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ExprConstant.cpp?rev=165117&r1=165116&r2=165117&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ExprConstant.cpp (original)
+++ cfe/trunk/lib/AST/ExprConstant.cpp Wed Oct  3 09:15:39 2012
@@ -4919,7 +4919,7 @@
           if (!LHSValue.Offset.isZero() || !RHSValue.Offset.isZero())
             return false;
           const Expr *LHSExpr = LHSValue.Base.dyn_cast<const Expr*>();
-          const Expr *RHSExpr = LHSValue.Base.dyn_cast<const Expr*>();
+          const Expr *RHSExpr = RHSValue.Base.dyn_cast<const Expr*>();
           if (!LHSExpr || !RHSExpr)
             return false;
           const AddrLabelExpr *LHSAddrExpr = dyn_cast<AddrLabelExpr>(LHSExpr);

Modified: cfe/trunk/test/CodeGen/const-label-addr.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/const-label-addr.c?rev=165117&r1=165116&r2=165117&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/const-label-addr.c (original)
+++ cfe/trunk/test/CodeGen/const-label-addr.c Wed Oct  3 09:15:39 2012
@@ -1,4 +1,16 @@
-// RUN: %clang_cc1 %s -emit-llvm -o %t
+// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
+
+// CHECK: @a.a = internal global i8* blockaddress(@a, %A)
 int a() {
 A:;static void* a = &&A;
 }
+
+// PR14005
+// CHECK: @b.ar = internal global {{.*}} sub (i{{..}} ptrtoint (i8* blockaddress(@b, %l2) to i{{..}}), i{{..}} ptrtoint (i8* blockaddress(@b, %l1) to i{{..}}))
+int b() {
+  static int ar = &&l2 - &&l1;
+l1:
+  return 10;
+l2:
+  return 11;
+}





More information about the cfe-commits mailing list