[PATCH] D37035: Implement __builtin_LINE() et. al. to support source location capture.

Ulrich Weigand via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 27 16:57:29 PDT 2019

uweigand added a comment.

Looks like this test is failing on SystemZ since it was added, making all our build bots red:

  /home/uweigand/sandbox/buildbot/clang-s390x-linux/llvm/tools/clang/test/CodeGenCXX/builtin_FUNCTION.cpp:9:11: error: CHECK: expected string not found in input
  // CHECK: @[[EMPTY_STR:.+]] = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
  /home/uweigand/sandbox/buildbot/clang-s390x-linux/stage1/tools/clang/test/CodeGenCXX/Output/builtin_FUNCTION.cpp.tmp.ll:1:1: note: scanning from here
  ; ModuleID = '/home/uweigand/sandbox/buildbot/clang-s390x-linux/llvm/tools/clang/test/CodeGenCXX/builtin_FUNCTION.cpp'
  /home/uweigand/sandbox/buildbot/clang-s390x-linux/stage1/tools/clang/test/CodeGenCXX/Output/builtin_FUNCTION.cpp.tmp.ll:8:1: note: possible intended match here
  @.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 2

The problem is that string constants are 2-aligned according to the SystemZ ABI (this is a bit different, but deliberate in order to allow computing their addresses with a LARL instruction).  This makes all the "align 1" checks fail.

Is this test deliberately verifying the alignment, or could this just be removed?

  rC Clang



More information about the cfe-commits mailing list