2014-05-08 21:49:54 +08:00
// This file tests -Rpass diagnostics together with #line
// directives. We cannot map #line directives back to
// a SourceLocation.
2019-06-20 01:41:30 +08:00
// RUN: %clang_cc1 %s -Rpass=inline -debug-info-kind=line-tables-only -dwarf-column-info -emit-llvm-only -verify -fno-experimental-new-pass-manager
// The new PM inliner is not added to the default pipeline at O0, so we add
// some optimizations to trigger it.
// RUN: %clang_cc1 %s -Rpass=inline -fexperimental-new-pass-manager -O1 -debug-info-kind=line-tables-only -dwarf-column-info -emit-llvm-only -verify
2014-06-06 06:11:12 +08:00
2014-05-08 21:49:54 +08:00
int foo ( int x , int y ) __attribute__ ( ( always_inline ) ) ;
int foo ( int x , int y ) { return x + y ; }
2015-09-15 05:35:16 +08:00
// expected-remark@+2 {{foo inlined into bar}} expected-note@+2 {{could not determine the original source location for /bad/path/to/original.c:1230:25}}
2014-05-08 21:49:54 +08:00
# line 1230 " / bad / path / to / original.c"
int bar ( int j ) { return foo ( j , j - 2 ) ; }