| // Test without serialization: | 
 | // RUN: %clang_cc1 -triple x86_64-pc-linux -ast-dump %s \ | 
 | // RUN: | FileCheck --strict-whitespace %s | 
 |  | 
 | // Test with serialization: | 
 | // RUN: %clang_cc1 -triple x86_64-pc-linux -emit-pch -o %t %s | 
 | // RUN: %clang_cc1 -x objective-c -triple x86_64-pc-linux -include-pch %t -ast-dump-all /dev/null \ | 
 | // RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \ | 
 | // RUN: | FileCheck --strict-whitespace %s | 
 |  | 
 |  | 
 | @interface Adder | 
 | - (float) sum: (float)x with: (float)y __attribute((optnone)); | 
 | @end | 
 |  | 
 | #pragma float_control(precise, off) | 
 |  | 
 | @implementation Adder | 
 | - (float) sum: (float)x with: (float)y __attribute((optnone)) { | 
 |   return x + y; | 
 | } | 
 |  | 
 | @end | 
 |  | 
 | // CHECK-LABEL: ObjCImplementationDecl {{.*}} Adder | 
 | // CHECK:         ObjCMethodDecl {{.*}} - sum:with: 'float' | 
 | // CHECK:           CompoundStmt {{.*}} FPContractMode=1 MathErrno=1 | 
 | // CHECK-NEXT:        ReturnStmt | 
 | // CHECK-NEXT:          BinaryOperator {{.*}} 'float' '+' FPContractMode=1 MathErrno=1 |