1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-darwin9 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotypedef unsigned long long uint64_t; 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoextern uint64_t numer; 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoextern uint64_t denom; 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaouint64_t 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaof(uint64_t val) 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{ 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao __uint128_t tmp; 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao tmp = val; 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao tmp *= numer; 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao tmp /= denom; 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return tmp; 17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 19