/// Check that std::tm and a few others are mangled as tm on Solaris only. /// Issue #33114. /// // RUN: %clang_cc1 -emit-llvm %s -o - -triple amd64-pc-solaris2.11 | FileCheck --check-prefix=CHECK-SOLARIS %s // RUN: %clang_cc1 -emit-llvm %s -o - -triple x86_64-unknown-linux-gnu | FileCheck --check-prefix=CHECK-LINUX %s // // REQUIRES: x86-registered-target namespace std { extern "C" { struct tm { int tm_sec; }; struct ldiv_t { long quot; }; } } // CHECK-SOLARIS: @_Z6tmfunc2tm // CHECK-SOLARIS: @_Z9tmccpfunc2tmPKcS1_ // CHECK-SOLARIS: @_Z7tm2func2tmS_ // CHECK-LINUX: @_Z6tmfuncSt2tm // CHECK-LINUX: @_Z9tmccpfuncSt2tmPKcS1_ // CHECK-LINUX: @_Z7tm2funcSt2tmS_ void tmfunc (std::tm tm) {} void tmccpfunc (std::tm tm, const char *ccp, const char *ccp2) {} void tm2func (std::tm tm, std::tm tm2) {} // CHECK-SOLARIS: @_Z7ldtfunc6ldiv_t // CHECK-LINUX: @_Z7ldtfuncSt6ldiv_t void ldtfunc (std::ldiv_t ldt) {}