| // Test without serialization: | 
 | // RUN: %clang_cc1 -ast-dump %s | FileCheck %s | 
 | // | 
 | // Test with serialization: | 
 | // RUN: %clang_cc1 -emit-pch -o %t %s | 
 | // RUN: %clang_cc1 -x c -include-pch %t -ast-dump-all /dev/null \ | 
 | // RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \ | 
 | // RUN: | FileCheck %s | 
 |  | 
 | void variadic(int, ...); | 
 |  | 
 | void test_floating_promotion(__fp16 *f16, float f32, double f64) { | 
 |   variadic(3, *f16, f32, f64); | 
 |  | 
 | // CHECK: ImplicitCastExpr {{.*}} 'double' <FloatingCast> | 
 | // CHECK-NEXT: '__fp16' | 
 |  | 
 | // CHECK: ImplicitCastExpr {{.*}} 'double' <FloatingCast> | 
 | // CHECK-NEXT: 'float' | 
 | } |