[PATCH] D67592: [Clang] Use -main-file-name for source filename if not set

Teresa Johnson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 30 10:29:37 PDT 2019


tejohnson added a comment.

In D67592#1688413 <https://reviews.llvm.org/D67592#1688413>, @thakis wrote:

> This is failing on my mac like so:


This should be fixed by r373237. I didn't get any email with buildbot failures, but someone mailed one to me manually. Not sure why it only fails sometimes.

> 
> 
>   FAIL: Clang :: Frontend/stdin-input.c (1 of 1)
>   ******************** TEST 'Clang :: Frontend/stdin-input.c' FAILED ********************
>   Script:
>   --
>   : 'RUN: at line 1';   cat /Users/thakis/src/llvm-project/clang/test/Frontend/stdin-input.c | /Users/thakis/src/llvm-project/out/gn/bin/clang -emit-llvm -g -S  -Xclang -main-file-name -Xclang test/foo.c -x c - -o - | /Users/thakis/src/llvm-project/out/gn/bin/FileCheck /Users/thakis/src/llvm-project/clang/test/Frontend/stdin-input.c
>   --
>   Exit Code: 1
>   
>   Command Output (stderr):
>   --
>   + : 'RUN: at line 1'
>   + cat /Users/thakis/src/llvm-project/clang/test/Frontend/stdin-input.c
>   + /Users/thakis/src/llvm-project/out/gn/bin/clang -emit-llvm -g -S -Xclang -main-file-name -Xclang test/foo.c -x c - -o -
>   + /Users/thakis/src/llvm-project/out/gn/bin/FileCheck /Users/thakis/src/llvm-project/clang/test/Frontend/stdin-input.c
>   /Users/thakis/src/llvm-project/clang/test/Frontend/stdin-input.c:5:11: error: CHECK: expected string not found in input
>   // CHECK: !1 = !DIFile(filename: "test/foo.c"
>             ^
>   <stdin>:3:1: note: scanning from here
>   target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
>   ^
>   <stdin>:24:1: note: possible intended match here
>   !6 = !DIFile(filename: "test/foo.c", directory: "/Users/thakis/src/llvm-project/out/gn/obj/clang/test/Frontend")
>   ^
>   
>   --
>   
>   ********************
>   Testing Time: 0.06s
>   ********************
>   Failing Tests (1):
>       Clang :: Frontend/stdin-input.c
> 
> 
> If I manually run `bin/llvm-lit clang/test/Frontend/stdin-input.c` it fails, but if I run the command it claims to be running it passes.
> 
> If I replace the `FileCheck` on the run line with `> tmp.txt` I see what the failing FileCheck is seeing:
> 
>   !0 = !{i32 2, !"SDK Version", [2 x i32] [i32 10, i32 14]}
>   !1 = !{i32 2, !"Dwarf Version", i32 4}
>   !2 = !{i32 2, !"Debug Info Version", i32 3}
>   !3 = !{i32 1, !"wchar_size", i32 4}
>   !4 = !{i32 7, !"PIC Level", i32 2}
>   !5 = distinct !DICompileUnit(language: DW_LANG_C99, file: !6, producer: "clang version 10.0.0 ", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !7, nameTableKind: None)
>   !6 = !DIFile(filename: "test/foo.c", directory: "/Users/thakis/src/llvm-project/out/gn/obj/clang/test/Frontend")
> 
> 
> I'm guessing lit sets some env var that makes clang emit these additional values (?)




Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67592/new/

https://reviews.llvm.org/D67592





More information about the cfe-commits mailing list