Skip to content

Instantly share code, notes, and snippets.

@eschnett
Created February 19, 2016 16:20
Show Gist options
  • Save eschnett/5c6fcd0a57469653d030 to your computer and use it in GitHub Desktop.
Save eschnett/5c6fcd0a57469653d030 to your computer and use it in GitHub Desktop.
bgclang 3.8.0 OpenMP ICE
COMPILING arrangements/Carpet/CarpetInterp/src/interp.cc
clang: /gpfs/vesta-home/hfinkel/rpmbuild/BUILD/llvm/lib/IR/Instructions.cpp:2596: static llvm::CastInst *llvm::CastInst::Create(Instruction::CastOps, llvm::Value *, llvm::Type *, const llvm::Twine &, llvm::Instruction *): Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.
#0 0xfff7b3b43f4 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/libLLVM-3.8svn.so+0x1c943f4)
#1 0xfff7b3b5590 PrintStackTraceSignalHandler(void*) (/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/libLLVM-3.8svn.so+0x1c95590)
#2 0xfff7b3b339c llvm::sys::RunSignalHandlers() (/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/libLLVM-3.8svn.so+0x1c9339c)
#3 0xfff7b3b5c98 SignalHandler(int) (/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/libLLVM-3.8svn.so+0x1c95c98)
0 libLLVM-3.8svn.so 0x00000fff7b3b43f4 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 4275914412
1 libLLVM-3.8svn.so 0x00000fff7b3b5590
2 libLLVM-3.8svn.so 0x00000fff7b3b339c llvm::sys::RunSignalHandlers() + 4275910396
3 libLLVM-3.8svn.so 0x00000fff7b3b5c98
4 0x00000fff7c660448 __kernel_sigtramp_rt64 + 0
5 libc.so.6 0x00000080a8196e88 abort + 4293479736
6 libc.so.6 0x00000080a818b90c
7 libc.so.6 0x00000080a818ba24 __assert_fail + 4293437364
8 libLLVM-3.8svn.so 0x00000fff7a8b5904 llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, llvm::Twine const&, llvm::Instruction*) + 4264709420
9 clang 0x0000000010647dcc clang::CodeGen::CodeGenFunction::EmitCall(clang::CodeGen::CGFunctionInfo const&, llvm::Value*, clang::CodeGen::ReturnValueSlot, clang::CodeGen::CallArgList const&, clang::Decl const*, llvm::Instruction**) + 4272083716
10 clang 0x00000000106a7ca4 clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorCall(clang::CXXMethodDecl const*, llvm::Value*, clang::CodeGen::ReturnValueSlot, llvm::Value*, llvm::Value*, clang::QualType, clang::CallExpr const*) + 4272465476
11 clang 0x00000000106a9488 clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) + 4272471472
12 clang 0x00000000106a9e74 clang::CodeGen::CodeGenFunction::EmitCXXOperatorMemberCallExpr(clang::CXXOperatorCallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot) + 4272473964
13 clang 0x000000001069c350 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419280
14 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
15 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
16 clang 0x000000001068aa98 clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(clang::Expr const*) + 4272349336
17 clang 0x0000000010644af4 clang::CodeGen::CodeGenFunction::EmitCallArg(clang::CodeGen::CallArgList&, clang::Expr const*, clang::QualType) + 4272071012
18 clang 0x0000000010644534 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, llvm::ArrayRef<clang::QualType>, llvm::iterator_range<clang::Stmt::ConstExprIterator>, clang::FunctionDecl const*, unsigned int) + 4272069564
19 clang 0x00000000105f57e4
20 clang 0x000000001069cda8 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, llvm::Value*, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, clang::Decl const*, llvm::Value*) + 4272421904
21 clang 0x000000001069c334 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419252
22 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
23 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
24 clang 0x00000000106a9008 clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) + 4272470320
25 clang 0x00000000106a9e74 clang::CodeGen::CodeGenFunction::EmitCXXOperatorMemberCallExpr(clang::CXXOperatorCallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot) + 4272473964
26 clang 0x000000001069c350 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419280
27 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
28 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
29 clang 0x000000001068aa98 clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(clang::Expr const*) + 4272349336
30 clang 0x0000000010644af4 clang::CodeGen::CodeGenFunction::EmitCallArg(clang::CodeGen::CallArgList&, clang::Expr const*, clang::QualType) + 4272071012
31 clang 0x0000000010644534 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, llvm::ArrayRef<clang::QualType>, llvm::iterator_range<clang::Stmt::ConstExprIterator>, clang::FunctionDecl const*, unsigned int) + 4272069564
32 clang 0x00000000105f57e4
33 clang 0x000000001069cda8 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, llvm::Value*, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, clang::Decl const*, llvm::Value*) + 4272421904
34 clang 0x000000001069c334 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419252
35 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
36 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
37 clang 0x00000000106a9008 clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) + 4272470320
38 clang 0x00000000106a9e74 clang::CodeGen::CodeGenFunction::EmitCXXOperatorMemberCallExpr(clang::CXXOperatorCallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot) + 4272473964
39 clang 0x000000001069c350 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419280
40 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
41 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
42 clang 0x000000001068aa98 clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(clang::Expr const*) + 4272349336
43 clang 0x0000000010644af4 clang::CodeGen::CodeGenFunction::EmitCallArg(clang::CodeGen::CallArgList&, clang::Expr const*, clang::QualType) + 4272071012
44 clang 0x0000000010644534 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, llvm::ArrayRef<clang::QualType>, llvm::iterator_range<clang::Stmt::ConstExprIterator>, clang::FunctionDecl const*, unsigned int) + 4272069564
45 clang 0x00000000105f57e4
46 clang 0x000000001069cda8 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, llvm::Value*, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, clang::Decl const*, llvm::Value*) + 4272421904
47 clang 0x000000001069c334 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419252
48 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
49 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
50 clang 0x000000001068aa98 clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(clang::Expr const*) + 4272349336
51 clang 0x0000000010644af4 clang::CodeGen::CodeGenFunction::EmitCallArg(clang::CodeGen::CallArgList&, clang::Expr const*, clang::QualType) + 4272071012
52 clang 0x0000000010644534 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, llvm::ArrayRef<clang::QualType>, llvm::iterator_range<clang::Stmt::ConstExprIterator>, clang::FunctionDecl const*, unsigned int) + 4272069564
53 clang 0x00000000105f57e4
54 clang 0x000000001069cda8 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, llvm::Value*, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, clang::Decl const*, llvm::Value*) + 4272421904
55 clang 0x000000001069c334 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419252
56 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
57 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
58 clang 0x00000000106a9008 clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) + 4272470320
59 clang 0x00000000106a9e74 clang::CodeGen::CodeGenFunction::EmitCXXOperatorMemberCallExpr(clang::CXXOperatorCallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot) + 4272473964
60 clang 0x000000001069c350 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 4272419280
61 clang 0x000000001068f3e0 clang::CodeGen::CodeGenFunction::EmitCallExprLValue(clang::CallExpr const*) + 4272367688
62 clang 0x0000000010686ea4 clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr const*) + 4272334228
63 clang 0x0000000010686ab0 clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) + 4272333264
64 clang 0x000000001050a308 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 4270819992
65 clang 0x0000000010542ed8 clang::CodeGen::CodeGenFunction::EmitOMPCapturedBodyHelper(clang::OMPExecutableDirective const&) + 4271047904
66 clang 0x0000000010548200 clang::CodeGen::CodeGenFunction::EmitOMPCriticalDirective(clang::OMPCriticalDirective const&) + 4271068904
67 clang 0x000000001050a500 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 4270820496
68 clang 0x0000000010514bcc clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 4270862692
69 clang 0x0000000010513c58 clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 4270858952
70 clang 0x000000001050b83c clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 4270825396
71 clang 0x000000001050a1e0 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 4270819696
72 clang 0x000000001050c070 clang::CodeGen::CodeGenFunction::EmitIfStmt(clang::IfStmt const&) + 4270827448
73 clang 0x000000001050a458 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 4270820328
74 clang 0x0000000010514bcc clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 4270862692
75 clang 0x0000000010513c58 clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 4270858952
76 clang 0x000000001050b83c clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 4270825396
77 clang 0x000000001050a1e0 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 4270819696
78 clang 0x0000000010527b7c clang::CodeGen::CodeGenFunction::EmitOMPDirectiveWithLoop(clang::OpenMPDirectiveKind, clang::OpenMPDirectiveKind, clang::OMPExecutableDirective const&, bool) + 4270938372
79 clang 0x0000000010521bbc clang::CodeGen::CodeGenFunction::EmitOMPDirectiveWithParallelMicrotask(clang::OpenMPDirectiveKind, llvm::ArrayRef<clang::OpenMPDirectiveKind>, clang::OMPExecutableDirective const&) + 4270914004
80 clang 0x0000000010529288 clang::CodeGen::CodeGenFunction::EmitOMPParallelForDirective(clang::OMPParallelForDirective const&) + 4270944104
81 clang 0x000000001050a634 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 4270820804
82 clang 0x0000000010514bcc clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 4270862692
83 clang 0x000000001055da50 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 4271154384
84 clang 0x0000000010571bf0 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) + 4271233672
85 clang 0x000000001056cf60 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) + 4271214552
86 clang 0x0000000010566654 clang::CodeGen::CodeGenModule::EmitDeferred() + 4271188884
87 clang 0x0000000010565d5c clang::CodeGen::CodeGenModule::Release() + 4271186612
88 clang 0x00000000104a915c
89 clang 0x0000000010499b08
90 clang 0x0000000010765294 clang::ParseAST(clang::Sema&, bool, bool) + 4273227820
91 clang 0x000000001020ec30 clang::ASTFrontendAction::ExecuteAction() + 4267788536
92 clang 0x000000001049845c clang::CodeGenAction::ExecuteAction() + 4270369876
93 clang 0x000000001020e358 clang::FrontendAction::Execute() + 4267786344
94 clang 0x00000000101c8984 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 4267506148
95 clang 0x00000000101a2908 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 4267358008
96 clang 0x0000000010195554 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 4267305060
97 clang 0x00000000101a03d4 main + 4267348772
98 libc.so.6 0x00000080a817c0c8
99 libc.so.6 0x00000080a817c2c0 __libc_start_main + 4293375440
Stack dump:
0. Program arguments: /gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/clang -cc1 -triple powerpc64-bgq-linux -emit-obj -disable-free -main-file-name interp.cc -static-define -mrelocation-model static -mthread-model posix -fveclib=SLEEF -mdisable-fp-elim -menable-no-infs -menable-no-nans -menable-unsafe-fp-math -fno-signed-zeros -freciprocal-math -ffp-contract=fast -ffast-math -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu a2q -target-abi elfv1-qpx -target-linker-version 2.20.51.0.2 -g -dwarf-column-info -coverage-file /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc.o -resource-dir /gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0 -I /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/sleef/include -I /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/omp/include -D __bgclang__=1 -D __bgclang_version__="r248407-20150924" -I /bgsys/drivers/V1R2M2/ppc64/comm/lib/gnu -I /bgsys/drivers/V1R2M2/ppc64 -I /bgsys/drivers/V1R2M2/ppc64/comm/sys/include -I /bgsys/drivers/V1R2M2/ppc64/spi/include -I /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/cnk -D _XOPEN_SOURCE -D _XOPEN_SOURCE_EXTENDED -D _Builtin= -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /gpfs/home/e/eschnett/eschnett/Cvanilla/arrangements/Carpet/CarpetInterp/src -I /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data -I /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include -I /gpfs/home/e/eschnett/eschnett/Cvanilla/src/include -I /gpfs/home/e/eschnett/eschnett/Cvanilla/arrangements -I /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/Configuration/Thorns -I /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /scinet/bgq/Libraries/zlib-1.2.7/include -I /home/e/eschnett/eschnett/hwloc-1.11.2/include -I /bgsys/drivers/ppcfloor/comm/include -I /gpfs/home/e/eschnett/eschnett/Cvanilla/arrangements/Carpet/CarpetInterp/src -I /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp -D CCODE -I /bgsys/drivers/V1R2M2/ppc64/comm/include -I/opt/ibmmath/essl/5.1/include -I/scinet/bgq/Libraries/fftw-3.3.2/include -I/scinet/bgq/Libraries/HDF5-1.8.14/serial-xlc//include -c-isystem /opt/ibmmath/essl/5.1/include -c-isystem /scinet/bgq/Libraries/fftw-3.3.2/include -internal-isystem /usr/local/include -internal-isystem /gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wall -Wall -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/scratch -ferror-limit 19 -fmessage-length 80 -fopenmp -omp-main-file-path /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc -mstackrealign -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -isystem /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include -isystem /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/c11threads -isystem /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/ppcfloor-fixup -isystem /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/ppcfloor-fixup/spi/include -isystem /bgsys/drivers/V1R2M2/ppc64/comm/gcc/include -isystem /bgsys/drivers/V1R2M2/ppc64/comm/lib/gnu -isystem /bgsys/drivers/V1R2M2/ppc64 -isystem /bgsys/drivers/V1R2M2/ppc64/comm/sys/include -isystem /bgsys/drivers/V1R2M2/ppc64/spi/include -isystem /bgsys/drivers/V1R2M2/ppc64/spi/include/kernel/cnk -isystem /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libstdc++fixup/include -isystem /bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/include/c++/4.7.2 -isystem /bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/include/c++/4.7.2/powerpc64-bgq-linux -isystem /bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include -o /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc.o -x c++ /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc
1. <eof> parser at end of file
2. Per-file LLVM IR generation
3. /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc:946:13: Generating code for declaration 'CarpetInterp::map_points'
4. /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc:1023:37: LLVM IR generation of compound statement ('{}')
5. /gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc:1101:49: LLVM IR generation of compound statement ('{}')
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 3.8.0
Target: powerpc64-bgq-linux
Thread model: posix
InstalledDir: /scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/interp-b097e9.cpp
clang: note: diagnostic msg: /tmp/interp-b097e9.sh
clang: note: diagnostic msg:
********************
make[3]: *** [interp.cc.o] Error 254
make[2]: *** [make.checked] Error 2
make[1]: *** [/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/lib/libthorn_CarpetInterp.a] Error 2
make: *** [sim] Error 2
This file has been truncated, but you can view the full file.
# 1 "<built-in>"
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/qpxintrin.h" 1 3
/*===---- qpxintrin.h - PPC QPX intrinsics ---------------------------------===
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#ifndef _QPXINTRIN_H_INCLUDED
#define _QPXINTRIN_H_INCLUDED
typedef double __vector4double __attribute__((__vector_size__(32)));
#ifndef vector4double
#define vector4double __vector4double
#endif
# 31 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/qpxintrin.h" 3
#ifndef __VECTOR4DOUBLE__
#define __VECTOR4DOUBLE__ 1
#endif
# 35 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/qpxintrin.h" 3
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, long *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, long *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, unsigned long *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, unsigned long *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, long long *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, long long *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, unsigned long long *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, unsigned long long *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, float *b) {
return __builtin_qpx_qvlfs((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, float *b) {
return __builtin_qpx_qvlfsa((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, float _Complex *b) {
return __builtin_qpx_qvlfs((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, float _Complex *b) {
return __builtin_qpx_qvlfsa((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, double *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, double *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, double _Complex *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, double _Complex *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld (long a, __vector4double *b) {
return __builtin_qpx_qvlfd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lda (long a, __vector4double *b) {
return __builtin_qpx_qvlfda((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ldia (long a, int *b) {
return __builtin_qpx_qvlfiwa((int *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ldiaa (long a, int *b) {
return __builtin_qpx_qvlfiwaa((int *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ldiz (long a, unsigned *b) {
return __builtin_qpx_qvlfiwz((unsigned *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ldiza (long a, unsigned *b) {
return __builtin_qpx_qvlfiwza((unsigned *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lds (long a, float *b) {
__vector4double r = (__vector4double) { (double) *((float *) &((char *) b)[a]) };
return __builtin_shufflevector(r, r, 0, 0, 0, 0);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lds (long a, double *b) {
__vector4double r = (__vector4double) { *((double *) &((char *) b)[a]) };
return __builtin_shufflevector(r, r, 0, 0, 0, 0);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lds (long a, float _Complex *b) {
return __builtin_qpx_qvlfcs((float _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ldsa (long a, float _Complex *b) {
return __builtin_qpx_qvlfcsa((float _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lds (long a, double _Complex *b) {
return __builtin_qpx_qvlfcd((double _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ldsa (long a, double _Complex *b) {
return __builtin_qpx_qvlfcda((double _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld2 (long a, float *b) {
return __builtin_qpx_qvlfcs((float _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld2a (long a, float *b) {
return __builtin_qpx_qvlfcsa((float _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld2 (long a, double *b) {
return __builtin_qpx_qvlfcd((double _Complex *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_ld2a (long a, double *b) {
return __builtin_qpx_qvlfcda((double _Complex *) &((char *) b)[a]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, int *c) {
return __builtin_qpx_qvstfiw(a, (unsigned *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, int *c) {
return __builtin_qpx_qvstfiwa(a, (unsigned *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, unsigned *c) {
return __builtin_qpx_qvstfiw(a, (unsigned *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, unsigned *c) {
return __builtin_qpx_qvstfiwa(a, (unsigned *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, long *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, long *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, unsigned long *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, unsigned long *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, long long *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, long long *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, unsigned long long *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, unsigned long long *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, float *c) {
return __builtin_qpx_qvstfs(a, (float *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, float *c) {
return __builtin_qpx_qvstfsa(a, (float *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, float _Complex *c) {
return __builtin_qpx_qvstfs(a, (float *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, float _Complex *c) {
return __builtin_qpx_qvstfsa(a, (float *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, double *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, double *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, double _Complex *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, double _Complex *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st (__vector4double a, long b, __vector4double *c) {
return __builtin_qpx_qvstfd(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sta (__vector4double a, long b, __vector4double *c) {
return __builtin_qpx_qvstfda(a, (double *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sts (__vector4double a, long b, float *c) {
*((float *) &((char *) c)[b]) = (float) a[0];
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sts (__vector4double a, long b, double *c) {
*((double *) &((char *) c)[b]) = a[0];
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sts (__vector4double a, long b, float _Complex *c) {
return __builtin_qpx_qvstfcs(a, (float _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_stsa (__vector4double a, long b, float _Complex *c) {
return __builtin_qpx_qvstfcsa(a, (float _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_sts (__vector4double a, long b, double _Complex *c) {
return __builtin_qpx_qvstfcd(a, (double _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_stsa (__vector4double a, long b, double _Complex *c) {
return __builtin_qpx_qvstfcda(a, (double _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st2 (__vector4double a, long b, float *c) {
return __builtin_qpx_qvstfcs(a, (float _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st2a (__vector4double a, long b, float *c) {
return __builtin_qpx_qvstfcsa(a, (float _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st2 (__vector4double a, long b, double *c) {
return __builtin_qpx_qvstfcd(a, (double _Complex *) &((char *) c)[b]);
}
static __inline__ void __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_st2a (__vector4double a, long b, double *c) {
return __builtin_qpx_qvstfcda(a, (double _Complex *) &((char *) c)[b]);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_abs (__vector4double a) {
return __builtin_qpx_qvfabs(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_neg (__vector4double a) {
return __builtin_qpx_qvfneg(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_nabs (__vector4double a) {
return __builtin_qpx_qvfnabs(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_re (__vector4double a) {
return __builtin_qpx_qvfre(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_res (__vector4double a) {
return __builtin_qpx_qvfres(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_rsqrte (__vector4double a) {
return __builtin_qpx_qvfrsqrte(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_rsqrtes (__vector4double a) {
return __builtin_qpx_qvfrsqrtes(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swsqrt (__vector4double a) {
return (__vector4double)
{ __builtin_sqrt(a[0]), __builtin_sqrt(a[1]),
__builtin_sqrt(a[2]), __builtin_sqrt(a[3]) };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swsqrt_nochk (__vector4double a) {
return (__vector4double)
{ __builtin_sqrt(a[0]), __builtin_sqrt(a[1]),
__builtin_sqrt(a[2]), __builtin_sqrt(a[3]) };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swsqrts (__vector4double a) {
return (__vector4double)
{ __builtin_sqrtf((float) a[0]), __builtin_sqrtf((float) a[1]),
__builtin_sqrtf((float) a[2]), __builtin_sqrtf((float) a[3]) };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swsqrts_nochk (__vector4double a) {
return (__vector4double)
{ __builtin_sqrtf((float) a[0]), __builtin_sqrtf((float) a[1]),
__builtin_sqrtf((float) a[2]), __builtin_sqrtf((float) a[3]) };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_add (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfadd(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_cpsgn (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfcpsgn(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_mul (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfmul(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_sub (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfsub(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swdiv (__vector4double a, __vector4double b) {
return (__vector4double) { a[0]/b[0], a[1]/b[1], a[2]/b[2], a[3]/b[3] };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swdiv_nochk (__vector4double a, __vector4double b) {
return (__vector4double) { a[0]/b[0], a[1]/b[1], a[2]/b[2], a[3]/b[3] };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swdivs (__vector4double a, __vector4double b) {
return (__vector4double)
{ (double) ((float) a[0]/ (float) b[0]),
(double) ((float) a[1]/ (float) b[1]),
(double) ((float) a[2]/ (float) b[2]),
(double) ((float) a[3]/ (float) b[3]) };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_swdivs_nochk (__vector4double a, __vector4double b) {
return (__vector4double)
{ (double) ((float) a[0]/ (float) b[0]),
(double) ((float) a[1]/ (float) b[1]),
(double) ((float) a[2]/ (float) b[2]),
(double) ((float) a[3]/ (float) b[3]) };
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_xmul (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfxmul(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_madd (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfmadd(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_msub (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfmsub(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_nmadd (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfnmadd(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_nmsub (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfnmsub(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_xmadd (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfxmadd(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_xxmadd (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfxxmadd(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_xxcpnmadd (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfxxcpnmadd(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_xxnpmadd (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfxxnpmadd(a, c, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ceil (__vector4double a) {
return __builtin_qpx_qvfrip(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_floor (__vector4double a) {
return __builtin_qpx_qvfrim(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_round (__vector4double a) {
return __builtin_qpx_qvfrin(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_rsp (__vector4double a) {
return __builtin_qpx_qvfrsp(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_trunc (__vector4double a) {
return __builtin_qpx_qvfriz(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_cfid (__vector4double a) {
return __builtin_qpx_qvfcfid(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_cfidu (__vector4double a) {
return __builtin_qpx_qvfcfidu(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctid (__vector4double a) {
return __builtin_qpx_qvfctid(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctidu (__vector4double a) {
return __builtin_qpx_qvfctidu(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctidz (__vector4double a) {
return __builtin_qpx_qvfctidz(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctiduz (__vector4double a) {
return __builtin_qpx_qvfctiduz(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctiw (__vector4double a) {
return __builtin_qpx_qvfctiw(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctiwu (__vector4double a) {
return __builtin_qpx_qvfctiwu(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctiwz (__vector4double a) {
return __builtin_qpx_qvfctiwz(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_ctiwuz (__vector4double a) {
return __builtin_qpx_qvfctiwuz(a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_cmpgt (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfcmpgt(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_cmplt (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfcmplt(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_cmpeq (__vector4double a, __vector4double b) {
return __builtin_qpx_qvfcmpeq(a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_sel (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfsel(c, a, b);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_tstnan (__vector4double a, __vector4double b) {
return __builtin_qpx_qvftstnan(a, b);
}
static __inline__ double __attribute__((__always_inline__, __nodebug__))
vec_extract (__vector4double a, int b) {
return a[b & 3];
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_insert (double a, __vector4double b, int c) {
__vector4double r = b;
r[c & 3] = a;
return r;
}
#define vec_gpci(a) __builtin_qpx_qvgpci(a)
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsl (long a, float *b) {
return __builtin_qpx_qvlpcls((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsl (long a, float _Complex *b) {
return __builtin_qpx_qvlpcls((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsl (long a, double *b) {
return __builtin_qpx_qvlpcld((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsl (long a, double _Complex *b) {
return __builtin_qpx_qvlpcld((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsr (long a, float *b) {
return __builtin_qpx_qvlpcrs((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsr (long a, float _Complex *b) {
return __builtin_qpx_qvlpcrs((float *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsr (long a, double *b) {
return __builtin_qpx_qvlpcrd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__overloadable__, __always_inline__, __nodebug__))
vec_lvsr (long a, double _Complex *b) {
return __builtin_qpx_qvlpcrd((double *) &((char *) b)[a]);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_perm (__vector4double a, __vector4double b, __vector4double c) {
return __builtin_qpx_qvfperm(a, b, c);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_promote (double a, int b) {
__vector4double r;
r[b & 3] = a;
return r;
}
#define vec_sldw(a, b, c) __builtin_shufflevector(a, b, c, (c)+1, (c)+2, (c)+3)
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_splat (__vector4double a, int b) {
__vector4double r = (__vector4double) { a[b] };
return __builtin_shufflevector(r, r, 0, 0, 0, 0);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_splats (double a) {
__vector4double r = (__vector4double) { a };
return __builtin_shufflevector(r, r, 0, 0, 0, 0);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_and (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0x1);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_andc (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0x4);
}
#define vec_logical(a, b, c) __builtin_qpx_qvflogical(a, b, c)
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_nand (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0xE);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_nor (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0x8);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_not (__vector4double a) {
return vec_nor(a, a);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_or (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0x7);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_orc (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0xD);
}
static __inline__ __vector4double __attribute__((__always_inline__, __nodebug__))
vec_xor (__vector4double a, __vector4double b) {
return __builtin_qpx_qvflogical(a, b, 0x6);
}
#if !QPXINTRIN_DONT_DEFINE_DCBT
static __inline__ void __attribute__((__always_inline__, __nodebug__))
__dcbt (void *p) {
__builtin_prefetch(p);
}
#endif
# 743 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/qpxintrin.h" 3
#endif
# 745 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/qpxintrin.h" 3
# 1 "<built-in>" 2
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc"
#if 0 /* expanded by -frewrite-includes */
#include <cctk.h>
#endif /* expanded by -frewrite-includes */
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/build/CarpetInterp/interp.cc"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk.h" 1
#ifndef _CCTK_H_
#define _CCTK_H_ 1
#if 0 /* expanded by -frewrite-includes */
#include "CarpetInterp/definethisthorn.h"
#endif /* expanded by -frewrite-includes */
# 3 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/definethisthorn.h" 1
/* Defines for thorn this file is part of */
#ifndef DEFINE_THIS_THORN_H
#define DEFINE_THIS_THORN_H 1
#define THORN_IS_CarpetInterp 1
#define CCTK_THORN CarpetInterp
#define CCTK_THORNSTRING "CarpetInterp"
#define CCTK_ARRANGEMENT Carpet
#define CCTK_ARRANGEMENTSTRING "Carpet"
#endif
# 11 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/definethisthorn.h"
# 4 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk.h" 2
/* Include prototypes for scheduled functions */
#if 0 /* expanded by -frewrite-includes */
#include "CarpetInterp/cctk_ScheduleFunctions.h"
#endif /* expanded by -frewrite-includes */
# 6 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk_ScheduleFunctions.h" 1
#if 0 /* expanded by -frewrite-includes */
#include "CarpetInterp/cctk_Arguments.h"
#endif /* expanded by -frewrite-includes */
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk_ScheduleFunctions.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk_Arguments.h" 1
#ifndef CCTK_ARGUMENTS_H_
#define CCTK_ARGUMENTS_H_ 1
/*@@
@header cctk_Arguments.h
@author Automatically generated by GridFuncStuff.pl
@desc
Defines the CCTK_ARGUMENTS macro for all thorns
@enddesc
@@*/
#if 0 /* expanded by -frewrite-includes */
#include "CarpetInterp_Arguments.h"
#endif /* expanded by -frewrite-includes */
# 12 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk_Arguments.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h" 1
/*@@
@header CarpetInterp_Arguments.h
@author Automatically generated by GridFuncStuff.pl
@desc
Defines macros to declare/define/pass function arguments
in calls from C to Fortran for thorn CarpetInterp
@enddesc
@@*/
#ifdef FCODE
#define DECLARE_CARPETINTERP_PRIVATE_FARGUMENTS \
#define CARPETINTERP_PRIVATE_FARGUMENTS \
#endif /* FCODE */
# 19 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef CCODE
#define DECLARE_CARPETINTERP_PRIVATE_CARGUMENTS \
#define DECLARE_CARPETINTERP_PRIVATE_C2F \
#define INITIALISE_CARPETINTERP_PRIVATE_C2F \
#define CARPETINTERP_PRIVATE_C2F_PROTO \
#define PASS_CARPETINTERP_PRIVATE_C2F(GH) \
#endif /* CCODE */
# 37 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef FCODE
#define DECLARE_CARPETINTERP_PROTECTED_FARGUMENTS \
#define CARPETINTERP_PROTECTED_FARGUMENTS \
#endif /* FCODE */
# 46 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef CCODE
#define DECLARE_CARPETINTERP_PROTECTED_CARGUMENTS \
#define DECLARE_CARPETINTERP_PROTECTED_C2F \
#define INITIALISE_CARPETINTERP_PROTECTED_C2F \
#define CARPETINTERP_PROTECTED_C2F_PROTO \
#define PASS_CARPETINTERP_PROTECTED_C2F(GH) \
#endif /* CCODE */
# 64 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef FCODE
#define DECLARE_CARPETINTERP_PUBLIC_FARGUMENTS \
#define CARPETINTERP_PUBLIC_FARGUMENTS \
#endif /* FCODE */
# 73 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef CCODE
#define DECLARE_CARPETINTERP_PUBLIC_CARGUMENTS \
#define DECLARE_CARPETINTERP_PUBLIC_C2F \
#define INITIALISE_CARPETINTERP_PUBLIC_C2F \
#define CARPETINTERP_PUBLIC_C2F_PROTO \
#define PASS_CARPETINTERP_PUBLIC_C2F(GH) \
#endif /* CCODE */
# 91 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef FCODE
#define CARPETINTERP_FARGUMENTS _CCTK_FARGUMENTS
#define DECLARE_CARPETINTERP_FARGUMENTS _DECLARE_CCTK_FARGUMENTS
#endif /* FCODE */
# 98 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
#ifdef CCODE
#define DECLARE_CARPETINTERP_CARGUMENTS _DECLARE_CCTK_CARGUMENTS
#define CARPETINTERP_C2F_PROTO _CCTK_C2F_PROTO
#define PASS_CARPETINTERP_C2F(GH) _PASS_CCTK_C2F(GH)
#define DECLARE_CARPETINTERP_C2F _DECLARE_CCTK_C2F
#define INITIALISE_CARPETINTERP_C2F _INITIALISE_CCTK_C2F
#define CARPETINTERP_CARGUMENTS cGH *cctkGH
#endif /* CCODE */
# 113 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp_Arguments.h"
# 13 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk_Arguments.h" 2
/* get the CCTK datatype definitions */
#if 0 /* expanded by -frewrite-includes */
#include "cctk_Types.h"
#endif /* expanded by -frewrite-includes */
# 14 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/bindings/include/CarpetInterp/cctk_Arguments.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h" 1
/*@@
@header cctk_types.h
@date Mon Jun 21 21:03:27 1999
@author Tom Goodale
@desc
Defines the appropriate types based upon the precision.
Should be included by cctk_Config.h .
@enddesc
@@*/
#ifndef _CCTK_TYPES_H_
#define _CCTK_TYPES_H_
/* Make sure that cctk_config.h is available in case someone includes
* this by hand.
*/
#if 0 /* expanded by -frewrite-includes */
#include "cctk_Config.h"
#endif /* expanded by -frewrite-includes */
# 17 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h" 1
/* cctk_Config.h. Generated automatically by configure. */
#ifndef _CCTK_CONFIG_H_
#define _CCTK_CONFIG_H_
/* Define if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX). */
#define WORDS_BIGENDIAN 1
/* Define if standard C headers are available. */
#define STDC_HEADERS 1
/* Modifier for Fortran function definitions. */
#define CCTK_FCALL
/* What debugging options to use */
/* #undef CCTK_DEBUG */
/* #undef CCTK_TRACEMEMORY */
/* Various library functions */
#define HAVE_GETHOSTBYNAME 1
#define HAVE_GETOPT_LONG_ONLY 1
#define HAVE___CXA_DEMANGLE 1
#define HAVE_DLADDR 1
#define HAVE_BACKTRACE 1
#define HAVE_BACKTRACE_SYMBOLS 1
#define HAVE_CRYPT 1
#define HAVE_FINITE 1
#define HAVE_COPYSIGN 1
#define HAVE_FPCLASSIFY 1
#define HAVE_ISFINITE 1
#define HAVE_ISINF 1
#define HAVE_ISNAN 1
#define HAVE_ISNORMAL 1
#define HAVE_SIGNBIT 1
#define HAVE_MKSTEMP 1
#define HAVE_VA_COPY 1
/* Do we have mode_t ? */
#define HAVE_MODE_T 1
/* Do we have SOCKET ? */
/* #undef HAVE_SOCKET_TYPE */
/* Do we have socklen_t ? Default to 'int' if not. */
#define HAVE_SOCKLEN_T 1
#ifdef HAVE_SOCKLEN_T
# define CCTK_SOCKLEN_T socklen_t
#else
# 49 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_SOCKLEN_T int
#endif
# 51 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Do we have hrtime_t ? */
/* #undef HAVE_HRTIME_T */
/* Some timing functions */
/* #undef HAVE_GETHRTIME */
/* #undef HAVE_READ_REAL_TIME */
/* #undef HAVE_TIME_BASE_TO_TIME */
#define HAVE_CLOCK_GETTIME 1
/* #undef HAVE_MACH_ABSOLUTE_TIME */
/* Cray UNICOS _rtc() (real-time clock) intrinsic */
/* #undef HAVE__RTC */
/* Some include things */
#define HAVE_TIME_H 1
/* #undef HAVE_SYS_FILIO_H */
#define HAVE_SYS_IOCTL_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define HAVE_STRING_H 1
#define HAVE_ASSERT_H 1
#define HAVE_TGMATH_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_GETOPT_H 1
#define HAVE_REGEX_H 1
#define HAVE_NETINET_IN_H 1
#define HAVE_NETDB_H 1
#define HAVE_ARPA_INET_H 1
/* #undef HAVE_WINSOCK2_H */
#define HAVE_CRYPT_H 1
#define HAVE_DIRENT_H 1
/* #undef HAVE_C_ASM_H */
/* #undef HAVE_INTRINSICS_H */
/* #undef HAVE_MACH_MACH_TIME_H */
#define HAVE_SIGNAL_H 1
#define HAVE_MALLOC_H 1
#define HAVE_MALLINFO 1
#define HAVE_MALLOPT 1
#define HAVE_M_MMAP_THRESHOLD_VALUE 1
#define HAVE_SCHED_H 1
#define HAVE_EXECINFO_H 1
#define HAVE_SCHED_GETAFFINITY 1
#define HAVE_GETPID 1
#define TIME_WITH_SYS_TIME 1
/* Which format does the C++ STL on this machine provide. */
#define HAVE_VECTOR 1
/* #undef HAVE_VECTOR_H */
/* Timing stuff */
#define HAVE_TIME_GETTIMEOFDAY 1
/* #undef GETTIMEOFDAY_NEEDS_TIMEZONE */
#define HAVE_TIME_GETRUSAGE 1
/* #undef HAVE_TIME__FTIME */
/* The name of the NULL device for redirecting things to */
#define NULL_DEVICE "/dev/null"
/* Define the machine architecture for the build */
#define CCTK_BUILD_OS "linux-gnu"
#define CCTK_BUILD_CPU "powerpc64"
#define CCTK_BUILD_VENDOR "unknown"
/******************************************************************************/
/* Size info for various datatypes */
#define SIZEOF_LONG_LONG 8
#define SIZEOF_LONG_INT 8
#define SIZEOF_INT 4
#define SIZEOF_SHORT_INT 2
#define SIZEOF_LONG_DOUBLE 16
#define SIZEOF_DOUBLE 8
#define SIZEOF_FLOAT 4
#define SIZEOF_CHAR_P 8
/* The chosen CCTK precision */
/* Floating point precision */
/* #undef CCTK_REAL_PRECISION_16 */
#define CCTK_REAL_PRECISION_8 1
/* #undef CCTK_REAL_PRECISION_4 */
/* Integer precision */
/* #undef CCTK_INTEGER_PRECISION_16 */
/* #undef CCTK_INTEGER_PRECISION_8 */
#define CCTK_INTEGER_PRECISION_4 1
/* #undef CCTK_INTEGER_PRECISION_2 */
/* #undef CCTK_INTEGER_PRECISION_1 */
/* Integer sizes */
#define HAVE_CCTK_INT16 1
#define HAVE_CCTK_INT8 1
#define HAVE_CCTK_INT4 1
#define HAVE_CCTK_INT2 1
#define HAVE_CCTK_INT1 1
/* Float sizes */
#define HAVE_CCTK_REAL16 1
#define HAVE_CCTK_REAL8 1
#define HAVE_CCTK_REAL4 1
/******************************************************************************/
#ifdef CCODE
/* CCTK C/C++ Integer datatypes */
#define CCTK_INT16_TYPE __int128
#define CCTK_INT8_TYPE long int
#define CCTK_INT4_TYPE int
#define CCTK_INT2_TYPE short int
#define CCTK_INT1_TYPE signed char
/* CCTK C/C++ Float datatypes */
#define CCTK_REAL16_TYPE long double
#define CCTK_REAL8_TYPE double
#define CCTK_REAL4_TYPE float
/* Disable 'restrict' for compiler versions known to be buggy */
/* We know that 20120731 fails and 20130728 passes. */
#if (defined __INTEL_COMPILER && \
__INTEL_COMPILER_BUILD_DATE >= 20120731 && \
__INTEL_COMPILER_BUILD_DATE < 20130728 && \
!defined CCTK_INTEL_COMPILER_DONT_DISABLE_RESTRICT)
# define CCTK_DISABLE_RESTRICT 1
#endif
# 180 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/****************************************************************************/
/* C specific stuff */
/****************************************************************************/
#ifndef __cplusplus
/* Define to empty if the 'inline' keyword does not work. */
#define HAVE_CCTK_C_INLINE 1
#define HAVE_STANDARD_CCTK_C_INLINE 1
#define CCTK_C_INLINE inline
#ifdef HAVE_CCTK_C_INLINE
# ifdef HAVE_STANDARD_CCTK_C_INLINE
/* 'inline' works -- do nothing (CCTK_C_INLINE is 'inline') */
# else
# 195 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* need a macro to use 'inline' */
# define inline CCTK_C_INLINE
# endif
# 198 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#else
# 199 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* 'inline' does not work (CCTK_C_INLINE is empty ) */
# define inline
#endif
# 202 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Define to 'static' if the 'static inline' keyword combination does
not work. */
#define CCTK_C_STATIC_INLINE static inline
#define CCTK_STATIC_INLINE CCTK_C_STATIC_INLINE
/* Define to 'extern' if the 'extern inline' keyword combination does
not work. */
/* #undef CCTK_C_EXTERN_INLINE */
#define CCTK_EXTERN_INLINE CCTK_C_EXTERN_INLINE
/* Define to empty if the 'const' keyword does not work. */
/* #undef const */
/* Define to empty if the 'restrict' keyword does not work. */
#ifdef CCTK_DISABLE_RESTRICT
# define CCTK_C_RESTRICT
#else
# 220 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* # undef HAVE_CCTK_C_RESTRICT */
/* # undef CCTK_C_RESTRICT */
#endif
# 223 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#ifdef CCTK_C_RESTRICT
# define restrict CCTK_C_RESTRICT
#endif
# 227 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Allow the use of CCTK_RESTRICT as a qualifier always. */
#ifdef CCTK_C_RESTRICT
# define CCTK_RESTRICT CCTK_C_RESTRICT
#else
# 232 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_RESTRICT restrict
#endif
# 234 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Disable _Pragma if unsupported */
#define HAVE_CCTK_C__PRAGMA 1
#ifndef HAVE_CCTK_C__PRAGMA
# define _Pragma(x)
#endif
# 240 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether copysign exists, and how it should be called */
#ifdef HAVE_COPYSIGN
# define HAVE_CCTK_C_COPYSIGN HAVE_COPYSIGN
# define CCTK_C_COPYSIGN copysign
# define HAVE_CCTK_COPYSIGN HAVE_CCTK_C_COPYSIGN
# define CCTK_COPYSIGN CCTK_C_COPYSIGN
#endif
# 248 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether fpclassify exists, and how it should be called */
#ifdef HAVE_FPCLASSIFY
# define HAVE_CCTK_C_FPCLASSIFY HAVE_FPCLASSIFY
# define CCTK_C_FPCLASSIFY fpclassify
# define HAVE_CCTK_FPCLASSIFY HAVE_CCTK_C_FPCLASSIFY
# define CCTK_FPCLASSIFY CCTK_C_FPCLASSIFY
#endif
# 256 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isfinite exists, and how it should be called */
#ifdef HAVE_ISFINITE
# define HAVE_CCTK_C_ISFINITE HAVE_ISFINITE
# define CCTK_C_ISFINITE isfinite
# define HAVE_CCTK_ISFINITE HAVE_CCTK_C_ISFINITE
# define CCTK_ISFINITE CCTK_C_ISFINITE
#endif
# 264 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isinf exists, and how it should be called */
#ifdef HAVE_ISINF
# define HAVE_CCTK_C_ISINF HAVE_ISINF
# define CCTK_C_ISINF isinf
# define HAVE_CCTK_ISINF HAVE_CCTK_C_ISINF
# define CCTK_ISINF CCTK_C_ISINF
#endif
# 272 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isnan exists, and how it should be called */
#ifdef HAVE_ISNAN
# define HAVE_CCTK_C_ISNAN HAVE_ISNAN
# define CCTK_C_ISNAN isnan
# define HAVE_CCTK_ISNAN HAVE_CCTK_C_ISNAN
# define CCTK_ISNAN CCTK_C_ISNAN
#endif
# 280 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isnormal exists, and how it should be called */
#ifdef HAVE_ISNORMAL
# define HAVE_CCTK_C_ISNORMAL HAVE_ISNORMAL
# define CCTK_C_ISNORMAL isnormal
# define HAVE_CCTK_ISNORMAL HAVE_CCTK_C_ISNORMAL
# define CCTK_ISNORMAL CCTK_C_ISNORMAL
#endif
# 288 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether signbit exists, and how it should be called */
#ifdef HAVE_SIGNBIT
# define HAVE_CCTK_C_SIGNBIT HAVE_SIGNBIT
# define CCTK_C_SIGNBIT signbit
# define HAVE_CCTK_SIGNBIT HAVE_CCTK_C_SIGNBIT
# define CCTK_SIGNBIT CCTK_C_SIGNBIT
#endif
# 296 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((const)) exists. */
/* #undef HAVE_CCTK_C_ATTRIBUTE_CONST */
#ifdef HAVE_CCTK_C_ATTRIBUTE_CONST
# define CCTK_ATTRIBUTE_CONST __attribute__((__const__))
#else
# 302 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_CONST
#endif
# 304 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((pure)) exists. */
/* #undef HAVE_CCTK_C_ATTRIBUTE_PURE */
#ifdef HAVE_CCTK_C_ATTRIBUTE_PURE
# define CCTK_ATTRIBUTE_PURE __attribute__((__pure__))
#else
# 310 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_PURE
#endif
# 312 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((noinline)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_NOINLINE 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_NOINLINE
# define CCTK_ATTRIBUTE_NOINLINE __attribute__((__noinline__))
#else
# 318 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_NOINLINE
#endif
# 320 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((always_inline)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_ALWAYS_INLINE 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_ALWAYS_INLINE
# define CCTK_ATTRIBUTE_ALWAYS_INLINE __attribute__((__always_inline__))
#else
# 326 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_ALWAYS_INLINE
#endif
# 328 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((unused)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_UNUSED 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_UNUSED
# define CCTK_ATTRIBUTE_UNUSED __attribute__((__unused__))
#else
# 334 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_UNUSED
#endif
# 336 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((aligned(...))) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_ALIGNED 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_ALIGNED
# define CCTK_ATTRIBUTE_ALIGNED(x) __attribute__((__aligned__(x)))
#else
# 342 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_ALIGNED(x)
#endif
# 344 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((cold)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_COLD 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_COLD
# define CCTK_ATTRIBUTE_COLD __attribute__((__cold__))
#else
# 350 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_COLD
#endif
# 352 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((hot)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_HOT 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_HOT
# define CCTK_ATTRIBUTE_HOT __attribute__((__hot__))
#else
# 358 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_HOT
#endif
# 360 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((format(...))) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_FORMAT 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_FORMAT
# define CCTK_ATTRIBUTE_FORMAT(archetype, format, firstarg) __attribute__((__format__(archetype, format, firstarg)))
#else
# 366 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_FORMAT(archetype, format, firstarg)
#endif
# 368 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((noreturn)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_NORETURN 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_NORETURN
# define CCTK_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
#else
# 374 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_NORETURN
#endif
# 376 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((nonnull)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_NONNULL 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_NONNULL
# define CCTK_ATTRIBUTE_NONNULL(m) __attribute__((__nonnull__(m)))
#else
# 382 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_NONNULL(m)
#endif
# 384 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((returns_nonnull)) exists. */
#define HAVE_CCTK_C_ATTRIBUTE_RETURNS_NONNULL 1
#ifdef HAVE_CCTK_C_ATTRIBUTE_RETURNS_NONNULL
# define CCTK_ATTRIBUTE_RETURNS_NONNULL __attribute__((__returns_nonnull__))
#else
# 390 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_RETURNS_NONNULL
#endif
# 392 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __builtin_expect exists. */
#define HAVE_CCTK_C_BUILTIN_EXPECT 1
#ifdef HAVE_CCTK_C_BUILTIN_EXPECT
# define CCTK_BUILTIN_EXPECT __builtin_expect
#else
# 398 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_BUILTIN_EXPECT(x,y) (x)
#endif
# 400 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __builtin_unreachable exists. */
#define HAVE_CCTK_C_BUILTIN_UNREACHABLE 1
#ifdef HAVE_CCTK_C_BUILTIN_UNREACHABLE
# define CCTK_BUILTIN_UNREACHABLE __builtin_unreachable
#else
# 406 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_BUILTIN_UNREACHABLE() CCTK_Abort(0, 1)
#endif
# 408 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __builtin_assume_aligned exists. */
/* #undef HAVE_CCTK_C_BUILTIN_ASSUME_ALIGNED */
#ifdef HAVE_CCTK_C_BUILTIN_ASSUME_ALIGNED
# define CCTK_BUILTIN_ASSUME_ALIGNED __builtin_assume_aligned
#else
# 414 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_BUILTIN_ASSUME_ALIGNED(expr, ...) (expr)
#endif
# 416 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* OpenMP collapse clause */
#if (defined CCTK_DISABLE_OMP_COLLAPSE || \
(defined __IBMC__ && defined _ARCH_450D) || \
(defined __INTEL_COMPILER && __INTEL_COMPILER_BUILD_DATE < 20100801))
/* see http://software.intel.com/en-us/articles/intel-professional-edition-compilers-111-fixes-list/ */
# define collapse(N)
# ifndef CCTK_DISABLE_OMP_COLLAPSE
# error "OpenMP collapse directive disabled for C, but enabled for Fortran -- likely an error in the option list. Please add -DCCTK_DISABLE_OMP_COLLAPSE to FPPFLAGS and CPPFLAGS."
# endif
# 426 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#else
# 427 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* # undef collapse */
#endif
# 429 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#endif /* ! defined __cplusplus */
# 431 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/****************************************************************************/
/****************************************************************************/
/* C++ specific stuff */
/****************************************************************************/
#ifdef __cplusplus
#define CCTK_STATIC_INLINE static inline
#define CCTK_EXTERN_INLINE extern
/* Whether copysign exists, and how it should be called */
#define HAVE_CCTK_CXX_COPYSIGN 1
#define CCTK_CXX_COPYSIGN std::copysign
#ifdef HAVE_CCTK_CXX_COPYSIGN
# define HAVE_CCTK_COPYSIGN HAVE_CCTK_CXX_COPYSIGN
# define CCTK_COPYSIGN CCTK_CXX_COPYSIGN
#endif
# 448 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether fpclassify exists, and how it should be called */
#define HAVE_CCTK_CXX_FPCLASSIFY 1
#define CCTK_CXX_FPCLASSIFY std::fpclassify
#ifdef HAVE_CCTK_CXX_FPCLASSIFY
# define HAVE_CCTK_FPCLASSIFY HAVE_CCTK_CXX_FPCLASSIFY
# define CCTK_FPCLASSIFY CCTK_CXX_FPCLASSIFY
#endif
# 456 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isinf exists, and how it should be called */
#define HAVE_CCTK_CXX_ISINF 1
#define CCTK_CXX_ISINF std::isinf
#ifdef HAVE_CCTK_CXX_ISINF
# define HAVE_CCTK_ISINF HAVE_CCTK_CXX_ISINF
# define CCTK_ISINF CCTK_CXX_ISINF
#endif
# 464 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isinf exists, and how it should be called */
#define HAVE_CCTK_CXX_ISINF 1
#define CCTK_CXX_ISINF std::isinf
#ifdef HAVE_CCTK_CXX_ISINF
# define HAVE_CCTK_ISINF HAVE_CCTK_CXX_ISINF
# define CCTK_ISINF CCTK_CXX_ISINF
#endif
# 472 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isnan exists, and how it should be called */
#define HAVE_CCTK_CXX_ISNAN 1
#define CCTK_CXX_ISNAN std::isnan
#ifdef HAVE_CCTK_CXX_ISNAN
# define HAVE_CCTK_ISNAN HAVE_CCTK_CXX_ISNAN
# define CCTK_ISNAN CCTK_CXX_ISNAN
#endif
# 480 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether isnormal exists, and how it should be called */
#define HAVE_CCTK_CXX_ISNORMAL 1
#define CCTK_CXX_ISNORMAL std::isnormal
#ifdef HAVE_CCTK_CXX_ISNORMAL
# define HAVE_CCTK_ISNORMAL HAVE_CCTK_CXX_ISNORMAL
# define CCTK_ISNORMAL CCTK_CXX_ISNORMAL
#endif
# 488 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether signbit exists, and how it should be called */
#define HAVE_CCTK_CXX_SIGNBIT 1
#define CCTK_CXX_SIGNBIT std::signbit
#ifdef HAVE_CCTK_CXX_SIGNBIT
# define HAVE_CCTK_SIGNBIT HAVE_CCTK_CXX_SIGNBIT
# define CCTK_SIGNBIT CCTK_CXX_SIGNBIT
#endif
# 496 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((const)) exists. */
/* #undef HAVE_CCTK_CXX_ATTRIBUTE_CONST */
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_CONST
# define CCTK_ATTRIBUTE_CONST __attribute__((__const__))
#else
# 502 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_CONST
#endif
# 504 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* #undef HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_CONST */
#ifdef HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_CONST
# define CCTK_MEMBER_ATTRIBUTE_CONST __attribute__((__const__))
#else
# 508 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_MEMBER_ATTRIBUTE_CONST
#endif
# 510 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((pure)) exists. */
/* #undef HAVE_CCTK_CXX_ATTRIBUTE_PURE */
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_PURE
# define CCTK_ATTRIBUTE_PURE __attribute__((__pure__))
#else
# 516 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_PURE
#endif
# 518 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* #undef HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_PURE */
#ifdef HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_PURE
# define CCTK_MEMBER_ATTRIBUTE_PURE __attribute__((__pure__))
#else
# 522 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_MEMBER_ATTRIBUTE_PURE
#endif
# 524 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((noinline)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_NOINLINE 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_NOINLINE
# define CCTK_ATTRIBUTE_NOINLINE __attribute__((__noinline__))
#else
# 530 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_NOINLINE
#endif
# 532 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#define HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_NOINLINE 1
#ifdef HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_NOINLINE
# define CCTK_MEMBER_ATTRIBUTE_NOINLINE __attribute__((__noinline__))
#else
# 536 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_MEMBER_ATTRIBUTE_NOINLINE
#endif
# 538 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((always_inline)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_ALWAYS_INLINE 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_ALWAYS_INLINE
# define CCTK_ATTRIBUTE_ALWAYS_INLINE __attribute__((__always_inline__))
#else
# 544 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_ALWAYS_INLINE
#endif
# 546 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#define HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_ALWAYS_INLINE 1
#ifdef HAVE_CCTK_CXX_MEMBER_ATTRIBUTE_ALWAYS_INLINE
# define CCTK_MEMBER_ATTRIBUTE_ALWAYS_INLINE __attribute__((__always_inline__))
#else
# 550 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_MEMBER_ATTRIBUTE_ALWAYS_INLINE
#endif
# 552 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((unused)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_UNUSED 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_UNUSED
# define CCTK_ATTRIBUTE_UNUSED __attribute__((__unused__))
#else
# 558 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_UNUSED
#endif
# 560 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((aligned(...))) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_ALIGNED 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_ALIGNED
# define CCTK_ATTRIBUTE_ALIGNED(x) __attribute__((__aligned__(x)))
#else
# 566 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_ALIGNED(x)
#endif
# 568 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((cold)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_COLD 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_COLD
# define CCTK_ATTRIBUTE_COLD __attribute__((__cold__))
#else
# 574 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_COLD
#endif
# 576 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((hot)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_HOT 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_HOT
# define CCTK_ATTRIBUTE_HOT __attribute__((__hot__))
#else
# 582 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_HOT
#endif
# 584 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((format(...))) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_FORMAT 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_FORMAT
# define CCTK_ATTRIBUTE_FORMAT(archetype, format, firstarg) __attribute__((__format__(archetype, format, firstarg)))
#else
# 590 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_FORMAT(archetype, format, firstarg)
#endif
# 592 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((noreturn)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_NORETURN 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_NORETURN
# define CCTK_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
#else
# 598 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_NORETURN
#endif
# 600 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((nonnull)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_NONNULL 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_NONNULL
# define CCTK_ATTRIBUTE_NONNULL(m) __attribute__((__nonnull__(m)))
#else
# 606 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_NONNULL(m)
#endif
# 608 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __attribute__((returns_nonnull)) exists. */
#define HAVE_CCTK_CXX_ATTRIBUTE_RETURNS_NONNULL 1
#ifdef HAVE_CCTK_CXX_ATTRIBUTE_RETURNS_NONNULL
# define CCTK_ATTRIBUTE_RETURNS_NONNULL __attribute__((__returns_nonnull__))
#else
# 614 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_ATTRIBUTE_RETURNS_NONNULL
#endif
# 616 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __builtin_expect exists. */
#define HAVE_CCTK_CXX_BUILTIN_EXPECT 1
#ifdef HAVE_CCTK_CXX_BUILTIN_EXPECT
# define CCTK_BUILTIN_EXPECT __builtin_expect
#else
# 622 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_BUILTIN_EXPECT(x,y) (x)
#endif
# 624 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __builtin_unreachable exists. */
#define HAVE_CCTK_CXX_BUILTIN_UNREACHABLE 1
#ifdef __CUDACC__
# define CCTK_BUILTIN_UNREACHABLE() asm("trap;")
#else
# 630 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# ifdef HAVE_CCTK_CXX_BUILTIN_UNREACHABLE
# define CCTK_BUILTIN_UNREACHABLE __builtin_unreachable
# else
# 633 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_BUILTIN_UNREACHABLE() CCTK_Abort(0, 1)
# endif
# 635 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#endif
# 636 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether __builtin_assume_aligned exists. */
/* #undef HAVE_CCTK_CXX_BUILTIN_ASSUME_ALIGNED */
#ifdef HAVE_CCTK_CXX_BUILTIN_ASSUME_ALIGNED
# define CCTK_BUILTIN_ASSUME_ALIGNED __builtin_assume_aligned
#else
# 642 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_BUILTIN_ASSUME_ALIGNED(expr, ...) (expr)
#endif
# 644 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether static_assert exists. */
#define HAVE_CCTK_CXX_STATIC_ASSERT 1
#ifdef HAVE_CCTK_CXX_STATIC_ASSERT
# define CCTK_STATIC_ASSERT(cond,msg) static_assert(cond, msg)
#else
# 650 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_STATIC_ASSERT_NAME1(x, y) x##y
# define CCTK_STATIC_ASSERT_NAME2(x, y) CCTK_STATIC_ASSERT_NAME1(x, y)
# define CCTK_STATIC_ASSERT(cond, msg) typedef int CCTK_STATIC_ASSERT_NAME2(cctk_sa_, __LINE__)[(cond) ? 1 : -1] CCTK_ATTRIBUTE_UNUSED
# define static_assert(cond, msg) CCTK_STATIC_ASSERT(cond, msg)
#endif
# 655 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Whether C++11 is supported. */
#define HAVE_CCTK_CXX_AUTO_SPECIFIER 1
#define HAVE_CCTK_CXX_LAMBDA 1
#define HAVE_CCTK_CXX_RANGE_BASED_FOR 1
/* Some C++ compilers recognise the restrict keyword */
/* Define to empty if the keyword does not work. */
#ifdef CCTK_DISABLE_RESTRICT
# define CCTK_CXX_RESTRICT
#else
# 666 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define HAVE_CCTK_CXX_RESTRICT 1
# define CCTK_CXX_RESTRICT __restrict__
#endif
# 669 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#ifdef CCTK_CXX_RESTRICT
# define restrict CCTK_CXX_RESTRICT
#endif
# 673 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Allow the use of CCTK_RESTRICT as a qualifier always. */
#ifdef CCTK_CXX_RESTRICT
# define CCTK_RESTRICT CCTK_CXX_RESTRICT
#else
# 678 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# define CCTK_RESTRICT restrict
#endif
# 680 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* OpenMP collapse clause */
#if (defined CCTK_DISABLE_OMP_COLLAPSE || \
(defined __IBMCPP__ && defined _ARCH_450D) || \
( defined __INTEL_COMPILER && __INTEL_COMPILER_BUILD_DATE < 20100801))
/* see http://software.intel.com/en-us/articles/intel-professional-edition-compilers-111-fixes-list/ */
# define collapse(N)
#else
# 688 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* # undef collapse */
#endif
# 690 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#endif /* __cplusplus */
# 692 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/****************************************************************************/
#endif /* CCODE */
# 696 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#ifdef FCODE
#define HAVE_CCTK_FORTRAN_REAL4 1
#define HAVE_CCTK_FORTRAN_REAL8 1
#define HAVE_CCTK_FORTRAN_REAL16 1
#define HAVE_CCTK_FORTRAN_COMPLEX8 1
#define HAVE_CCTK_FORTRAN_COMPLEX16 1
#define HAVE_CCTK_FORTRAN_COMPLEX32 1
#define CCTK_REAL16_KIND 16
#define CCTK_COMPLEX32_KIND 32
/* OpenMP collapse clause */
#ifdef CCTK_DISABLE_OMP_COLLAPSE
/* see http://software.intel.com/en-us/articles/intel-professional-edition-compilers-111-fixes-list/ */
# define collapse(N)
# define COLLAPSE(N)
#else
# 716 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* # undef collapse */
/* # undef COLLAPSE */
#endif
# 719 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
#endif /* FCODE */
# 721 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
/* Now include the code to pick an appropriate precison for reals and ints */
#if 0 /* expanded by -frewrite-includes */
#include "cctk_Types.h"
#endif /* expanded by -frewrite-includes */
# 723 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h" 1
/*@@
@header cctk_types.h
@date Mon Jun 21 21:03:27 1999
@author Tom Goodale
@desc
Defines the appropriate types based upon the precision.
Should be included by cctk_Config.h .
@enddesc
@@*/
#ifndef _CCTK_TYPES_H_
#define _CCTK_TYPES_H_
/* Make sure that cctk_config.h is available in case someone includes
* this by hand.
*/
#if 0 /* expanded by -frewrite-includes */
#include "cctk_Config.h"
#endif /* expanded by -frewrite-includes */
# 17 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
# 18 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Define stuff for C. */
#ifdef CCODE
typedef void *CCTK_POINTER;
typedef const void *CCTK_POINTER_TO_CONST;
typedef void (*CCTK_FPOINTER)(void);
#define HAVE_CCTK_POINTER 1
#define HAVE_CCTK_POINTER_TO_CONST 1
#define HAVE_CCTK_FPOINTER 1
/* Character types */
typedef char CCTK_CHAR;
typedef const char * CCTK_STRING;
#define HAVE_CCTK_CHAR 1
#define HAVE_CCTK_STRING 1
/* Floating point types */
#ifdef HAVE_CCTK_REAL16
typedef CCTK_REAL16_TYPE CCTK_REAL16;
#endif
# 40 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL8
typedef CCTK_REAL8_TYPE CCTK_REAL8;
#endif
# 43 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL4
typedef CCTK_REAL4_TYPE CCTK_REAL4;
#endif
# 46 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Declarations for complex types */
#ifdef __cplusplus
#if 0 /* expanded by -frewrite-includes */
# include <complex>
#endif /* expanded by -frewrite-includes */
# 50 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
# 51 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif
# 52 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL16
# define HAVE_CCTK_COMPLEX32 1
# ifdef __cplusplus
typedef std::complex<CCTK_REAL16> CCTK_COMPLEX32;
# else
# 58 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
typedef long double _Complex CCTK_COMPLEX32;
# endif
# 60 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif
# 61 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL8
# define HAVE_CCTK_COMPLEX16 1
# ifdef __cplusplus
typedef std::complex<CCTK_REAL8> CCTK_COMPLEX16;
# else
# 67 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
typedef double _Complex CCTK_COMPLEX16;
# endif
# 69 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif
# 70 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL4
# define HAVE_CCTK_COMPLEX8 1
# ifdef __cplusplus
typedef std::complex<CCTK_REAL4> CCTK_COMPLEX8;
# else
# 76 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
typedef float _Complex CCTK_COMPLEX8;
# endif
# 78 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif
# 79 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Small positive integer type */
typedef unsigned char CCTK_BYTE;
#define HAVE_CCTK_BYTE 1
/* Integer types */
#ifndef __CUDACC__
#ifdef HAVE_CCTK_INT16
typedef CCTK_INT16_TYPE CCTK_INT16;
#endif
# 90 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif
# 91 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT8
typedef CCTK_INT8_TYPE CCTK_INT8;
#endif
# 94 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT4
typedef CCTK_INT4_TYPE CCTK_INT4;
#endif
# 97 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT2
typedef CCTK_INT2_TYPE CCTK_INT2;
#endif
# 100 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT1
typedef CCTK_INT1_TYPE CCTK_INT1;
#endif
# 103 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif /* CCODE */
# 105 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Define stuff for Fortran. */
#ifdef FCODE
#define CCTK_POINTER integer*SIZEOF_CHAR_P
#define CCTK_POINTER_TO_CONST integer*SIZEOF_CHAR_P
/* TODO: add autoconf for determining the size of function pointers */
#define CCTK_FPOINTER integer*SIZEOF_CHAR_P
#define HAVE_CCTK_POINTER 1
#define HAVE_CCTK_POINTER_TO_CONST 1
#define HAVE_CCTK_FPOINTER 1
/* Character types */
/* A single character does not exist in Fortran; in Fortran, all
character types are strings. Hence we do not define CCTK_CHAR. */
/* #define CCTK_CHAR CHARACTER */
/* #define HAVE_CCTK_CHAR 1 */
/* This is a C-string, i.e., only a pointer */
#define CCTK_STRING CCTK_POINTER_TO_CONST
#define HAVE_CCTK_STRING 1
#ifdef HAVE_CCTK_INT16
# define CCTK_INT16 INTEGER*16
#endif
# 129 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT8
# define CCTK_INT8 INTEGER*8
#endif
# 132 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT4
# define CCTK_INT4 INTEGER*4
#endif
# 135 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT2
# define CCTK_INT2 INTEGER*2
#endif
# 138 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_INT1
# define CCTK_INT1 INTEGER*1
#endif
# 141 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL16
# define CCTK_REAL16 REAL*CCTK_REAL16_KIND
# define HAVE_CCTK_COMPLEX32 1
# define CCTK_COMPLEX32 COMPLEX*CCTK_COMPLEX32_KIND
#endif
# 147 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL8
# define CCTK_REAL8 REAL*8
# define HAVE_CCTK_COMPLEX16 1
# define CCTK_COMPLEX16 COMPLEX*16
#endif
# 153 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL4
# define CCTK_REAL4 REAL*4
# define HAVE_CCTK_COMPLEX8 1
# define CCTK_COMPLEX8 COMPLEX*8
#endif
# 159 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Should be unsigned, but Fortran doesn't have that */
#define CCTK_BYTE INTEGER*1
#define HAVE_CCTK_BYTE 1
#endif /*FCODE */
# 165 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Now pick the types based upon the precision variable. */
/* Floating point precision */
#ifdef CCTK_REAL_PRECISION_16
# define CCTK_REAL_PRECISION 16
# define CCTK_REAL CCTK_REAL16
#endif
# 173 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_REAL_PRECISION_8
# define CCTK_REAL_PRECISION 8
# define CCTK_REAL CCTK_REAL8
#endif
# 178 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_REAL_PRECISION_4
# define CCTK_REAL_PRECISION 4
# define CCTK_REAL CCTK_REAL4
#endif
# 183 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Integer precision */
#ifdef CCTK_INTEGER_PRECISION_16
# define CCTK_INTEGER_PRECISION 16
# define CCTK_INT CCTK_INT16
#endif
# 190 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_INTEGER_PRECISION_8
# define CCTK_INTEGER_PRECISION 8
# define CCTK_INT CCTK_INT8
#endif
# 195 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_INTEGER_PRECISION_4
# define CCTK_INTEGER_PRECISION 4
# define CCTK_INT CCTK_INT4
#endif
# 200 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_INTEGER_PRECISION_2
# define CCTK_INTEGER_PRECISION 2
# define CCTK_INT CCTK_INT2
#endif
# 205 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_INTEGER_PRECISION_1
# define CCTK_INTEGER_PRECISION 1
# define CCTK_INT CCTK_INT1
#endif
# 210 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Complex precision */
#ifdef CCTK_REAL_PRECISION_16
# define CCTK_COMPLEX_PRECISION 32
# define CCTK_COMPLEX CCTK_COMPLEX32
#endif
# 216 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_REAL_PRECISION_8
# define CCTK_COMPLEX_PRECISION 16
# define CCTK_COMPLEX CCTK_COMPLEX16
#endif
# 221 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCTK_REAL_PRECISION_4
# define CCTK_COMPLEX_PRECISION 8
# define CCTK_COMPLEX CCTK_COMPLEX8
#endif
# 226 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Determine whether we have a traditional or an ANSI cpp. */
#ifdef FCODE
/* The empty
comment in the definition of CCTK_ANSI_FPP will either turn into
nothing or into white space. There must not be any add spaces
around this empty comment.
A traditional cpp will turn it into nothing, an ANSI cpp will turn
it into white space. Depending on this, CCTK_ANSI_FPP will either
turn into a single separate token (which lead to the value 0), or
into two separate tokens (which lead to the value 1).
This is magic. */
#define CCTKi_FPP_A
#define CCTKi_FPP_B 1
#define CCTKi_FPP_ACCTKi_FPP_B 0
#define CCTK_ANSI_FPP CCTKi_FPP_A/**/CCTKi_FPP_B
#endif
# 245 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Handle 'unused' function arguments */
#ifdef FCODE
/* Declare a variable and tell the compiler that it may be unused.
This is used for CCTK_ARGUMENTS.
The macro CCTK_DECLARE (typ, nam, dim) is used with
typ: a type, used to declare the variable (e.g. "CCTK_REAL")
nam: the variable name (e.g. "x")
dim: optional array dimensions, (e.g. "(10,10)")
*/
#ifdef F90CODE
/* Declare it, and use it for a dummy operation */
#if CCTK_ANSI_FPP
#define CCTK_DECLARE(typ,nam,dim) \
typ nam dim && \
integer, parameter :: cctki_use_##nam = kind(nam)
#else
# 264 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#define CCTK_DECLARE(typ,nam,dim) \
typ nam dim && \
integer, parameter :: cctki_use_/**/nam = kind(nam)
#endif
# 268 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#else /* #ifndef F90CODE */
# 270 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Just declare it; FORTRAN 77 has no good way of marking it as used
within a block of declarations */
#define CCTK_DECLARE(typ,nam,dim) \
typ nam dim
#endif /* F90CODE */
# 277 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif /* FCODE */
# 278 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef CCODE
/* Declare and initialise a variable and tell the compiler that it may
be unused. This is used for CCTK_PARAMETERS and CCTK_ARGUMENTS.
The macro CCTK_DECLARE_INIT (typ, nam, val) is used with
typ: a type, used to declare the variable (e.g. "const int")
nam: the variable name (e.g. "x")
val: the value used to initialise it (e.g. "42")
*/
#if (! defined(__cplusplus) && defined(HAVE_CCTK_C_ATTRIBUTE_UNUSED )) \
|| ( defined(__cplusplus) && defined(HAVE_CCTK_CXX_ATTRIBUTE_UNUSED))
/* We have __attribute__((unused)), so use it */
#define CCTK_DECLARE_INIT(typ,nam,val) \
typ nam CCTK_ATTRIBUTE_UNUSED = (val);
#else
# 296 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Some fallback, bound to fool most compilers */
#define CCTK_DECLARE_INIT(typ,nam,val) \
typ nam = (val); \
enum cctki_use_##nam { cctki_use0_##nam = sizeof nam };
#endif /* HAVE_..._ATTRIBUTE_UNUSED */
# 303 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif /* CCODE */
# 305 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#endif /*_CCTK_TYPES_H_ */
# 307 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
# 724 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h" 2
/* Include any other stuff which is specific to this architecture */
#if 0 /* expanded by -frewrite-includes */
#include "cctk_Archdefs.h"
#endif /* expanded by -frewrite-includes */
# 726 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Archdefs.h" 1
/* Stuff from known architectures */
#ifndef _CCTK_ARCHDEFS_H_
#define _CCTK_ARCHDEFS_H_
#endif /* _CCTK_ARCHDEFS_H_ */
# 5 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Archdefs.h"
# 727 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h" 2
/* Include any extra stuff from optional extra packages. */
#if 0 /* expanded by -frewrite-includes */
#include "cctk_Extradefs.h"
#endif /* expanded by -frewrite-includes */
# 729 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# 1 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Extradefs.h" 1
/* Stuff from extra packages */
#ifndef _CCTK_EXTRADEFS_H_
#define _CCTK_EXTRADEFS_H_
/* BLAS definitions */
/* FFTW definitions */
/* GRACE definitions */
/* HDF5 definitions */
/* LAPACK definitions */
/* LORENE definitions */
/* MPI definitions */
/* PETSC definitions */
/* PTHREADS definitions */
#endif /*_CCTK_EXTRADEFS_H*/
# 24 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Extradefs.h"
# 730 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h" 2
#endif /* _CCTK_CONFIG_H_ */
# 732 "/gpfs/home/e/eschnett/eschnett/Cvanilla/configs/sim/config-data/cctk_Config.h"
# 18 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h" 2
/* Define stuff for C. */
#ifdef CCODE
typedef void *CCTK_POINTER;
typedef const void *CCTK_POINTER_TO_CONST;
typedef void (*CCTK_FPOINTER)(void);
#define HAVE_CCTK_POINTER 1
#define HAVE_CCTK_POINTER_TO_CONST 1
#define HAVE_CCTK_FPOINTER 1
/* Character types */
typedef char CCTK_CHAR;
typedef const char * CCTK_STRING;
#define HAVE_CCTK_CHAR 1
#define HAVE_CCTK_STRING 1
/* Floating point types */
#ifdef HAVE_CCTK_REAL16
typedef CCTK_REAL16_TYPE CCTK_REAL16;
#endif
# 40 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL8
typedef CCTK_REAL8_TYPE CCTK_REAL8;
#endif
# 43 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
#ifdef HAVE_CCTK_REAL4
typedef CCTK_REAL4_TYPE CCTK_REAL4;
#endif
# 46 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
/* Declarations for complex types */
#ifdef __cplusplus
#if 0 /* expanded by -frewrite-includes */
# include <complex>
#endif /* expanded by -frewrite-includes */
# 50 "/gpfs/home/e/eschnett/eschnett/Cvanilla/src/include/cctk_Types.h"
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 1 3
// -*- C++ -*-
//===--------------------------- complex ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_COMPLEX
#define _LIBCPP_COMPLEX
/*
complex synopsis
namespace std
{
template<class T>
class complex
{
public:
typedef T value_type;
complex(const T& re = T(), const T& im = T()); // constexpr in C++14
complex(const complex&); // constexpr in C++14
template<class X> complex(const complex<X>&); // constexpr in C++14
T real() const; // constexpr in C++14
T imag() const; // constexpr in C++14
void real(T);
void imag(T);
complex<T>& operator= (const T&);
complex<T>& operator+=(const T&);
complex<T>& operator-=(const T&);
complex<T>& operator*=(const T&);
complex<T>& operator/=(const T&);
complex& operator=(const complex&);
template<class X> complex<T>& operator= (const complex<X>&);
template<class X> complex<T>& operator+=(const complex<X>&);
template<class X> complex<T>& operator-=(const complex<X>&);
template<class X> complex<T>& operator*=(const complex<X>&);
template<class X> complex<T>& operator/=(const complex<X>&);
};
template<>
class complex<float>
{
public:
typedef float value_type;
constexpr complex(float re = 0.0f, float im = 0.0f);
explicit constexpr complex(const complex<double>&);
explicit constexpr complex(const complex<long double>&);
constexpr float real() const;
void real(float);
constexpr float imag() const;
void imag(float);
complex<float>& operator= (float);
complex<float>& operator+=(float);
complex<float>& operator-=(float);
complex<float>& operator*=(float);
complex<float>& operator/=(float);
complex<float>& operator=(const complex<float>&);
template<class X> complex<float>& operator= (const complex<X>&);
template<class X> complex<float>& operator+=(const complex<X>&);
template<class X> complex<float>& operator-=(const complex<X>&);
template<class X> complex<float>& operator*=(const complex<X>&);
template<class X> complex<float>& operator/=(const complex<X>&);
};
template<>
class complex<double>
{
public:
typedef double value_type;
constexpr complex(double re = 0.0, double im = 0.0);
constexpr complex(const complex<float>&);
explicit constexpr complex(const complex<long double>&);
constexpr double real() const;
void real(double);
constexpr double imag() const;
void imag(double);
complex<double>& operator= (double);
complex<double>& operator+=(double);
complex<double>& operator-=(double);
complex<double>& operator*=(double);
complex<double>& operator/=(double);
complex<double>& operator=(const complex<double>&);
template<class X> complex<double>& operator= (const complex<X>&);
template<class X> complex<double>& operator+=(const complex<X>&);
template<class X> complex<double>& operator-=(const complex<X>&);
template<class X> complex<double>& operator*=(const complex<X>&);
template<class X> complex<double>& operator/=(const complex<X>&);
};
template<>
class complex<long double>
{
public:
typedef long double value_type;
constexpr complex(long double re = 0.0L, long double im = 0.0L);
constexpr complex(const complex<float>&);
constexpr complex(const complex<double>&);
constexpr long double real() const;
void real(long double);
constexpr long double imag() const;
void imag(long double);
complex<long double>& operator=(const complex<long double>&);
complex<long double>& operator= (long double);
complex<long double>& operator+=(long double);
complex<long double>& operator-=(long double);
complex<long double>& operator*=(long double);
complex<long double>& operator/=(long double);
template<class X> complex<long double>& operator= (const complex<X>&);
template<class X> complex<long double>& operator+=(const complex<X>&);
template<class X> complex<long double>& operator-=(const complex<X>&);
template<class X> complex<long double>& operator*=(const complex<X>&);
template<class X> complex<long double>& operator/=(const complex<X>&);
};
// 26.3.6 operators:
template<class T> complex<T> operator+(const complex<T>&, const complex<T>&);
template<class T> complex<T> operator+(const complex<T>&, const T&);
template<class T> complex<T> operator+(const T&, const complex<T>&);
template<class T> complex<T> operator-(const complex<T>&, const complex<T>&);
template<class T> complex<T> operator-(const complex<T>&, const T&);
template<class T> complex<T> operator-(const T&, const complex<T>&);
template<class T> complex<T> operator*(const complex<T>&, const complex<T>&);
template<class T> complex<T> operator*(const complex<T>&, const T&);
template<class T> complex<T> operator*(const T&, const complex<T>&);
template<class T> complex<T> operator/(const complex<T>&, const complex<T>&);
template<class T> complex<T> operator/(const complex<T>&, const T&);
template<class T> complex<T> operator/(const T&, const complex<T>&);
template<class T> complex<T> operator+(const complex<T>&);
template<class T> complex<T> operator-(const complex<T>&);
template<class T> bool operator==(const complex<T>&, const complex<T>&); // constexpr in C++14
template<class T> bool operator==(const complex<T>&, const T&); // constexpr in C++14
template<class T> bool operator==(const T&, const complex<T>&); // constexpr in C++14
template<class T> bool operator!=(const complex<T>&, const complex<T>&); // constexpr in C++14
template<class T> bool operator!=(const complex<T>&, const T&); // constexpr in C++14
template<class T> bool operator!=(const T&, const complex<T>&); // constexpr in C++14
template<class T, class charT, class traits>
basic_istream<charT, traits>&
operator>>(basic_istream<charT, traits>&, complex<T>&);
template<class T, class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>&, const complex<T>&);
// 26.3.7 values:
template<class T> T real(const complex<T>&); // constexpr in C++14
long double real(long double); // constexpr in C++14
double real(double); // constexpr in C++14
template<Integral T> double real(T); // constexpr in C++14
float real(float); // constexpr in C++14
template<class T> T imag(const complex<T>&); // constexpr in C++14
long double imag(long double); // constexpr in C++14
double imag(double); // constexpr in C++14
template<Integral T> double imag(T); // constexpr in C++14
float imag(float); // constexpr in C++14
template<class T> T abs(const complex<T>&);
template<class T> T arg(const complex<T>&);
long double arg(long double);
double arg(double);
template<Integral T> double arg(T);
float arg(float);
template<class T> T norm(const complex<T>&);
long double norm(long double);
double norm(double);
template<Integral T> double norm(T);
float norm(float);
template<class T> complex<T> conj(const complex<T>&);
complex<long double> conj(long double);
complex<double> conj(double);
template<Integral T> complex<double> conj(T);
complex<float> conj(float);
template<class T> complex<T> proj(const complex<T>&);
complex<long double> proj(long double);
complex<double> proj(double);
template<Integral T> complex<double> proj(T);
complex<float> proj(float);
template<class T> complex<T> polar(const T&, const T& = 0);
// 26.3.8 transcendentals:
template<class T> complex<T> acos(const complex<T>&);
template<class T> complex<T> asin(const complex<T>&);
template<class T> complex<T> atan(const complex<T>&);
template<class T> complex<T> acosh(const complex<T>&);
template<class T> complex<T> asinh(const complex<T>&);
template<class T> complex<T> atanh(const complex<T>&);
template<class T> complex<T> cos (const complex<T>&);
template<class T> complex<T> cosh (const complex<T>&);
template<class T> complex<T> exp (const complex<T>&);
template<class T> complex<T> log (const complex<T>&);
template<class T> complex<T> log10(const complex<T>&);
template<class T> complex<T> pow(const complex<T>&, const T&);
template<class T> complex<T> pow(const complex<T>&, const complex<T>&);
template<class T> complex<T> pow(const T&, const complex<T>&);
template<class T> complex<T> sin (const complex<T>&);
template<class T> complex<T> sinh (const complex<T>&);
template<class T> complex<T> sqrt (const complex<T>&);
template<class T> complex<T> tan (const complex<T>&);
template<class T> complex<T> tanh (const complex<T>&);
template<class T, class charT, class traits>
basic_istream<charT, traits>&
operator>>(basic_istream<charT, traits>& is, complex<T>& x);
template<class T, class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& o, const complex<T>& x);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 243 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 1 3
// -*- C++ -*-
//===--------------------------- __config ---------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CONFIG
#define _LIBCPP_CONFIG
#if !defined(_MSC_VER) || defined(__clang__)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 16 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 17 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __GNUC__
#define _GNUC_VER (__GNUC__ * 100 + __GNUC_MINOR__)
#else
# 21 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _GNUC_VER 0
#endif
# 23 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_VERSION 3800
#define _LIBCPP_ABI_VERSION 1
#define _LIBCPP_CONCAT1(_LIBCPP_X,_LIBCPP_Y) _LIBCPP_X##_LIBCPP_Y
#define _LIBCPP_CONCAT(_LIBCPP_X,_LIBCPP_Y) _LIBCPP_CONCAT1(_LIBCPP_X,_LIBCPP_Y)
#define _LIBCPP_NAMESPACE _LIBCPP_CONCAT(__,_LIBCPP_ABI_VERSION)
#ifndef __has_attribute
#define __has_attribute(__x) 0
#endif
# 37 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef __has_builtin
#define __has_builtin(__x) 0
#endif
# 40 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef __has_extension
#define __has_extension(__x) 0
#endif
# 43 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef __has_feature
#define __has_feature(__x) 0
#endif
# 46 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// '__is_identifier' returns '0' if '__x' is a reserved identifier provided by
// the compiler and '1' otherwise.
#ifndef __is_identifier
#define __is_identifier(__x) 1
#endif
# 51 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __LITTLE_ENDIAN__
#if __LITTLE_ENDIAN__
#define _LIBCPP_LITTLE_ENDIAN 1
#define _LIBCPP_BIG_ENDIAN 0
#endif // __LITTLE_ENDIAN__
# 58 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // __LITTLE_ENDIAN__
# 59 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __BIG_ENDIAN__
#if __BIG_ENDIAN__
#define _LIBCPP_LITTLE_ENDIAN 0
#define _LIBCPP_BIG_ENDIAN 1
#endif // __BIG_ENDIAN__
# 65 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // __BIG_ENDIAN__
# 66 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __BYTE_ORDER__
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define _LIBCPP_LITTLE_ENDIAN 1
#define _LIBCPP_BIG_ENDIAN 0
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
# 72 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_LITTLE_ENDIAN 0
#define _LIBCPP_BIG_ENDIAN 1
#endif // __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
# 75 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // __BYTE_ORDER__
# 76 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __FreeBSD__
#if 0 /* expanded by -frewrite-includes */
# include <sys/endian.h>
#endif /* expanded by -frewrite-includes */
# 78 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# 79 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# if _BYTE_ORDER == _LITTLE_ENDIAN
# define _LIBCPP_LITTLE_ENDIAN 1
# define _LIBCPP_BIG_ENDIAN 0
# else // _BYTE_ORDER == _LITTLE_ENDIAN
# 83 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_LITTLE_ENDIAN 0
# define _LIBCPP_BIG_ENDIAN 1
# endif // _BYTE_ORDER == _LITTLE_ENDIAN
# 86 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# ifndef __LONG_LONG_SUPPORTED
# define _LIBCPP_HAS_NO_LONG_LONG
# endif // __LONG_LONG_SUPPORTED
# 89 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // __FreeBSD__
# 90 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __NetBSD__
#if 0 /* expanded by -frewrite-includes */
# include <sys/endian.h>
#endif /* expanded by -frewrite-includes */
# 92 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# 93 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# if _BYTE_ORDER == _LITTLE_ENDIAN
# define _LIBCPP_LITTLE_ENDIAN 1
# define _LIBCPP_BIG_ENDIAN 0
# else // _BYTE_ORDER == _LITTLE_ENDIAN
# 97 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_LITTLE_ENDIAN 0
# define _LIBCPP_BIG_ENDIAN 1
# endif // _BYTE_ORDER == _LITTLE_ENDIAN
# 100 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_HAS_QUICK_EXIT
#endif // __NetBSD__
# 102 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _WIN32
# define _LIBCPP_LITTLE_ENDIAN 1
# define _LIBCPP_BIG_ENDIAN 0
// Compiler intrinsics (MSVC)
#if defined(_MSC_VER) && _MSC_VER >= 1400
# define _LIBCPP_HAS_IS_BASE_OF
# endif
# 110 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# if defined(_MSC_VER) && !defined(__clang__)
# define _LIBCPP_MSVC // Using Microsoft Visual C++ compiler
# define _LIBCPP_TOSTRING2(x) #x
# define _LIBCPP_TOSTRING(x) _LIBCPP_TOSTRING2(x)
# define _LIBCPP_WARNING(x) __pragma(message(__FILE__ "(" _LIBCPP_TOSTRING(__LINE__) ") : warning note: " x))
# endif
# 116 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# // If mingw not explicitly detected, assume using MS C runtime only.
# ifndef __MINGW32__
# define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library
# endif
# 120 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // _WIN32
# 121 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __sun__
#if 0 /* expanded by -frewrite-includes */
# include <sys/isa_defs.h>
#endif /* expanded by -frewrite-includes */
# 123 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# 124 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# ifdef _LITTLE_ENDIAN
# define _LIBCPP_LITTLE_ENDIAN 1
# define _LIBCPP_BIG_ENDIAN 0
# else
# 128 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_LITTLE_ENDIAN 0
# define _LIBCPP_BIG_ENDIAN 1
# endif
# 131 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // __sun__
# 132 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__CloudABI__)
// Certain architectures provide arc4random(). Prefer using
// arc4random() over /dev/{u,}random to make it possible to obtain
// random data even when using sandboxing mechanisms such as chroots,
// Capsicum, etc.
# define _LIBCPP_USING_ARC4_RANDOM
#elif defined(__native_client__)
# 140 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// NaCl's sandbox (which PNaCl also runs in) doesn't allow filesystem access,
// including accesses to the special files under /dev. C++11's
// std::random_device is instead exposed through a NaCl syscall.
# define _LIBCPP_USING_NACL_RANDOM
#elif defined(_WIN32)
# 145 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_USING_WIN32_RANDOM
#else
# 147 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_USING_DEV_RANDOM
#endif
# 149 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
#if 0 /* expanded by -frewrite-includes */
# include <endian.h>
#endif /* expanded by -frewrite-includes */
# 151 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# 152 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define _LIBCPP_LITTLE_ENDIAN 1
# define _LIBCPP_BIG_ENDIAN 0
# elif __BYTE_ORDER == __BIG_ENDIAN
# 156 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_LITTLE_ENDIAN 0
# define _LIBCPP_BIG_ENDIAN 1
# else // __BYTE_ORDER == __BIG_ENDIAN
# 159 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# error unable to determine endian
# endif
# 161 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
# 162 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _WIN32
// only really useful for a DLL
#ifdef _LIBCPP_DLL // this should be a compiler builtin define ideally...
# ifdef cxx_EXPORTS
# define _LIBCPP_HIDDEN
# define _LIBCPP_FUNC_VIS __declspec(dllexport)
# define _LIBCPP_TYPE_VIS __declspec(dllexport)
# else
# 172 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_HIDDEN
# define _LIBCPP_FUNC_VIS __declspec(dllimport)
# define _LIBCPP_TYPE_VIS __declspec(dllimport)
# endif
# 176 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#else
# 177 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_HIDDEN
# define _LIBCPP_FUNC_VIS
# define _LIBCPP_TYPE_VIS
#endif
# 181 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_TYPE_VIS_ONLY
#define _LIBCPP_FUNC_VIS_ONLY
#ifndef _LIBCPP_INLINE_VISIBILITY
# ifdef _LIBCPP_MSVC
# define _LIBCPP_INLINE_VISIBILITY __forceinline
# else // MinGW GCC and Clang
# 189 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__always_inline__))
# endif
# 191 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 192 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_EXCEPTION_ABI
#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS
#endif
# 196 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_ALWAYS_INLINE
# ifdef _LIBCPP_MSVC
# define _LIBCPP_ALWAYS_INLINE __forceinline
# endif
# 201 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 202 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // _WIN32
# 204 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_HIDDEN
#define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
#endif
# 208 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_FUNC_VIS
#define _LIBCPP_FUNC_VIS __attribute__ ((__visibility__("default")))
#endif
# 212 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_TYPE_VIS
# if __has_attribute(__type_visibility__)
# define _LIBCPP_TYPE_VIS __attribute__ ((__type_visibility__("default")))
# else
# 217 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default")))
# endif
# 219 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 220 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_TYPE_VIS_ONLY
# define _LIBCPP_TYPE_VIS_ONLY _LIBCPP_TYPE_VIS
#endif
# 224 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_FUNC_VIS_ONLY
# define _LIBCPP_FUNC_VIS_ONLY _LIBCPP_FUNC_VIS
#endif
# 228 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_INLINE_VISIBILITY
#define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
#endif
# 232 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_EXCEPTION_ABI
#define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default")))
#endif
# 236 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_ALWAYS_INLINE
#define _LIBCPP_ALWAYS_INLINE __attribute__ ((__visibility__("hidden"), __always_inline__))
#endif
# 240 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__clang__)
#if defined(__APPLE__) && !defined(__i386__) && !defined(__x86_64__) && \
!defined(__arm__)
#define _LIBCPP_ALTERNATE_STRING_LAYOUT
#endif
# 247 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(cxx_alignas)
# define _ALIGNAS_TYPE(x) alignas(x)
# define _ALIGNAS(x) alignas(x)
#else
# 252 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x))))
# define _ALIGNAS(x) __attribute__((__aligned__(x)))
#endif
# 255 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !__has_feature(cxx_alias_templates)
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
#endif
# 259 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __cplusplus < 201103L
typedef __char16_t char16_t;
typedef __char32_t char32_t;
#endif
# 264 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_exceptions))
#define _LIBCPP_NO_EXCEPTIONS
#endif
# 268 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_rtti))
#define _LIBCPP_NO_RTTI
#endif
# 272 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_strong_enums))
#define _LIBCPP_HAS_NO_STRONG_ENUMS
#endif
# 276 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_decltype))
#define _LIBCPP_HAS_NO_DECLTYPE
#endif
# 280 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(cxx_attributes)
# define _LIBCPP_NORETURN [[noreturn]]
#else
# 284 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_NORETURN __attribute__ ((noreturn))
#endif
# 286 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_UNUSED __attribute__((__unused__))
#if !(__has_feature(cxx_defaulted_functions))
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
#endif // !(__has_feature(cxx_defaulted_functions))
# 292 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_deleted_functions))
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
#endif // !(__has_feature(cxx_deleted_functions))
# 296 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_lambdas))
#define _LIBCPP_HAS_NO_LAMBDAS
#endif
# 300 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_nullptr))
#define _LIBCPP_HAS_NO_NULLPTR
#endif
# 304 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_rvalue_references))
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif
# 308 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_static_assert))
#define _LIBCPP_HAS_NO_STATIC_ASSERT
#endif
# 312 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_auto_type))
#define _LIBCPP_HAS_NO_AUTO_TYPE
#endif
# 316 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_access_control_sfinae)) || !__has_feature(cxx_trailing_return)
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
#endif
# 320 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_variadic_templates))
#define _LIBCPP_HAS_NO_VARIADICS
#endif
# 324 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_trailing_return))
#define _LIBCPP_HAS_NO_TRAILING_RETURN
#endif
# 328 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_generalized_initializers))
#define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#endif
# 332 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(is_base_of)
# define _LIBCPP_HAS_IS_BASE_OF
#endif
# 336 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(is_final)
# define _LIBCPP_HAS_IS_FINAL
#endif
# 340 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// Objective-C++ features (opt-in)
#if __has_feature(objc_arc)
#define _LIBCPP_HAS_OBJC_ARC
#endif
# 345 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(objc_arc_weak)
#define _LIBCPP_HAS_OBJC_ARC_WEAK
#define _LIBCPP_HAS_NO_STRONG_ENUMS
#endif
# 350 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_constexpr))
#define _LIBCPP_HAS_NO_CONSTEXPR
#endif
# 354 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_relaxed_constexpr))
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
#endif
# 358 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !(__has_feature(cxx_variable_templates))
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#endif
# 362 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
#if defined(__FreeBSD__)
#define _LIBCPP_HAS_QUICK_EXIT
#define _LIBCPP_HAS_C11_FEATURES
#elif defined(__ANDROID__)
# 368 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_HAS_QUICK_EXIT
#elif defined(__linux__)
# 370 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if 0 /* expanded by -frewrite-includes */
#include <features.h>
#endif /* expanded by -frewrite-includes */
# 370 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 1 3
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _FEATURES_H
#define _FEATURES_H 1
/* These are defined by the user (or the compiler)
to specify the desired environment:
__STRICT_ANSI__ ISO Standard C.
_ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
_ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
_POSIX_SOURCE IEEE Std 1003.1.
_POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
if >=199309L, add IEEE Std 1003.1b-1993;
if >=199506L, add IEEE Std 1003.1c-1995;
if >=200112L, all of IEEE 1003.1-2004
if >=200809L, all of IEEE 1003.1-2008
_XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
Single Unix conformance is wanted, to 600 for the
sixth revision, to 700 for the seventh revision.
_XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
_LARGEFILE_SOURCE Some more functions for correct standard I/O.
_LARGEFILE64_SOURCE Additional functionality from LFS for large files.
_FILE_OFFSET_BITS=N Select default filesystem interface.
_BSD_SOURCE ISO C, POSIX, and 4.3BSD things.
_SVID_SOURCE ISO C, POSIX, and SVID things.
_ATFILE_SOURCE Additional *at interfaces.
_GNU_SOURCE All of the above, plus GNU extensions.
_REENTRANT Select additionally reentrant object.
_THREAD_SAFE Same as _REENTRANT, often used by other systems.
_FORTIFY_SOURCE If set to numeric value > 0 additional security
measures are defined, according to level.
The `-ansi' switch to the GNU C compiler defines __STRICT_ANSI__.
If none of these are defined, the default is to have _SVID_SOURCE,
_BSD_SOURCE, and _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
200112L. If more than one of these are defined, they accumulate.
For example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE
together give you ISO C, 1003.1, and 1003.2, but nothing else.
These are defined by this file and are used by the
header files to decide what to declare or define:
__USE_ISOC11 Define ISO C11 things.
__USE_ISOC99 Define ISO C99 things.
__USE_ISOC95 Define ISO C90 AMD1 (C95) things.
__USE_POSIX Define IEEE Std 1003.1 things.
__USE_POSIX2 Define IEEE Std 1003.2 things.
__USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
__USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
__USE_XOPEN Define XPG things.
__USE_XOPEN_EXTENDED Define X/Open Unix things.
__USE_UNIX98 Define Single Unix V2 things.
__USE_XOPEN2K Define XPG6 things.
__USE_XOPEN2KXSI Define XPG6 XSI things.
__USE_XOPEN2K8 Define XPG7 things.
__USE_XOPEN2K8XSI Define XPG7 XSI things.
__USE_LARGEFILE Define correct standard I/O things.
__USE_LARGEFILE64 Define LFS things with separate names.
__USE_FILE_OFFSET64 Define 64bit interface as default.
__USE_BSD Define 4.3BSD things.
__USE_SVID Define SVID things.
__USE_MISC Define things common to BSD and System V Unix.
__USE_ATFILE Define *at interfaces and AT_* constants for them.
__USE_GNU Define GNU extensions.
__USE_REENTRANT Define reentrant/thread-safe *_r functions.
__USE_FORTIFY_LEVEL Additional security measures used, according to level.
__FAVOR_BSD Favor 4.3BSD things in cases of conflict.
The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
defined by this file unconditionally. `__GNU_LIBRARY__' is provided
only for compatibility. All new code should use the other symbols
to test for features.
All macros listed above as possibly being defined by this file are
explicitly undefined if they are not explicitly defined.
Feature-test macros that are not defined by the user or compiler
but are implied by the other feature-test macros defined (or by the
lack of any definitions) are defined by the file. */
/* Undefine everything, so we get a clean slate. */
#undef __USE_ISOC11
#undef __USE_ISOC99
#undef __USE_ISOC95
#undef __USE_ISOCXX11
#undef __USE_POSIX
#undef __USE_POSIX2
#undef __USE_POSIX199309
#undef __USE_POSIX199506
#undef __USE_XOPEN
#undef __USE_XOPEN_EXTENDED
#undef __USE_UNIX98
#undef __USE_XOPEN2K
#undef __USE_XOPEN2KXSI
#undef __USE_XOPEN2K8
#undef __USE_XOPEN2K8XSI
#undef __USE_LARGEFILE
#undef __USE_LARGEFILE64
#undef __USE_FILE_OFFSET64
#undef __USE_BSD
#undef __USE_SVID
#undef __USE_MISC
#undef __USE_ATFILE
#undef __USE_GNU
#undef __USE_REENTRANT
#undef __USE_FORTIFY_LEVEL
#undef __FAVOR_BSD
#undef __KERNEL_STRICT_NAMES
/* Suppress kernel-name space pollution unless user expressedly asks
for it. */
#ifndef _LOOSE_KERNEL_NAMES
# define __KERNEL_STRICT_NAMES
#endif
# 131 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* Always use ISO C things. */
#define __USE_ANSI 1
/* Convenience macros to test the versions of glibc and gcc.
Use them like this:
#if __GNUC_PREREQ (2,8)
... code requiring gcc 2.8 or later ...
#endif
Note - they won't work for gcc1 or glibc1, since the _MINOR macros
were not defined then. */
#if defined __GNUC__ && defined __GNUC_MINOR__
# define __GNUC_PREREQ(maj, min) \
((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
#else
# 146 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define __GNUC_PREREQ(maj, min) 0
#endif
# 148 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* If _BSD_SOURCE was defined by the user, favor BSD over POSIX. */
#if defined _BSD_SOURCE && \
!(defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || \
defined _XOPEN_SOURCE || defined _GNU_SOURCE || defined _SVID_SOURCE)
# define __FAVOR_BSD 1
#endif
# 156 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* If _GNU_SOURCE was defined by the user, turn on all the other features. */
#ifdef _GNU_SOURCE
# undef _ISOC95_SOURCE
# define _ISOC95_SOURCE 1
# undef _ISOC99_SOURCE
# define _ISOC99_SOURCE 1
# undef _ISOC11_SOURCE
# define _ISOC11_SOURCE 1
# undef _POSIX_SOURCE
# define _POSIX_SOURCE 1
# undef _POSIX_C_SOURCE
# define _POSIX_C_SOURCE 200809L
# undef _XOPEN_SOURCE
# define _XOPEN_SOURCE 700
# undef _XOPEN_SOURCE_EXTENDED
# define _XOPEN_SOURCE_EXTENDED 1
# undef _LARGEFILE64_SOURCE
# define _LARGEFILE64_SOURCE 1
# undef _BSD_SOURCE
# define _BSD_SOURCE 1
# undef _SVID_SOURCE
# define _SVID_SOURCE 1
# undef _ATFILE_SOURCE
# define _ATFILE_SOURCE 1
#endif
# 182 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* If nothing (other than _GNU_SOURCE) is defined,
define _BSD_SOURCE and _SVID_SOURCE. */
#if (!defined __STRICT_ANSI__ && !defined _ISOC99_SOURCE && \
!defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE && \
!defined _XOPEN_SOURCE && !defined _BSD_SOURCE && !defined _SVID_SOURCE)
# define _BSD_SOURCE 1
# define _SVID_SOURCE 1
#endif
# 191 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* This is to enable the ISO C11 extension. */
#if (defined _ISOC11_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))
# define __USE_ISOC11 1
#endif
# 197 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* This is to enable the ISO C99 extension. */
#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
# define __USE_ISOC99 1
#endif
# 203 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* This is to enable the ISO C90 Amendment 1:1995 extension. */
#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))
# define __USE_ISOC95 1
#endif
# 209 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* This is to enable compatibility for ISO C++11.
So far g++ does not provide a macro. Check the temporary macro for
now, too. */
#if ((defined __cplusplus && __cplusplus >= 201103L) \
|| defined __GXX_EXPERIMENTAL_CXX0X__)
# define __USE_ISOCXX11 1
#endif
# 218 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2
(and IEEE Std 1003.1b-1993 unless _XOPEN_SOURCE is defined). */
#if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \
!defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE)
# define _POSIX_SOURCE 1
# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500
# define _POSIX_C_SOURCE 2
# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600
# 227 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define _POSIX_C_SOURCE 199506L
# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700
# 229 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define _POSIX_C_SOURCE 200112L
# else
# 231 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define _POSIX_C_SOURCE 200809L
# endif
# 233 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define __USE_POSIX_IMPLICITLY 1
#endif
# 235 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if defined _POSIX_SOURCE || _POSIX_C_SOURCE >= 1 || defined _XOPEN_SOURCE
# define __USE_POSIX 1
#endif
# 239 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE
# define __USE_POSIX2 1
#endif
# 243 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if (_POSIX_C_SOURCE - 0) >= 199309L
# define __USE_POSIX199309 1
#endif
# 247 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if (_POSIX_C_SOURCE - 0) >= 199506L
# define __USE_POSIX199506 1
#endif
# 251 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if (_POSIX_C_SOURCE - 0) >= 200112L
# define __USE_XOPEN2K 1
# undef __USE_ISOC95
# define __USE_ISOC95 1
# undef __USE_ISOC99
# define __USE_ISOC99 1
#endif
# 259 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if (_POSIX_C_SOURCE - 0) >= 200809L
# define __USE_XOPEN2K8 1
# undef _ATFILE_SOURCE
# define _ATFILE_SOURCE 1
#endif
# 265 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _XOPEN_SOURCE
# define __USE_XOPEN 1
# if (_XOPEN_SOURCE - 0) >= 500
# define __USE_XOPEN_EXTENDED 1
# define __USE_UNIX98 1
# undef _LARGEFILE_SOURCE
# define _LARGEFILE_SOURCE 1
# if (_XOPEN_SOURCE - 0) >= 600
# if (_XOPEN_SOURCE - 0) >= 700
# define __USE_XOPEN2K8 1
# define __USE_XOPEN2K8XSI 1
# endif
# 278 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define __USE_XOPEN2K 1
# define __USE_XOPEN2KXSI 1
# undef __USE_ISOC95
# define __USE_ISOC95 1
# undef __USE_ISOC99
# define __USE_ISOC99 1
# endif
# 285 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# else
# 286 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# ifdef _XOPEN_SOURCE_EXTENDED
# define __USE_XOPEN_EXTENDED 1
# endif
# 289 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# endif
# 290 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#endif
# 291 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _LARGEFILE_SOURCE
# define __USE_LARGEFILE 1
#endif
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _LARGEFILE64_SOURCE
# define __USE_LARGEFILE64 1
#endif
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
# define __USE_FILE_OFFSET64 1
#endif
# 303 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if defined _BSD_SOURCE || defined _SVID_SOURCE
# define __USE_MISC 1
#endif
# 307 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _BSD_SOURCE
# define __USE_BSD 1
#endif
# 311 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _SVID_SOURCE
# define __USE_SVID 1
#endif
# 315 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _ATFILE_SOURCE
# define __USE_ATFILE 1
#endif
# 319 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifdef _GNU_SOURCE
# define __USE_GNU 1
#endif
# 323 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if defined _REENTRANT || defined _THREAD_SAFE
# define __USE_REENTRANT 1
#endif
# 327 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0
# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
# elif !__GNUC_PREREQ (4, 1)
# 332 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# warning _FORTIFY_SOURCE requires GCC 4.1 or later
# elif _FORTIFY_SOURCE > 1
# 334 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define __USE_FORTIFY_LEVEL 2
# else
# 336 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# define __USE_FORTIFY_LEVEL 1
# endif
# 338 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#endif
# 339 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#ifndef __USE_FORTIFY_LEVEL
# define __USE_FORTIFY_LEVEL 0
#endif
# 342 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* Get definitions of __STDC_* predefined macros, if the compiler has
not preincluded this header automatically. */
#if 0 /* expanded by -frewrite-includes */
#include <stdc-predef.h>
#endif /* expanded by -frewrite-includes */
# 345 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdc-predef.h" 1 3
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _STDC_PREDEF_H
#define _STDC_PREDEF_H 1
/* This header is separate from features.h so that the compiler can
include it implicitly at the start of every compilation. It must
not itself include <features.h> or any other header that includes
<features.h> because the implicit include comes before any feature
test macros that may be defined in a source file before it first
explicitly includes a system header. GCC knows the name of this
header in order to preinclude it. */
/* We do support the IEC 559 math functionality, real and complex. */
#define __STDC_IEC_559__ 1
#define __STDC_IEC_559_COMPLEX__ 1
/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
Unicode 6.0. */
#define __STDC_ISO_10646__ 201103L
/* We do not support C11 <threads.h>. */
#define __STDC_NO_THREADS__ 1
#endif
# 41 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdc-predef.h" 3
# 346 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 2 3
/* This macro indicates that the installed library is the GNU C Library.
For historic reasons the value now is 6 and this will stay from now
on. The use of this variable is deprecated. Use __GLIBC__ and
__GLIBC_MINOR__ now (see below) when you want to test for a specific
GNU C library version and use the values in <gnu/lib-names.h> to get
the sonames of the shared libraries. */
#undef __GNU_LIBRARY__
#define __GNU_LIBRARY__ 6
/* Major and minor version number of the GNU C library package. Use
these macros to test for features in specific releases. */
#define __GLIBC__ 2
#define __GLIBC_MINOR__ 17
#define __GLIBC_PREREQ(maj, min) \
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
/* Decide whether a compiler supports the long long datatypes. */
#if defined __GNUC__ \
|| (defined __PGI && defined __i386__ ) \
|| (defined __INTEL_COMPILER && (defined __i386__ || defined __ia64__)) \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
# define __GLIBC_HAVE_LONG_LONG 1
#endif
# 371 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* This is here only because every header file already includes this one. */
#ifndef __ASSEMBLER__
# ifndef _SYS_CDEFS_H
#if 0 /* expanded by -frewrite-includes */
# include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 375 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 1 3
/* Copyright (C) 1992-2002, 2004, 2005, 2006, 2007, 2009, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _SYS_CDEFS_H
#define _SYS_CDEFS_H 1
/* We are almost always included from features.h. */
#ifndef _FEATURES_H
#if 0 /* expanded by -frewrite-includes */
# include <features.h>
#endif /* expanded by -frewrite-includes */
# 24 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# 25 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#endif
# 26 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* The GNU libc does not support any K&R compilers or the traditional mode
of ISO C compilers anymore. Check for some of the combinations not
anymore supported. */
#if defined __GNUC__ && !defined __STDC__
# error "You need a ISO C conforming compiler to use the glibc headers"
#endif
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Some user header file might have defined this before. */
#undef __P
#undef __PMT
#ifdef __GNUC__
/* All functions, except those with callbacks or those that
synchronize memory, are leaf functions. */
# if __GNUC_PREREQ (4, 6) && !defined _LIBC
# define __LEAF , __leaf__
# define __LEAF_ATTR __attribute__ ((__leaf__))
# else
# 46 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __LEAF
# define __LEAF_ATTR
# endif
# 49 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* GCC can always grok prototypes. For C++ programs we add throw()
to help it optimize the function calls. But this works only with
gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
as non-throwing using a function attribute since programs can use
the -fexceptions options for C code as well. */
# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
# define __THROW __attribute__ ((__nothrow__ __LEAF))
# define __THROWNL __attribute__ ((__nothrow__))
# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
# else
# 60 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# if defined __cplusplus && __GNUC_PREREQ (2,8)
# define __THROW throw ()
# define __THROWNL throw ()
# define __NTH(fct) __LEAF_ATTR fct throw ()
# else
# 65 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __THROW
# define __THROWNL
# define __NTH(fct) fct
# endif
# 69 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# endif
# 70 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#else /* Not GCC. */
# 72 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __inline /* No inline functions. */
# define __THROW
# define __THROWNL
# define __NTH(fct) fct
#endif /* GCC. */
# 80 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* These two macros are not used in glibc anymore. They are kept here
only because some other projects expect the macros to be defined. */
#define __P(args) args
#define __PMT(args) args
/* For these things, GCC behaves the ANSI way normally,
and the non-ANSI way under -traditional. */
#define __CONCAT(x,y) x ## y
#define __STRING(x) #x
/* This is not a typedef so `const __ptr_t' does the right thing. */
#define __ptr_t void *
#define __long_double_t long double
/* C++ needs to know that types and declarations are C, not C++. */
#ifdef __cplusplus
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
#else
# 102 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __BEGIN_DECLS
# define __END_DECLS
#endif
# 105 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* The standard library needs the functions from the ISO C90 standard
in the std namespace. At the same time we want to be safe for
future changes and we include the ISO C99 code in the non-standard
namespace __c99. The C++ wrapper header take case of adding the
definitions to the global namespace. */
#if defined __cplusplus && defined _GLIBCPP_USE_NAMESPACES
# define __BEGIN_NAMESPACE_STD namespace std {
# define __END_NAMESPACE_STD }
# define __USING_NAMESPACE_STD(name) using std::name;
# define __BEGIN_NAMESPACE_C99 namespace __c99 {
# define __END_NAMESPACE_C99 }
# define __USING_NAMESPACE_C99(name) using __c99::name;
#else
# 120 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* For compatibility we do not add the declarations into any
namespace. They will end up in the global namespace which is what
old code expects. */
# define __BEGIN_NAMESPACE_STD
# define __END_NAMESPACE_STD
# define __USING_NAMESPACE_STD(name)
# define __BEGIN_NAMESPACE_C99
# define __END_NAMESPACE_C99
# define __USING_NAMESPACE_C99(name)
#endif
# 130 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Support for bounded pointers. */
#ifndef __BOUNDED_POINTERS__
# define __bounded /* nothing */
# define __unbounded /* nothing */
# define __ptrvalue /* nothing */
#endif
# 138 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Fortify support. */
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
#define __bos0(ptr) __builtin_object_size (ptr, 0)
#define __fortify_function __extern_always_inline __attribute_artificial__
#if __GNUC_PREREQ (4,3)
# define __warndecl(name, msg) \
extern void name (void) __attribute__((__warning__ (msg)))
# define __warnattr(msg) __attribute__((__warning__ (msg)))
# define __errordecl(name, msg) \
extern void name (void) __attribute__((__error__ (msg)))
#else
# 152 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __warndecl(name, msg) extern void name (void)
# define __warnattr(msg)
# define __errordecl(name, msg) extern void name (void)
#endif
# 156 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Support for flexible arrays. */
#if __GNUC_PREREQ (2,97)
/* GCC 2.97 supports C99 flexible array members. */
# define __flexarr []
#else
# 162 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# ifdef __GNUC__
# define __flexarr [0]
# else
# 165 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
# define __flexarr []
# else
# 168 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Some other non-C99 compiler. Approximate with [1]. */
# define __flexarr [1]
# endif
# 171 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# endif
# 172 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#endif
# 173 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* __asm__ ("xyz") is used throughout the headers to rename functions
at the assembly language level. This is wrapped by the __REDIRECT
macro, in order to support compilers that can do this some other
way. When compilers don't support asm-names at all, we have to do
preprocessor tricks instead (which don't have exactly the right
semantics, but it's the best we can do).
Example:
int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */
#if defined __GNUC__ && __GNUC__ >= 2
# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
# ifdef __cplusplus
# define __REDIRECT_NTH(name, proto, alias) \
name proto __THROW __asm__ (__ASMNAME (#alias))
# define __REDIRECT_NTHNL(name, proto, alias) \
name proto __THROWNL __asm__ (__ASMNAME (#alias))
# else
# 194 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __REDIRECT_NTH(name, proto, alias) \
name proto __asm__ (__ASMNAME (#alias)) __THROW
# define __REDIRECT_NTHNL(name, proto, alias) \
name proto __asm__ (__ASMNAME (#alias)) __THROWNL
# endif
# 199 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
/*
#elif __SOME_OTHER_COMPILER__
# define __REDIRECT(name, proto, alias) name proto; \
_Pragma("let " #name " = " #alias)
*/
#endif
# 209 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* GCC has various useful declarations that can be made with the
`__attribute__' syntax. All of the ways we use this do fine if
they are omitted for compilers that don't understand it. */
#if !defined __GNUC__ || __GNUC__ < 2
# define __attribute__(xyz) /* Ignore */
#endif
# 216 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* At some point during the gcc 2.96 development the `malloc' attribute
for functions was introduced. We don't want to use it unconditionally
(although this would be possible) since it generates warnings. */
#if __GNUC_PREREQ (2,96)
# define __attribute_malloc__ __attribute__ ((__malloc__))
#else
# 223 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_malloc__ /* Ignore */
#endif
# 225 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* At some point during the gcc 2.96 development the `pure' attribute
for functions was introduced. We don't want to use it unconditionally
(although this would be possible) since it generates warnings. */
#if __GNUC_PREREQ (2,96)
# define __attribute_pure__ __attribute__ ((__pure__))
#else
# 232 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_pure__ /* Ignore */
#endif
# 234 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* This declaration tells the compiler that the value is constant. */
#if __GNUC_PREREQ (2,5)
# define __attribute_const__ __attribute__ ((__const__))
#else
# 239 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_const__ /* Ignore */
#endif
# 241 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* At some point during the gcc 3.1 development the `used' attribute
for functions was introduced. We don't want to use it unconditionally
(although this would be possible) since it generates warnings. */
#if __GNUC_PREREQ (3,1)
# define __attribute_used__ __attribute__ ((__used__))
# define __attribute_noinline__ __attribute__ ((__noinline__))
#else
# 249 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_used__ __attribute__ ((__unused__))
# define __attribute_noinline__ /* Ignore */
#endif
# 252 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* gcc allows marking deprecated functions. */
#if __GNUC_PREREQ (3,2)
# define __attribute_deprecated__ __attribute__ ((__deprecated__))
#else
# 257 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_deprecated__ /* Ignore */
#endif
# 259 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* At some point during the gcc 2.8 development the `format_arg' attribute
for functions was introduced. We don't want to use it unconditionally
(although this would be possible) since it generates warnings.
If several `format_arg' attributes are given for the same function, in
gcc-3.0 and older, all but the last one are ignored. In newer gccs,
all designated arguments are considered. */
#if __GNUC_PREREQ (2,8)
# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
#else
# 269 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_format_arg__(x) /* Ignore */
#endif
# 271 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* At some point during the gcc 2.97 development the `strfmon' format
attribute for functions was introduced. We don't want to use it
unconditionally (although this would be possible) since it
generates warnings. */
#if __GNUC_PREREQ (2,97)
# define __attribute_format_strfmon__(a,b) \
__attribute__ ((__format__ (__strfmon__, a, b)))
#else
# 280 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_format_strfmon__(a,b) /* Ignore */
#endif
# 282 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* The nonull function attribute allows to mark pointer parameters which
must not be NULL. */
#if __GNUC_PREREQ (3,3)
# define __nonnull(params) __attribute__ ((__nonnull__ params))
#else
# 288 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __nonnull(params)
#endif
# 290 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* If fortification mode, we warn about unused results of certain
function calls which can lead to problems. */
#if __GNUC_PREREQ (3,4)
# define __attribute_warn_unused_result__ \
__attribute__ ((__warn_unused_result__))
# if __USE_FORTIFY_LEVEL > 0
# define __wur __attribute_warn_unused_result__
# endif
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#else
# 300 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_warn_unused_result__ /* empty */
#endif
# 302 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#ifndef __wur
# define __wur /* Ignore */
#endif
# 305 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Forces a function to be always inlined. */
#if __GNUC_PREREQ (3,2)
# define __always_inline __inline __attribute__ ((__always_inline__))
#else
# 310 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __always_inline __inline
#endif
# 312 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Associate error messages with the source location of the call site rather
than with the source location inside the function. */
#if __GNUC_PREREQ (4,3)
# define __attribute_artificial__ __attribute__ ((__artificial__))
#else
# 318 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __attribute_artificial__ /* Ignore */
#endif
# 320 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
inline semantics, unless -fgnu89-inline is used. */
#if (!defined __cplusplus || __GNUC_PREREQ (4,3)) && defined __GNUC__
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
# define __extern_always_inline \
extern __always_inline __attribute__ ((__gnu_inline__))
# else
# 329 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __extern_inline extern __inline
# define __extern_always_inline extern __always_inline
# endif
# 332 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#elif defined __GNUC__ /* C++ and GCC <4.3. */
# 333 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __extern_inline extern __inline
# define __extern_always_inline \
extern __always_inline
#else /* Not GCC. */
# 337 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __extern_inline /* Ignore */
# define __extern_always_inline /* Ignore */
#endif
# 340 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* GCC 4.3 and above allow passing all anonymous arguments of an
__extern_always_inline function to some other vararg function. */
#if __GNUC_PREREQ (4,3)
# define __va_arg_pack() __builtin_va_arg_pack ()
# define __va_arg_pack_len() __builtin_va_arg_pack_len ()
#endif
# 347 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* It is possible to compile containing GCC extensions even if GCC is
run in pedantic mode if the uses are carefully marked using the
`__extension__' keyword. But this is not generally available before
version 2.8. */
#if !__GNUC_PREREQ (2,8)
# define __extension__ /* Ignore */
#endif
# 355 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* __restrict is known in EGCS 1.2 and above. */
#if !__GNUC_PREREQ (2,92)
# define __restrict /* Ignore */
#endif
# 360 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is
array_name[restrict]
GCC 3.1 supports this. */
#if __GNUC_PREREQ (3,1) && !defined __GNUG__
# define __restrict_arr __restrict
#else
# 367 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# ifdef __GNUC__
# define __restrict_arr /* Not supported in old GCC. */
# else
# 370 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
# define __restrict_arr restrict
# else
# 373 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
/* Some other non-C99 compiler. */
# define __restrict_arr /* Not supported. */
# endif
# 376 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# endif
# 377 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#endif
# 378 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#if __GNUC__ >= 3
# define __glibc_unlikely(cond) __builtin_expect((cond), 0)
#else
# 382 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# define __glibc_unlikely(cond) (cond)
#endif
# 384 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#if 0 /* expanded by -frewrite-includes */
#include <bits/wordsize.h>
#endif /* expanded by -frewrite-includes */
# 385 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 1 3
/* Determine the wordsize from the preprocessor defines. */
#if defined __powerpc64__
# define __WORDSIZE 64
# define __WORDSIZE_TIME64_COMPAT32 1
#else
# 7 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
# define __WORDSIZE 32
#endif
# 9 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
/* Signal the glibc ABI didn't used to have a `long double'.
The changes all the `long double' function variants to be redirects
to the double functions. */
# define __LONG_DOUBLE_MATH_OPTIONAL 1
# ifndef __LONG_DOUBLE_128__
# define __NO_LONG_DOUBLE_MATH 1
# endif
# 19 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
#endif
# 20 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
# 386 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 2 3
#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
# define __LDBL_COMPAT 1
# ifdef __REDIRECT
# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
# define __LDBL_REDIR(name, proto) \
__LDBL_REDIR1 (name, proto, __nldbl_##name)
# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
# define __LDBL_REDIR_NTH(name, proto) \
__LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
# define __LDBL_REDIR1_DECL(name, alias) \
extern __typeof (name) name __asm (__ASMNAME (#alias));
# define __LDBL_REDIR_DECL(name) \
extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
# define __REDIRECT_LDBL(name, proto, alias) \
__LDBL_REDIR1 (name, proto, __nldbl_##alias)
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
__LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
# endif
# 405 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#endif
# 406 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#if !defined __LDBL_COMPAT || !defined __REDIRECT
# define __LDBL_REDIR1(name, proto, alias) name proto
# define __LDBL_REDIR(name, proto) name proto
# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
# define __LDBL_REDIR_DECL(name)
# ifdef __REDIRECT
# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
# define __REDIRECT_NTH_LDBL(name, proto, alias) \
__REDIRECT_NTH (name, proto, alias)
# endif
# 417 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#endif
# 418 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
#endif /* sys/cdefs.h */
# 420 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h" 3
# 376 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 2 3
# endif
# 377 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* If we don't have __REDIRECT, prototypes will be missing if
__USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */
# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT
# define __USE_LARGEFILE 1
# define __USE_LARGEFILE64 1
# endif
# 384 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
#endif /* !ASSEMBLER */
# 386 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* Decide whether we can define 'extern inline' functions in headers. */
#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \
&& defined __extern_inline
# define __USE_EXTERN_INLINES 1
#endif
# 393 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
/* This is here only because every header file already includes this one.
Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
<gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
that will always return failure (and set errno to ENOSYS). */
#if 0 /* expanded by -frewrite-includes */
#include <gnu/stubs.h>
#endif /* expanded by -frewrite-includes */
# 399 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 1 3
/* This file is automatically generated.
This file selects the right generated file of `__stub_FUNCTION' macros
based on the architecture being compiled for. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/wordsize.h>
#endif /* expanded by -frewrite-includes */
# 5 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 1 3
/* Determine the wordsize from the preprocessor defines. */
#if defined __powerpc64__
# define __WORDSIZE 64
# define __WORDSIZE_TIME64_COMPAT32 1
#else
# 7 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
# define __WORDSIZE 32
#endif
# 9 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
/* Signal the glibc ABI didn't used to have a `long double'.
The changes all the `long double' function variants to be redirects
to the double functions. */
# define __LONG_DOUBLE_MATH_OPTIONAL 1
# ifndef __LONG_DOUBLE_128__
# define __NO_LONG_DOUBLE_MATH 1
# endif
# 19 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
#endif
# 20 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
# 6 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 2 3
#if __WORDSIZE == 32
#if 0 /* expanded by -frewrite-includes */
# include <gnu/stubs-32.h>
#endif /* expanded by -frewrite-includes */
# 8 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 3
# 9 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 3
#endif
# 10 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 3
#if __WORDSIZE == 64
#if 0 /* expanded by -frewrite-includes */
# include <gnu/stubs-64.h>
#endif /* expanded by -frewrite-includes */
# 11 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs-64.h" 1 3
/* This file is automatically generated.
It defines a symbol `__stub_FUNCTION' for each function
in the C library which is a stub, meaning it will fail
every time called, usually setting errno to ENOSYS. */
#ifdef _LIBC
#error Applications may not define the macro _LIBC
#endif
# 9 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs-64.h" 3
#define __stub___kernel_rem_pio2l
#define __stub_chflags
#define __stub_clock_adjtime
#define __stub_fanotify_init
#define __stub_fanotify_mark
#define __stub_fattach
#define __stub_fchflags
#define __stub_fdetach
#define __stub_gtty
#define __stub_lchmod
#define __stub_name_to_handle_at
#define __stub_open_by_handle_at
#define __stub_prlimit
#define __stub_prlimit64
#define __stub_revoke
#define __stub_setlogin
#define __stub_sigreturn
#define __stub_sstk
#define __stub_stty
# 12 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 2 3
#endif
# 13 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/gnu/stubs.h" 3
# 400 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 2 3
#endif /* features.h */
# 403 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/features.h" 3
# 371 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 2 3
#if __GLIBC_PREREQ(2, 15)
#define _LIBCPP_HAS_QUICK_EXIT
#endif
# 374 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __GLIBC_PREREQ(2, 17)
#define _LIBCPP_HAS_C11_FEATURES
#endif
# 377 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 378 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 379 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if (__has_feature(cxx_noexcept))
# define _NOEXCEPT noexcept
# define _NOEXCEPT_(x) noexcept(x)
# define _NOEXCEPT_OR_FALSE(x) noexcept(x)
#else
# 385 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _NOEXCEPT throw()
# define _NOEXCEPT_(x)
# define _NOEXCEPT_OR_FALSE(x) false
#endif
# 389 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(underlying_type)
# define _LIBCPP_UNDERLYING_TYPE(T) __underlying_type(T)
#endif
# 393 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(is_literal)
# define _LIBCPP_IS_LITERAL(T) __is_literal(T)
#endif
# 397 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// Inline namespaces are available in Clang regardless of C++ dialect.
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
#define _LIBCPP_END_NAMESPACE_STD } }
#define _VSTD std::_LIBCPP_NAMESPACE
namespace std {
inline namespace _LIBCPP_NAMESPACE {
}
}
#if !defined(_LIBCPP_HAS_NO_ASAN) && !__has_feature(address_sanitizer)
#define _LIBCPP_HAS_NO_ASAN
#endif
# 411 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#elif defined(__GNUC__)
# 413 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x))))
#define _LIBCPP_NORETURN __attribute__((noreturn))
#define _LIBCPP_UNUSED __attribute__((__unused__))
#if _GNUC_VER >= 407
#define _LIBCPP_UNDERLYING_TYPE(T) __underlying_type(T)
#define _LIBCPP_IS_LITERAL(T) __is_literal_type(T)
#define _LIBCPP_HAS_IS_FINAL
#endif
# 426 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__GNUC__) && _GNUC_VER >= 403
# define _LIBCPP_HAS_IS_BASE_OF
#endif
# 430 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !__EXCEPTIONS
#define _LIBCPP_NO_EXCEPTIONS
#endif
# 434 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
// constexpr was added to GCC in 4.6.
#if _GNUC_VER < 406
#define _LIBCPP_HAS_NO_CONSTEXPR
// Can only use constexpr in c++11 mode.
#elif !defined(__GXX_EXPERIMENTAL_CXX0X__) && __cplusplus < 201103L
# 442 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_HAS_NO_CONSTEXPR
#endif
# 444 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// No version of GCC supports relaxed constexpr rules
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
// GCC 5 will support variable templates
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#define _NOEXCEPT throw()
#define _NOEXCEPT_(x)
#define _NOEXCEPT_OR_FALSE(x) false
#ifndef __GXX_EXPERIMENTAL_CXX0X__
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
#define _LIBCPP_HAS_NO_DECLTYPE
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
#define _LIBCPP_HAS_NO_NULLPTR
#define _LIBCPP_HAS_NO_STATIC_ASSERT
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_NO_VARIADICS
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
#define _LIBCPP_HAS_NO_STRONG_ENUMS
#else // __GXX_EXPERIMENTAL_CXX0X__
# 469 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_HAS_NO_TRAILING_RETURN
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
#if _GNUC_VER < 403
#define _LIBCPP_HAS_NO_RVALUE_REFERENCES
#endif
# 476 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _GNUC_VER < 403
#define _LIBCPP_HAS_NO_STATIC_ASSERT
#endif
# 480 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _GNUC_VER < 404
#define _LIBCPP_HAS_NO_DECLTYPE
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_NO_VARIADICS
#define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#endif // _GNUC_VER < 404
# 488 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _GNUC_VER < 406
#define _LIBCPP_HAS_NO_NULLPTR
#endif
# 492 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _GNUC_VER < 407
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
#endif
# 497 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // __GXX_EXPERIMENTAL_CXX0X__
# 499 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { namespace _LIBCPP_NAMESPACE {
#define _LIBCPP_END_NAMESPACE_STD } }
#define _VSTD std::_LIBCPP_NAMESPACE
namespace std {
namespace _LIBCPP_NAMESPACE {
}
using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
}
#if !defined(_LIBCPP_HAS_NO_ASAN) && !defined(__SANITIZE_ADDRESS__)
#define _LIBCPP_HAS_NO_ASAN
#endif
# 513 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#elif defined(_LIBCPP_MSVC)
# 515 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
#define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
#define _LIBCPP_HAS_NO_CONSTEXPR
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
#define __alignof__ __alignof
#define _LIBCPP_NORETURN __declspec(noreturn)
#define _LIBCPP_UNUSED
#define _ALIGNAS(x) __declspec(align(x))
#define _LIBCPP_HAS_NO_VARIADICS
#define _NOEXCEPT throw ()
#define _NOEXCEPT_(x)
#define _NOEXCEPT_OR_FALSE(x) false
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
#define _LIBCPP_END_NAMESPACE_STD }
#define _VSTD std
# define _LIBCPP_WEAK
namespace std {
}
#define _LIBCPP_HAS_NO_ASAN
#elif defined(__IBMCPP__)
# 545 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
#define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x))))
#define _ATTRIBUTE(x) __attribute__((x))
#define _LIBCPP_NORETURN __attribute__((noreturn))
#define _LIBCPP_UNUSED
#define _NOEXCEPT throw()
#define _NOEXCEPT_(x)
#define _NOEXCEPT_OR_FALSE(x) false
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
#define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS
#define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#define _LIBCPP_HAS_NO_NULLPTR
#define _LIBCPP_HAS_NO_UNICODE_CHARS
#define _LIBCPP_HAS_IS_BASE_OF
#define _LIBCPP_HAS_IS_FINAL
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
#if defined(_AIX)
#define __MULTILOCALE_API
#endif
# 569 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
#define _LIBCPP_END_NAMESPACE_STD } }
#define _VSTD std::_LIBCPP_NAMESPACE
namespace std {
inline namespace _LIBCPP_NAMESPACE {
}
}
#define _LIBCPP_HAS_NO_ASAN
#endif // __clang__ || __GNUC__ || _MSC_VER || __IBMCPP__
# 582 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
typedef unsigned short char16_t;
typedef unsigned int char32_t;
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
# 587 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef __SIZEOF_INT128__
#define _LIBCPP_HAS_NO_INT128
#endif
# 591 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_STATIC_ASSERT
template <bool> struct __static_assert_test;
template <> struct __static_assert_test<true> {};
template <unsigned> struct __static_assert_check {};
#define static_assert(__b, __m) \
typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
_LIBCPP_CONCAT(__t, __LINE__)
#endif // _LIBCPP_HAS_NO_STATIC_ASSERT
# 602 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_DECLTYPE
// GCC 4.6 provides __decltype in all standard modes.
#if !__is_identifier(__decltype) || _GNUC_VER >= 406
# define decltype(__x) __decltype(__x)
#else
# 608 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define decltype(__x) __typeof__(__x)
#endif
# 610 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 611 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_CONSTEXPR
#define _LIBCPP_CONSTEXPR
#else
# 615 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_CONSTEXPR constexpr
#endif
# 617 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
#define _LIBCPP_DEFAULT {}
#else
# 621 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_DEFAULT = default;
#endif
# 623 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __GNUC__
#define _NOALIAS __attribute__((__malloc__))
#else
# 627 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _NOALIAS
#endif
# 629 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(cxx_explicit_conversions) || defined(__IBMCPP__)
# define _LIBCPP_EXPLICIT explicit
#else
# 633 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_EXPLICIT
#endif
# 635 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !__has_builtin(__builtin_operator_new) || !__has_builtin(__builtin_operator_delete)
# define _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
#endif
# 639 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_TYPE_VIS x { enum __lx
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
__lx __v_; \
_LIBCPP_ALWAYS_INLINE x(__lx __v) : __v_(__v) {} \
_LIBCPP_ALWAYS_INLINE explicit x(int __v) : __v_(static_cast<__lx>(__v)) {} \
_LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \
};
#else // _LIBCPP_HAS_NO_STRONG_ENUMS
# 649 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_TYPE_VIS x
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
#endif // _LIBCPP_HAS_NO_STRONG_ENUMS
# 652 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_DEBUG
# if _LIBCPP_DEBUG == 0
# define _LIBCPP_DEBUG_LEVEL 1
# elif _LIBCPP_DEBUG == 1
# 657 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_DEBUG_LEVEL 2
# else
# 659 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# error Supported values for _LIBCPP_DEBUG are 0 and 1
# endif
# 661 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_EXTERN_TEMPLATE(...)
#endif
# 663 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_EXTERN_TEMPLATE
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#endif
# 667 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_EXTERN_TEMPLATE2
#define _LIBCPP_EXTERN_TEMPLATE2(...) extern template __VA_ARGS__;
#endif
# 671 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
#define _LIBCPP_NONUNIQUE_RTTI_BIT (1ULL << 63)
#endif
# 675 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || \
defined(__sun__) || defined(__NetBSD__) || defined(__CloudABI__)
#define _LIBCPP_LOCALE__L_EXTENSIONS 1
#endif
# 680 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) && \
!defined(__CloudABI__)
#define _LIBCPP_HAS_CATOPEN 1
#endif
# 685 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef __FreeBSD__
#define _DECLARE_C99_LDBL_MATH 1
#endif
# 689 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__APPLE__) || defined(__FreeBSD__)
#define _LIBCPP_HAS_DEFAULTRUNELOCALE
#endif
# 693 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)
#define _LIBCPP_WCTYPE_IS_MASK
#endif
# 697 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1
#endif
# 701 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_STD_VER
# if __cplusplus <= 201103L
# define _LIBCPP_STD_VER 11
# elif __cplusplus <= 201402L
# 706 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_STD_VER 14
# else
# 708 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_STD_VER 15 // current year, or date of c++17 ratification
# endif
# 710 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // _LIBCPP_STD_VER
# 711 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _LIBCPP_STD_VER > 11
#define _LIBCPP_DEPRECATED [[deprecated]]
#else
# 715 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_DEPRECATED
#endif
# 717 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _LIBCPP_STD_VER <= 11
#define _LIBCPP_EXPLICIT_AFTER_CXX11
#define _LIBCPP_DEPRECATED_AFTER_CXX11
#else
# 722 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_EXPLICIT_AFTER_CXX11 explicit
#define _LIBCPP_DEPRECATED_AFTER_CXX11 [[deprecated]]
#endif
# 725 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if _LIBCPP_STD_VER > 11 && !defined(_LIBCPP_HAS_NO_CXX14_CONSTEXPR)
#define _LIBCPP_CONSTEXPR_AFTER_CXX11 constexpr
#else
# 729 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_CONSTEXPR_AFTER_CXX11
#endif
# 731 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifdef _LIBCPP_HAS_NO_RVALUE_REFERENCES
# define _LIBCPP_EXPLICIT_MOVE(x) _VSTD::move(x)
#else
# 735 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_EXPLICIT_MOVE(x) (x)
#endif
# 737 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_HAS_NO_ASAN
extern "C" void __sanitizer_annotate_contiguous_container(
const void *, const void *, const void *, const void *);
#endif
# 742 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// Try to find out if RTTI is disabled.
// g++ and cl.exe have RTTI on by default and define a macro when it is.
// g++ only defines the macro in 4.3.2 and onwards.
#if !defined(_LIBCPP_NO_RTTI)
# if defined(__GNUC__) && ((__GNUC__ >= 5) || (__GNUC__ == 4 && \
(__GNUC_MINOR__ >= 3 || __GNUC_PATCHLEVEL__ >= 2))) && !defined(__GXX_RTTI)
# define _LIBCPP_NO_RTTI
# elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI)
# 751 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# define _LIBCPP_NO_RTTI
# endif
# 753 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif
# 754 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#ifndef _LIBCPP_WEAK
# define _LIBCPP_WEAK __attribute__((__weak__))
#endif
# 758 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(_LIBCPP_HAS_NO_MONOTONIC_CLOCK) && !defined(_LIBCPP_HAS_NO_THREADS)
# error _LIBCPP_HAS_NO_MONOTONIC_CLOCK may only be defined when \
_LIBCPP_HAS_NO_THREADS is defined.
#endif
# 763 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// Systems that use capability-based security (FreeBSD with Capsicum,
// Nuxi CloudABI) may only provide local filesystem access (using *at()).
// Functions like open(), rename(), unlink() and stat() should not be
// used, as they attempt to access the global filesystem namespace.
#ifdef __CloudABI__
#define _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
#endif
# 771 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// CloudABI is intended for running networked services. Processes do not
// have standard input and output channels.
#ifdef __CloudABI__
#define _LIBCPP_HAS_NO_STDIN
#define _LIBCPP_HAS_NO_STDOUT
#endif
# 778 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if defined(__ANDROID__) || defined(__CloudABI__)
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
#endif
# 782 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
// Thread-unsafe functions such as strtok(), mbtowc() and localtime()
// are not available.
#ifdef __CloudABI__
#define _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
#endif
# 788 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if __has_feature(cxx_atomic) || __has_extension(c_atomic)
#define _LIBCPP_HAS_C_ATOMIC_IMP
#elif _GNUC_VER > 407
# 792 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#define _LIBCPP_HAS_GCC_ATOMIC_IMP
#endif
# 794 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#if (!defined(_LIBCPP_HAS_C_ATOMIC_IMP) && !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP)) \
|| defined(_LIBCPP_HAS_NO_THREADS)
#define _LIBCPP_HAS_NO_ATOMIC_HEADER
#endif
# 799 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
#endif // _LIBCPP_CONFIG
# 801 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__config" 3
# 244 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <type_traits>
#endif /* expanded by -frewrite-includes */
# 244 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 1 3
// -*- C++ -*-
//===------------------------ type_traits ---------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_TYPE_TRAITS
#define _LIBCPP_TYPE_TRAITS
/*
type_traits synopsis
namespace std
{
// helper class:
template <class T, T v> struct integral_constant;
typedef integral_constant<bool, true> true_type; // C++11
typedef integral_constant<bool, false> false_type; // C++11
template <bool B> // C++14
using bool_constant = integral_constant<bool, B>; // C++14
typedef bool_constant<true> true_type; // C++14
typedef bool_constant<false> false_type; // C++14
// helper traits
template <bool, class T = void> struct enable_if;
template <bool, class T, class F> struct conditional;
// Primary classification traits:
template <class T> struct is_void;
template <class T> struct is_null_pointer; // C++14
template <class T> struct is_integral;
template <class T> struct is_floating_point;
template <class T> struct is_array;
template <class T> struct is_pointer;
template <class T> struct is_lvalue_reference;
template <class T> struct is_rvalue_reference;
template <class T> struct is_member_object_pointer;
template <class T> struct is_member_function_pointer;
template <class T> struct is_enum;
template <class T> struct is_union;
template <class T> struct is_class;
template <class T> struct is_function;
// Secondary classification traits:
template <class T> struct is_reference;
template <class T> struct is_arithmetic;
template <class T> struct is_fundamental;
template <class T> struct is_member_pointer;
template <class T> struct is_scalar;
template <class T> struct is_object;
template <class T> struct is_compound;
// Const-volatile properties and transformations:
template <class T> struct is_const;
template <class T> struct is_volatile;
template <class T> struct remove_const;
template <class T> struct remove_volatile;
template <class T> struct remove_cv;
template <class T> struct add_const;
template <class T> struct add_volatile;
template <class T> struct add_cv;
// Reference transformations:
template <class T> struct remove_reference;
template <class T> struct add_lvalue_reference;
template <class T> struct add_rvalue_reference;
// Pointer transformations:
template <class T> struct remove_pointer;
template <class T> struct add_pointer;
// Integral properties:
template <class T> struct is_signed;
template <class T> struct is_unsigned;
template <class T> struct make_signed;
template <class T> struct make_unsigned;
// Array properties and transformations:
template <class T> struct rank;
template <class T, unsigned I = 0> struct extent;
template <class T> struct remove_extent;
template <class T> struct remove_all_extents;
// Member introspection:
template <class T> struct is_pod;
template <class T> struct is_trivial;
template <class T> struct is_trivially_copyable;
template <class T> struct is_standard_layout;
template <class T> struct is_literal_type;
template <class T> struct is_empty;
template <class T> struct is_polymorphic;
template <class T> struct is_abstract;
template <class T> struct is_final; // C++14
template <class T, class... Args> struct is_constructible;
template <class T> struct is_default_constructible;
template <class T> struct is_copy_constructible;
template <class T> struct is_move_constructible;
template <class T, class U> struct is_assignable;
template <class T> struct is_copy_assignable;
template <class T> struct is_move_assignable;
template <class T> struct is_destructible;
template <class T, class... Args> struct is_trivially_constructible;
template <class T> struct is_trivially_default_constructible;
template <class T> struct is_trivially_copy_constructible;
template <class T> struct is_trivially_move_constructible;
template <class T, class U> struct is_trivially_assignable;
template <class T> struct is_trivially_copy_assignable;
template <class T> struct is_trivially_move_assignable;
template <class T> struct is_trivially_destructible;
template <class T, class... Args> struct is_nothrow_constructible;
template <class T> struct is_nothrow_default_constructible;
template <class T> struct is_nothrow_copy_constructible;
template <class T> struct is_nothrow_move_constructible;
template <class T, class U> struct is_nothrow_assignable;
template <class T> struct is_nothrow_copy_assignable;
template <class T> struct is_nothrow_move_assignable;
template <class T> struct is_nothrow_destructible;
template <class T> struct has_virtual_destructor;
// Relationships between types:
template <class T, class U> struct is_same;
template <class Base, class Derived> struct is_base_of;
template <class From, class To> struct is_convertible;
// Alignment properties and transformations:
template <class T> struct alignment_of;
template <size_t Len, size_t Align = most_stringent_alignment_requirement>
struct aligned_storage;
template <size_t Len, class... Types> struct aligned_union;
template <class T> struct decay;
template <class... T> struct common_type;
template <class T> struct underlying_type;
template <class> class result_of; // undefined
template <class Fn, class... ArgTypes> class result_of<Fn(ArgTypes...)>;
// const-volatile modifications:
template <class T>
using remove_const_t = typename remove_const<T>::type; // C++14
template <class T>
using remove_volatile_t = typename remove_volatile<T>::type; // C++14
template <class T>
using remove_cv_t = typename remove_cv<T>::type; // C++14
template <class T>
using add_const_t = typename add_const<T>::type; // C++14
template <class T>
using add_volatile_t = typename add_volatile<T>::type; // C++14
template <class T>
using add_cv_t = typename add_cv<T>::type; // C++14
// reference modifications:
template <class T>
using remove_reference_t = typename remove_reference<T>::type; // C++14
template <class T>
using add_lvalue_reference_t = typename add_lvalue_reference<T>::type; // C++14
template <class T>
using add_rvalue_reference_t = typename add_rvalue_reference<T>::type; // C++14
// sign modifications:
template <class T>
using make_signed_t = typename make_signed<T>::type; // C++14
template <class T>
using make_unsigned_t = typename make_unsigned<T>::type; // C++14
// array modifications:
template <class T>
using remove_extent_t = typename remove_extent<T>::type; // C++14
template <class T>
using remove_all_extents_t = typename remove_all_extents<T>::type; // C++14
// pointer modifications:
template <class T>
using remove_pointer_t = typename remove_pointer<T>::type; // C++14
template <class T>
using add_pointer_t = typename add_pointer<T>::type; // C++14
// other transformations:
template <size_t Len, std::size_t Align=default-alignment>
using aligned_storage_t = typename aligned_storage<Len,Align>::type; // C++14
template <std::size_t Len, class... Types>
using aligned_union_t = typename aligned_union<Len,Types...>::type; // C++14
template <class T>
using decay_t = typename decay<T>::type; // C++14
template <bool b, class T=void>
using enable_if_t = typename enable_if<b,T>::type; // C++14
template <bool b, class T, class F>
using conditional_t = typename conditional<b,T,F>::type; // C++14
template <class... T>
using common_type_t = typename common_type<T...>::type; // C++14
template <class T>
using underlying_type_t = typename underlying_type<T>::type; // C++14
template <class F, class... ArgTypes>
using result_of_t = typename result_of<F(ArgTypes...)>::type; // C++14
template <class...>
using void_t = void;
} // C++17
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 210 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
# 211 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#if 0 /* expanded by -frewrite-includes */
#include <cstddef>
#endif /* expanded by -frewrite-includes */
# 211 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 1 3
// -*- C++ -*-
//===--------------------------- cstddef ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CSTDDEF
#define _LIBCPP_CSTDDEF
/*
cstddef synopsis
Macros:
offsetof(type,member-designator)
NULL
namespace std
{
Types:
ptrdiff_t
size_t
max_align_t
nullptr_t
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 36 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
# 37 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
#if 0 /* expanded by -frewrite-includes */
#include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 38 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 1 3
/*===---- stddef.h - Basic type definitions --------------------------------===
*
* Copyright (c) 2008 Eli Friedman
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
defined(__need_size_t) || defined(__need_wchar_t) || \
defined(__need_NULL) || defined(__need_wint_t)
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
!defined(__need_wchar_t) && !defined(__need_NULL) && \
!defined(__need_wint_t)
/* Always define miscellaneous pieces when modules are available. */
#if !__has_feature(modules)
#define __STDDEF_H
#endif
# 37 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define __need_ptrdiff_t
#define __need_size_t
#define __need_wchar_t
#define __need_NULL
#define __need_STDDEF_H_misc
/* __need_wint_t is intentionally not defined here. */
#endif
# 44 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_ptrdiff_t)
#if !defined(_PTRDIFF_T) || __has_feature(modules)
/* Always define ptrdiff_t when modules are available. */
#if !__has_feature(modules)
#define _PTRDIFF_T
#endif
# 51 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#endif
# 53 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_ptrdiff_t
#endif /* defined(__need_ptrdiff_t) */
# 55 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_size_t)
#if !defined(_SIZE_T) || __has_feature(modules)
/* Always define size_t when modules are available. */
#if !__has_feature(modules)
#define _SIZE_T
#endif
# 62 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ size_t;
#endif
# 64 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_size_t
#endif /*defined(__need_size_t) */
# 66 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
* enabled. */
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
!defined(_RSIZE_T)) || __has_feature(modules)
/* Always define rsize_t when modules are available. */
#if !__has_feature(modules)
#define _RSIZE_T
#endif
# 76 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ rsize_t;
#endif
# 78 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif /* defined(__need_STDDEF_H_misc) */
# 79 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_wchar_t)
#ifndef __cplusplus
/* Always define wchar_t when modules are available. */
#if !defined(_WCHAR_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WCHAR_T
#if defined(_MSC_EXTENSIONS)
#define _WCHAR_T_DEFINED
#endif
# 89 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 90 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WCHAR_TYPE__ wchar_t;
#endif
# 92 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 93 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wchar_t
#endif /* defined(__need_wchar_t) */
# 95 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_NULL)
#undef NULL
#ifdef __cplusplus
# if !defined(__MINGW32__) && !defined(_MSC_VER)
# define NULL __null
# else
# 102 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL 0
# endif
# 104 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#else
# 105 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL ((void*)0)
#endif
# 107 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#ifdef __cplusplus
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
namespace std { typedef decltype(nullptr) nullptr_t; }
using ::std::nullptr_t;
#endif
# 112 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 113 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_NULL
#endif /* defined(__need_NULL) */
# 115 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
#if 0 /* expanded by -frewrite-includes */
#include "__stddef_max_align_t.h"
#endif /* expanded by -frewrite-includes */
# 118 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/__stddef_max_align_t.h" 1 3
/*===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
*
* Copyright (c) 2014 Chandler Carruth
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#ifndef __CLANG_MAX_ALIGN_T_DEFINED
#define __CLANG_MAX_ALIGN_T_DEFINED
#if defined(_MSC_VER)
typedef double max_align_t;
#elif defined(__APPLE__)
# 32 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/__stddef_max_align_t.h" 3
typedef long double max_align_t;
#else
# 34 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/__stddef_max_align_t.h" 3
// Define 'max_align_t' to match the GCC definition.
typedef struct {
long long __clang_max_align_nonce1
__attribute__((__aligned__(__alignof__(long long))));
long double __clang_max_align_nonce2
__attribute__((__aligned__(__alignof__(long double))));
} max_align_t;
#endif
# 42 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/__stddef_max_align_t.h" 3
#endif
# 44 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/__stddef_max_align_t.h" 3
# 119 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 2 3
#endif
# 120 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define offsetof(t, d) __builtin_offsetof(t, d)
#undef __need_STDDEF_H_misc
#endif /* defined(__need_STDDEF_H_misc) */
# 123 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
#if defined(__need_wint_t)
/* Always define wint_t when modules are available. */
#if !defined(_WINT_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WINT_T
#endif
# 132 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WINT_TYPE__ wint_t;
#endif
# 134 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wint_t
#endif /* __need_wint_t */
# 136 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 138 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 39 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 2 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 42 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
#endif
# 43 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
_LIBCPP_BEGIN_NAMESPACE_STD
using ::ptrdiff_t;
using ::size_t;
#if defined(__CLANG_MAX_ALIGN_T_DEFINED) || defined(_GCC_MAX_ALIGN_T)
// Re-use the compiler's <stddef.h> max_align_t where possible.
using ::max_align_t;
#else
# 53 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
typedef long double max_align_t;
#endif
# 55 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
#ifdef _LIBCPP_HAS_NO_NULLPTR
struct _LIBCPP_TYPE_VIS_ONLY nullptr_t
{
void* __lx;
struct __nat {int __for_bool_;};
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t() : __lx(0) {}
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t(int __nat::*) : __lx(0) {}
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR operator int __nat::*() const {return 0;}
template <class _Tp>
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR
operator _Tp* () const {return 0;}
template <class _Tp, class _Up>
_LIBCPP_ALWAYS_INLINE
operator _Tp _Up::* () const {return 0;}
friend _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR bool operator==(nullptr_t, nullptr_t) {return true;}
friend _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR bool operator!=(nullptr_t, nullptr_t) {return false;}
friend _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR bool operator<(nullptr_t, nullptr_t) {return false;}
friend _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR bool operator<=(nullptr_t, nullptr_t) {return true;}
friend _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR bool operator>(nullptr_t, nullptr_t) {return false;}
friend _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR bool operator>=(nullptr_t, nullptr_t) {return true;}
};
inline _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t __get_nullptr_t() {return nullptr_t(0);}
#define nullptr _VSTD::__get_nullptr_t()
#endif // _LIBCPP_HAS_NO_NULLPTR
# 90 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
_LIBCPP_END_NAMESPACE_STD
#ifndef _LIBCPP_HAS_NO_NULLPTR
namespace std
{
typedef decltype(nullptr) nullptr_t;
}
#endif // _LIBCPP_HAS_NO_NULLPTR
# 101 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
#endif // _LIBCPP_CSTDDEF
# 103 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstddef" 3
# 212 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 2 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 215 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif
# 216 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
_LIBCPP_BEGIN_NAMESPACE_STD
template <class>
struct __void_t { typedef void type; };
template <class _Tp>
struct __identity { typedef _Tp type; };
template <class _Tp, bool>
struct _LIBCPP_TYPE_VIS_ONLY __dependent_type : public _Tp {};
template <bool _Bp, class _If, class _Then>
struct _LIBCPP_TYPE_VIS_ONLY conditional {typedef _If type;};
template <class _If, class _Then>
struct _LIBCPP_TYPE_VIS_ONLY conditional<false, _If, _Then> {typedef _Then type;};
#if _LIBCPP_STD_VER > 11
template <bool _Bp, class _If, class _Then> using conditional_t = typename conditional<_Bp, _If, _Then>::type;
#endif
# 236 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <bool, class _Tp> struct _LIBCPP_TYPE_VIS_ONLY __lazy_enable_if {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY __lazy_enable_if<true, _Tp> {typedef typename _Tp::type type;};
template <bool, class _Tp = void> struct _LIBCPP_TYPE_VIS_ONLY enable_if {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY enable_if<true, _Tp> {typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <bool _Bp, class _Tp = void> using enable_if_t = typename enable_if<_Bp, _Tp>::type;
#endif
# 246 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
struct __two {char __lx[2];};
// helper class:
template <class _Tp, _Tp __v>
struct _LIBCPP_TYPE_VIS_ONLY integral_constant
{
static _LIBCPP_CONSTEXPR const _Tp value = __v;
typedef _Tp value_type;
typedef integral_constant type;
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR operator value_type() const _NOEXCEPT {return value;}
#if _LIBCPP_STD_VER > 11
_LIBCPP_INLINE_VISIBILITY
constexpr value_type operator ()() const _NOEXCEPT {return value;}
#endif
# 264 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
};
template <class _Tp, _Tp __v>
_LIBCPP_CONSTEXPR const _Tp integral_constant<_Tp, __v>::value;
#if _LIBCPP_STD_VER > 14
template <bool __b>
using bool_constant = integral_constant<bool, __b>;
#define _LIBCPP_BOOL_CONSTANT(__b) bool_constant<(__b)>
#else
# 274 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#define _LIBCPP_BOOL_CONSTANT(__b) integral_constant<bool,(__b)>
#endif
# 276 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
typedef _LIBCPP_BOOL_CONSTANT(true) true_type;
typedef _LIBCPP_BOOL_CONSTANT(false) false_type;
#if !defined(_LIBCPP_HAS_NO_VARIADICS)
// __lazy_and
template <bool _Last, class ..._Preds>
struct __lazy_and_impl;
template <class ..._Preds>
struct __lazy_and_impl<false, _Preds...> : false_type {};
template <>
struct __lazy_and_impl<true> : true_type {};
template <class _Pred>
struct __lazy_and_impl<true, _Pred> : integral_constant<bool, _Pred::type::value> {};
template <class _Hp, class ..._Tp>
struct __lazy_and_impl<true, _Hp, _Tp...> : __lazy_and_impl<_Hp::type::value, _Tp...> {};
template <class _P1, class ..._Pr>
struct __lazy_and : __lazy_and_impl<_P1::type::value, _Pr...> {};
// __lazy_or
template <bool _List, class ..._Preds>
struct __lazy_or_impl;
template <class ..._Preds>
struct __lazy_or_impl<true, _Preds...> : true_type {};
template <>
struct __lazy_or_impl<false> : false_type {};
template <class _Hp, class ..._Tp>
struct __lazy_or_impl<false, _Hp, _Tp...>
: __lazy_or_impl<_Hp::type::value, _Tp...> {};
template <class _P1, class ..._Pr>
struct __lazy_or : __lazy_or_impl<_P1::type::value, _Pr...> {};
// __lazy_not
template <class _Pred>
struct __lazy_not : integral_constant<bool, !_Pred::type::value> {};
#endif // !defined(_LIBCPP_HAS_NO_VARIADICS)
# 326 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_const
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_const : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_const<_Tp const> : public true_type {};
// is_volatile
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_volatile : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_volatile<_Tp volatile> : public true_type {};
// remove_const
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_const {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_const<const _Tp> {typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_const_t = typename remove_const<_Tp>::type;
#endif
# 344 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// remove_volatile
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_volatile {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_volatile<volatile _Tp> {typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_volatile_t = typename remove_volatile<_Tp>::type;
#endif
# 352 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// remove_cv
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_cv
{typedef typename remove_volatile<typename remove_const<_Tp>::type>::type type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_cv_t = typename remove_cv<_Tp>::type;
#endif
# 360 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_void
template <class _Tp> struct __libcpp_is_void : public false_type {};
template <> struct __libcpp_is_void<void> : public true_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_void
: public __libcpp_is_void<typename remove_cv<_Tp>::type> {};
// __is_nullptr_t
template <class _Tp> struct __is_nullptr_t_impl : public false_type {};
template <> struct __is_nullptr_t_impl<nullptr_t> : public true_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY __is_nullptr_t
: public __is_nullptr_t_impl<typename remove_cv<_Tp>::type> {};
#if _LIBCPP_STD_VER > 11
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_null_pointer
: public __is_nullptr_t_impl<typename remove_cv<_Tp>::type> {};
#endif
# 381 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_integral
template <class _Tp> struct __libcpp_is_integral : public false_type {};
template <> struct __libcpp_is_integral<bool> : public true_type {};
template <> struct __libcpp_is_integral<char> : public true_type {};
template <> struct __libcpp_is_integral<signed char> : public true_type {};
template <> struct __libcpp_is_integral<unsigned char> : public true_type {};
template <> struct __libcpp_is_integral<wchar_t> : public true_type {};
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
template <> struct __libcpp_is_integral<char16_t> : public true_type {};
template <> struct __libcpp_is_integral<char32_t> : public true_type {};
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
# 394 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <> struct __libcpp_is_integral<short> : public true_type {};
template <> struct __libcpp_is_integral<unsigned short> : public true_type {};
template <> struct __libcpp_is_integral<int> : public true_type {};
template <> struct __libcpp_is_integral<unsigned int> : public true_type {};
template <> struct __libcpp_is_integral<long> : public true_type {};
template <> struct __libcpp_is_integral<unsigned long> : public true_type {};
template <> struct __libcpp_is_integral<long long> : public true_type {};
template <> struct __libcpp_is_integral<unsigned long long> : public true_type {};
#ifndef _LIBCPP_HAS_NO_INT128
template <> struct __libcpp_is_integral<__int128_t> : public true_type {};
template <> struct __libcpp_is_integral<__uint128_t> : public true_type {};
#endif
# 406 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_integral
: public __libcpp_is_integral<typename remove_cv<_Tp>::type> {};
// is_floating_point
template <class _Tp> struct __libcpp_is_floating_point : public false_type {};
template <> struct __libcpp_is_floating_point<float> : public true_type {};
template <> struct __libcpp_is_floating_point<double> : public true_type {};
template <> struct __libcpp_is_floating_point<long double> : public true_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_floating_point
: public __libcpp_is_floating_point<typename remove_cv<_Tp>::type> {};
// is_array
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_array
: public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_array<_Tp[]>
: public true_type {};
template <class _Tp, size_t _Np> struct _LIBCPP_TYPE_VIS_ONLY is_array<_Tp[_Np]>
: public true_type {};
// is_pointer
template <class _Tp> struct __libcpp_is_pointer : public false_type {};
template <class _Tp> struct __libcpp_is_pointer<_Tp*> : public true_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_pointer
: public __libcpp_is_pointer<typename remove_cv<_Tp>::type> {};
// is_reference
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_lvalue_reference : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_lvalue_reference<_Tp&> : public true_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_rvalue_reference : public false_type {};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_rvalue_reference<_Tp&&> : public true_type {};
#endif
# 446 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_reference : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_reference<_Tp&> : public true_type {};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_reference<_Tp&&> : public true_type {};
#endif
# 452 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_union
#if __has_feature(is_union) || (_GNUC_VER >= 403)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_union
: public integral_constant<bool, __is_union(_Tp)> {};
#else
# 461 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct __libcpp_union : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_union
: public __libcpp_union<typename remove_cv<_Tp>::type> {};
#endif
# 467 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_class
#if __has_feature(is_class) || (_GNUC_VER >= 403)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_class
: public integral_constant<bool, __is_class(_Tp)> {};
#else
# 476 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
namespace __is_class_imp
{
template <class _Tp> char __test(int _Tp::*);
template <class _Tp> __two __test(...);
}
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_class
: public integral_constant<bool, sizeof(__is_class_imp::__test<_Tp>(0)) == 1 && !is_union<_Tp>::value> {};
#endif
# 487 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_same
template <class _Tp, class _Up> struct _LIBCPP_TYPE_VIS_ONLY is_same : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_same<_Tp, _Tp> : public true_type {};
// is_function
namespace __libcpp_is_function_imp
{
struct __dummy_type {};
template <class _Tp> char __test(_Tp*);
template <class _Tp> char __test(__dummy_type);
template <class _Tp> __two __test(...);
template <class _Tp> _Tp& __source(int);
template <class _Tp> __dummy_type __source(...);
}
template <class _Tp, bool = is_class<_Tp>::value ||
is_union<_Tp>::value ||
is_void<_Tp>::value ||
is_reference<_Tp>::value ||
__is_nullptr_t<_Tp>::value >
struct __libcpp_is_function
: public integral_constant<bool, sizeof(__libcpp_is_function_imp::__test<_Tp>(__libcpp_is_function_imp::__source<_Tp>(0))) == 1>
{};
template <class _Tp> struct __libcpp_is_function<_Tp, true> : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_function
: public __libcpp_is_function<_Tp> {};
// is_member_function_pointer
// template <class _Tp> struct __libcpp_is_member_function_pointer : public false_type {};
// template <class _Tp, class _Up> struct __libcpp_is_member_function_pointer<_Tp _Up::*> : public is_function<_Tp> {};
//
template <class _MP, bool _IsMemberFunctionPtr, bool _IsMemberObjectPtr>
struct __member_pointer_traits_imp
{ // forward declaration; specializations later
};
template <class _Tp> struct __libcpp_is_member_function_pointer
: public false_type {};
template <class _Ret, class _Class>
struct __libcpp_is_member_function_pointer<_Ret _Class::*>
: public is_function<_Ret> {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_member_function_pointer
: public __libcpp_is_member_function_pointer<typename remove_cv<_Tp>::type>::type {};
// is_member_pointer
template <class _Tp> struct __libcpp_is_member_pointer : public false_type {};
template <class _Tp, class _Up> struct __libcpp_is_member_pointer<_Tp _Up::*> : public true_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_member_pointer
: public __libcpp_is_member_pointer<typename remove_cv<_Tp>::type> {};
// is_member_object_pointer
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_member_object_pointer
: public integral_constant<bool, is_member_pointer<_Tp>::value &&
!is_member_function_pointer<_Tp>::value> {};
// is_enum
#if __has_feature(is_enum) || (_GNUC_VER >= 403)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_enum
: public integral_constant<bool, __is_enum(_Tp)> {};
#else
# 562 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_enum
: public integral_constant<bool, !is_void<_Tp>::value &&
!is_integral<_Tp>::value &&
!is_floating_point<_Tp>::value &&
!is_array<_Tp>::value &&
!is_pointer<_Tp>::value &&
!is_reference<_Tp>::value &&
!is_member_pointer<_Tp>::value &&
!is_union<_Tp>::value &&
!is_class<_Tp>::value &&
!is_function<_Tp>::value > {};
#endif
# 576 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_arithmetic
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_arithmetic
: public integral_constant<bool, is_integral<_Tp>::value ||
is_floating_point<_Tp>::value> {};
// is_fundamental
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_fundamental
: public integral_constant<bool, is_void<_Tp>::value ||
__is_nullptr_t<_Tp>::value ||
is_arithmetic<_Tp>::value> {};
// is_scalar
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_scalar
: public integral_constant<bool, is_arithmetic<_Tp>::value ||
is_member_pointer<_Tp>::value ||
is_pointer<_Tp>::value ||
__is_nullptr_t<_Tp>::value ||
is_enum<_Tp>::value > {};
template <> struct _LIBCPP_TYPE_VIS_ONLY is_scalar<nullptr_t> : public true_type {};
// is_object
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_object
: public integral_constant<bool, is_scalar<_Tp>::value ||
is_array<_Tp>::value ||
is_union<_Tp>::value ||
is_class<_Tp>::value > {};
// is_compound
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_compound
: public integral_constant<bool, !is_fundamental<_Tp>::value> {};
// add_const
template <class _Tp, bool = is_reference<_Tp>::value ||
is_function<_Tp>::value ||
is_const<_Tp>::value >
struct __add_const {typedef _Tp type;};
template <class _Tp>
struct __add_const<_Tp, false> {typedef const _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_const
{typedef typename __add_const<_Tp>::type type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using add_const_t = typename add_const<_Tp>::type;
#endif
# 630 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// add_volatile
template <class _Tp, bool = is_reference<_Tp>::value ||
is_function<_Tp>::value ||
is_volatile<_Tp>::value >
struct __add_volatile {typedef _Tp type;};
template <class _Tp>
struct __add_volatile<_Tp, false> {typedef volatile _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_volatile
{typedef typename __add_volatile<_Tp>::type type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using add_volatile_t = typename add_volatile<_Tp>::type;
#endif
# 647 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// add_cv
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_cv
{typedef typename add_const<typename add_volatile<_Tp>::type>::type type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using add_cv_t = typename add_cv<_Tp>::type;
#endif
# 656 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// remove_reference
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_reference {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_reference<_Tp&> {typedef _Tp type;};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_reference<_Tp&&> {typedef _Tp type;};
#endif
# 664 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_reference_t = typename remove_reference<_Tp>::type;
#endif
# 668 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// add_lvalue_reference
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference {typedef _Tp& type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference<_Tp&> {typedef _Tp& type;}; // for older compiler
template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference<void> {typedef void type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference<const void> {typedef const void type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference<volatile void> {typedef volatile void type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference<const volatile void> {typedef const volatile void type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
#endif
# 681 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference {typedef _Tp&& type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference<void> {typedef void type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference<const void> {typedef const void type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference<volatile void> {typedef volatile void type;};
template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference<const volatile void> {typedef const volatile void type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
#endif
# 693 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 695 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
typename add_rvalue_reference<_Tp>::type
declval() _NOEXCEPT;
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 703 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
typename add_lvalue_reference<_Tp>::type
declval();
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 709 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
struct __any
{
__any(...);
};
// remove_pointer
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_pointer {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp*> {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp* const> {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp* volatile> {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp* const volatile> {typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_pointer_t = typename remove_pointer<_Tp>::type;
#endif
# 726 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// add_pointer
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY add_pointer
{typedef typename remove_reference<_Tp>::type* type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using add_pointer_t = typename add_pointer<_Tp>::type;
#endif
# 735 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_signed
template <class _Tp, bool = is_integral<_Tp>::value>
struct __libcpp_is_signed_impl : public _LIBCPP_BOOL_CONSTANT(_Tp(-1) < _Tp(0)) {};
template <class _Tp>
struct __libcpp_is_signed_impl<_Tp, false> : public true_type {}; // floating point
template <class _Tp, bool = is_arithmetic<_Tp>::value>
struct __libcpp_is_signed : public __libcpp_is_signed_impl<_Tp> {};
template <class _Tp> struct __libcpp_is_signed<_Tp, false> : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_signed : public __libcpp_is_signed<_Tp> {};
// is_unsigned
template <class _Tp, bool = is_integral<_Tp>::value>
struct __libcpp_is_unsigned_impl : public _LIBCPP_BOOL_CONSTANT(_Tp(0) < _Tp(-1)) {};
template <class _Tp>
struct __libcpp_is_unsigned_impl<_Tp, false> : public false_type {}; // floating point
template <class _Tp, bool = is_arithmetic<_Tp>::value>
struct __libcpp_is_unsigned : public __libcpp_is_unsigned_impl<_Tp> {};
template <class _Tp> struct __libcpp_is_unsigned<_Tp, false> : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_unsigned : public __libcpp_is_unsigned<_Tp> {};
// rank
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY rank
: public integral_constant<size_t, 0> {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY rank<_Tp[]>
: public integral_constant<size_t, rank<_Tp>::value + 1> {};
template <class _Tp, size_t _Np> struct _LIBCPP_TYPE_VIS_ONLY rank<_Tp[_Np]>
: public integral_constant<size_t, rank<_Tp>::value + 1> {};
// extent
template <class _Tp, unsigned _Ip = 0> struct _LIBCPP_TYPE_VIS_ONLY extent
: public integral_constant<size_t, 0> {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[], 0>
: public integral_constant<size_t, 0> {};
template <class _Tp, unsigned _Ip> struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[], _Ip>
: public integral_constant<size_t, extent<_Tp, _Ip-1>::value> {};
template <class _Tp, size_t _Np> struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[_Np], 0>
: public integral_constant<size_t, _Np> {};
template <class _Tp, size_t _Np, unsigned _Ip> struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[_Np], _Ip>
: public integral_constant<size_t, extent<_Tp, _Ip-1>::value> {};
// remove_extent
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_extent
{typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_extent<_Tp[]>
{typedef _Tp type;};
template <class _Tp, size_t _Np> struct _LIBCPP_TYPE_VIS_ONLY remove_extent<_Tp[_Np]>
{typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_extent_t = typename remove_extent<_Tp>::type;
#endif
# 800 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// remove_all_extents
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_all_extents
{typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY remove_all_extents<_Tp[]>
{typedef typename remove_all_extents<_Tp>::type type;};
template <class _Tp, size_t _Np> struct _LIBCPP_TYPE_VIS_ONLY remove_all_extents<_Tp[_Np]>
{typedef typename remove_all_extents<_Tp>::type type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
#endif
# 813 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// decay
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY decay
{
private:
typedef typename remove_reference<_Tp>::type _Up;
public:
typedef typename conditional
<
is_array<_Up>::value,
typename remove_extent<_Up>::type*,
typename conditional
<
is_function<_Up>::value,
typename add_pointer<_Up>::type,
typename remove_cv<_Up>::type
>::type
>::type type;
};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using decay_t = typename decay<_Tp>::type;
#endif
# 838 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_abstract
namespace __is_abstract_imp
{
template <class _Tp> char __test(_Tp (*)[1]);
template <class _Tp> __two __test(...);
}
template <class _Tp, bool = is_class<_Tp>::value>
struct __libcpp_abstract : public integral_constant<bool, sizeof(__is_abstract_imp::__test<_Tp>(0)) != 1> {};
template <class _Tp> struct __libcpp_abstract<_Tp, false> : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_abstract : public __libcpp_abstract<_Tp> {};
// is_final
#if defined(_LIBCPP_HAS_IS_FINAL)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY
__libcpp_is_final : public integral_constant<bool, __is_final(_Tp)> {};
#else
# 860 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY
__libcpp_is_final : public false_type {};
#endif
# 863 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#if defined(_LIBCPP_HAS_IS_FINAL) && _LIBCPP_STD_VER > 11
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY
is_final : public integral_constant<bool, __is_final(_Tp)> {};
#endif
# 868 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_base_of
#ifdef _LIBCPP_HAS_IS_BASE_OF
template <class _Bp, class _Dp>
struct _LIBCPP_TYPE_VIS_ONLY is_base_of
: public integral_constant<bool, __is_base_of(_Bp, _Dp)> {};
#else // _LIBCPP_HAS_IS_BASE_OF
# 878 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
namespace __is_base_of_imp
{
template <class _Tp>
struct _Dst
{
_Dst(const volatile _Tp &);
};
template <class _Tp>
struct _Src
{
operator const volatile _Tp &();
template <class _Up> operator const _Dst<_Up> &();
};
template <size_t> struct __one { typedef char type; };
template <class _Bp, class _Dp> typename __one<sizeof(_Dst<_Bp>(declval<_Src<_Dp> >()))>::type __test(int);
template <class _Bp, class _Dp> __two __test(...);
}
template <class _Bp, class _Dp>
struct _LIBCPP_TYPE_VIS_ONLY is_base_of
: public integral_constant<bool, is_class<_Bp>::value &&
sizeof(__is_base_of_imp::__test<_Bp, _Dp>(0)) == 2> {};
#endif // _LIBCPP_HAS_IS_BASE_OF
# 903 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_convertible
#if __has_feature(is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
template <class _T1, class _T2> struct _LIBCPP_TYPE_VIS_ONLY is_convertible
: public integral_constant<bool, __is_convertible_to(_T1, _T2) &&
!is_abstract<_T2>::value> {};
#else // __has_feature(is_convertible_to)
# 913 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
namespace __is_convertible_imp
{
template <class _Tp> void __test_convert(_Tp);
template <class _From, class _To, class = void>
struct __is_convertible_test : public false_type {};
template <class _From, class _To>
struct __is_convertible_test<_From, _To,
decltype(__test_convert<_To>(_VSTD::declval<_From>()))> : public true_type
{};
template <class _Tp> __two __test(...);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp> _Tp&& __source();
#else
# 930 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> typename remove_reference<_Tp>::type& __source();
#endif
# 932 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, bool _IsArray = is_array<_Tp>::value,
bool _IsFunction = is_function<_Tp>::value,
bool _IsVoid = is_void<_Tp>::value>
struct __is_array_function_or_void {enum {value = 0};};
template <class _Tp> struct __is_array_function_or_void<_Tp, true, false, false> {enum {value = 1};};
template <class _Tp> struct __is_array_function_or_void<_Tp, false, true, false> {enum {value = 2};};
template <class _Tp> struct __is_array_function_or_void<_Tp, false, false, true> {enum {value = 3};};
}
template <class _Tp,
unsigned = __is_convertible_imp::__is_array_function_or_void<typename remove_reference<_Tp>::type>::value>
struct __is_convertible_check
{
static const size_t __v = 0;
};
template <class _Tp>
struct __is_convertible_check<_Tp, 0>
{
static const size_t __v = sizeof(_Tp);
};
template <class _T1, class _T2,
unsigned _T1_is_array_function_or_void = __is_convertible_imp::__is_array_function_or_void<_T1>::value,
unsigned _T2_is_array_function_or_void = __is_convertible_imp::__is_array_function_or_void<_T2>::value>
struct __is_convertible
: public integral_constant<bool,
__is_convertible_imp::__is_convertible_test<_T1, _T2>::value
#if defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES)
&& !(!is_function<_T1>::value && !is_reference<_T1>::value && is_reference<_T2>::value
&& (!is_const<typename remove_reference<_T2>::type>::value
|| is_volatile<typename remove_reference<_T2>::type>::value)
&& (is_same<typename remove_cv<_T1>::type,
typename remove_cv<typename remove_reference<_T2>::type>::type>::value
|| is_base_of<typename remove_reference<_T2>::type, _T1>::value))
#endif
# 969 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
>
{};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 0> : false_type {};
template <class _T1> struct __is_convertible<_T1, const _T1&, 1, 0> : true_type {};
template <class _T1> struct __is_convertible<const _T1, const _T1&, 1, 0> : true_type {};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _T1> struct __is_convertible<_T1, _T1&&, 1, 0> : true_type {};
template <class _T1> struct __is_convertible<_T1, const _T1&&, 1, 0> : true_type {};
template <class _T1> struct __is_convertible<_T1, volatile _T1&&, 1, 0> : true_type {};
template <class _T1> struct __is_convertible<_T1, const volatile _T1&&, 1, 0> : true_type {};
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 982 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _T1, class _T2> struct __is_convertible<_T1, _T2*, 1, 0>
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*>::value> {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2* const, 1, 0>
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*const>::value> {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2* volatile, 1, 0>
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*volatile>::value> {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2* const volatile, 1, 0>
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*const volatile>::value> {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 0> : public false_type {};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _T1> struct __is_convertible<_T1, _T1&&, 2, 0> : public true_type {};
#endif
# 999 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _T1> struct __is_convertible<_T1, _T1&, 2, 0> : public true_type {};
template <class _T1> struct __is_convertible<_T1, _T1*, 2, 0> : public true_type {};
template <class _T1> struct __is_convertible<_T1, _T1*const, 2, 0> : public true_type {};
template <class _T1> struct __is_convertible<_T1, _T1*volatile, 2, 0> : public true_type {};
template <class _T1> struct __is_convertible<_T1, _T1*const volatile, 2, 0> : public true_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 0> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 0, 1> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 1> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 1> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 1> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 0, 2> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 2> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 2> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 2> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 0, 3> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 1, 3> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 3> : public false_type {};
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 3, 3> : public true_type {};
template <class _T1, class _T2> struct _LIBCPP_TYPE_VIS_ONLY is_convertible
: public __is_convertible<_T1, _T2>
{
static const size_t __complete_check1 = __is_convertible_check<_T1>::__v;
static const size_t __complete_check2 = __is_convertible_check<_T2>::__v;
};
#endif // __has_feature(is_convertible_to)
# 1030 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_empty
#if __has_feature(is_empty) || (_GNUC_VER >= 407)
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_empty
: public integral_constant<bool, __is_empty(_Tp)> {};
#else // __has_feature(is_empty)
# 1040 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct __is_empty1
: public _Tp
{
double __lx;
};
struct __is_empty2
{
double __lx;
};
template <class _Tp, bool = is_class<_Tp>::value>
struct __libcpp_empty : public integral_constant<bool, sizeof(__is_empty1<_Tp>) == sizeof(__is_empty2)> {};
template <class _Tp> struct __libcpp_empty<_Tp, false> : public false_type {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_empty : public __libcpp_empty<_Tp> {};
#endif // __has_feature(is_empty)
# 1061 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_polymorphic
#if __has_feature(is_polymorphic) || defined(_LIBCPP_MSVC)
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_polymorphic
: public integral_constant<bool, __is_polymorphic(_Tp)> {};
#else
# 1071 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template<typename _Tp> char &__is_polymorphic_impl(
typename enable_if<sizeof((_Tp*)dynamic_cast<const volatile void*>(declval<_Tp*>())) != 0,
int>::type);
template<typename _Tp> __two &__is_polymorphic_impl(...);
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_polymorphic
: public integral_constant<bool, sizeof(__is_polymorphic_impl<_Tp>(0)) == 1> {};
#endif // __has_feature(is_polymorphic)
# 1081 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// has_virtual_destructor
#if __has_feature(has_virtual_destructor) || (_GNUC_VER >= 403)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY has_virtual_destructor
: public integral_constant<bool, __has_virtual_destructor(_Tp)> {};
#else
# 1090 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY has_virtual_destructor
: public false_type {};
#endif
# 1095 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// alignment_of
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY alignment_of
: public integral_constant<size_t, __alignof__(_Tp)> {};
// aligned_storage
template <class _Hp, class _Tp>
struct __type_list
{
typedef _Hp _Head;
typedef _Tp _Tail;
};
struct __nat
{
#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
__nat() = delete;
__nat(const __nat&) = delete;
__nat& operator=(const __nat&) = delete;
~__nat() = delete;
#endif
# 1118 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
};
template <class _Tp>
struct __align_type
{
static const size_t value = alignment_of<_Tp>::value;
typedef _Tp type;
};
struct __struct_double {long double __lx;};
struct __struct_double4 {double __lx[4];};
typedef
__type_list<__align_type<unsigned char>,
__type_list<__align_type<unsigned short>,
__type_list<__align_type<unsigned int>,
__type_list<__align_type<unsigned long>,
__type_list<__align_type<unsigned long long>,
__type_list<__align_type<double>,
__type_list<__align_type<long double>,
__type_list<__align_type<__struct_double>,
__type_list<__align_type<__struct_double4>,
__type_list<__align_type<int*>,
__nat
> > > > > > > > > > __all_types;
template <class _TL, size_t _Align> struct __find_pod;
template <class _Hp, size_t _Align>
struct __find_pod<__type_list<_Hp, __nat>, _Align>
{
typedef typename conditional<
_Align == _Hp::value,
typename _Hp::type,
void
>::type type;
};
template <class _Hp, class _Tp, size_t _Align>
struct __find_pod<__type_list<_Hp, _Tp>, _Align>
{
typedef typename conditional<
_Align == _Hp::value,
typename _Hp::type,
typename __find_pod<_Tp, _Align>::type
>::type type;
};
template <class _TL, size_t _Len> struct __find_max_align;
template <class _Hp, size_t _Len>
struct __find_max_align<__type_list<_Hp, __nat>, _Len> : public integral_constant<size_t, _Hp::value> {};
template <size_t _Len, size_t _A1, size_t _A2>
struct __select_align
{
private:
static const size_t __min = _A2 < _A1 ? _A2 : _A1;
static const size_t __max = _A1 < _A2 ? _A2 : _A1;
public:
static const size_t value = _Len < __max ? __min : __max;
};
template <class _Hp, class _Tp, size_t _Len>
struct __find_max_align<__type_list<_Hp, _Tp>, _Len>
: public integral_constant<size_t, __select_align<_Len, _Hp::value, __find_max_align<_Tp, _Len>::value>::value> {};
template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value>
struct _LIBCPP_TYPE_VIS_ONLY aligned_storage
{
typedef typename __find_pod<__all_types, _Align>::type _Aligner;
static_assert(!is_void<_Aligner>::value, "");
union type
{
_Aligner __align;
unsigned char __data[(_Len + _Align - 1)/_Align * _Align];
};
};
#if _LIBCPP_STD_VER > 11
template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value>
using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
#endif
# 1201 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#define _CREATE_ALIGNED_STORAGE_SPECIALIZATION(n) \
template <size_t _Len>\
struct _LIBCPP_TYPE_VIS_ONLY aligned_storage<_Len, n>\
{\
struct _ALIGNAS(n) type\
{\
unsigned char __lx[(_Len + n - 1)/n * n];\
};\
}
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x1);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x2);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x4);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x8);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x10);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x20);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x40);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x80);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x100);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x200);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x400);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x800);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x1000);
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x2000);
// MSDN says that MSVC does not support alignment beyond 8192 (=0x2000)
#if !defined(_LIBCPP_MSVC)
_CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x4000);
#endif // !_LIBCPP_MSVC
# 1230 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#undef _CREATE_ALIGNED_STORAGE_SPECIALIZATION
#ifndef _LIBCPP_HAS_NO_VARIADICS
// aligned_union
template <size_t _I0, size_t ..._In>
struct __static_max;
template <size_t _I0>
struct __static_max<_I0>
{
static const size_t value = _I0;
};
template <size_t _I0, size_t _I1, size_t ..._In>
struct __static_max<_I0, _I1, _In...>
{
static const size_t value = _I0 >= _I1 ? __static_max<_I0, _In...>::value :
__static_max<_I1, _In...>::value;
};
template <size_t _Len, class _Type0, class ..._Types>
struct aligned_union
{
static const size_t alignment_value = __static_max<__alignof__(_Type0),
__alignof__(_Types)...>::value;
static const size_t __len = __static_max<_Len, sizeof(_Type0),
sizeof(_Types)...>::value;
typedef typename aligned_storage<__len, alignment_value>::type type;
};
#if _LIBCPP_STD_VER > 11
template <size_t _Len, class ..._Types> using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
#endif
# 1266 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // _LIBCPP_HAS_NO_VARIADICS
# 1268 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct __numeric_type
{
static void __test(...);
static float __test(float);
static double __test(char);
static double __test(int);
static double __test(unsigned);
static double __test(long);
static double __test(unsigned long);
static double __test(long long);
static double __test(unsigned long long);
static double __test(double);
static long double __test(long double);
typedef decltype(__test(declval<_Tp>())) type;
static const bool value = !is_same<type, void>::value;
};
template <>
struct __numeric_type<void>
{
static const bool value = true;
};
// __promote
template <class _A1, class _A2 = void, class _A3 = void,
bool = __numeric_type<_A1>::value &&
__numeric_type<_A2>::value &&
__numeric_type<_A3>::value>
class __promote_imp
{
public:
static const bool value = false;
};
template <class _A1, class _A2, class _A3>
class __promote_imp<_A1, _A2, _A3, true>
{
private:
typedef typename __promote_imp<_A1>::type __type1;
typedef typename __promote_imp<_A2>::type __type2;
typedef typename __promote_imp<_A3>::type __type3;
public:
typedef decltype(__type1() + __type2() + __type3()) type;
static const bool value = true;
};
template <class _A1, class _A2>
class __promote_imp<_A1, _A2, void, true>
{
private:
typedef typename __promote_imp<_A1>::type __type1;
typedef typename __promote_imp<_A2>::type __type2;
public:
typedef decltype(__type1() + __type2()) type;
static const bool value = true;
};
template <class _A1>
class __promote_imp<_A1, void, void, true>
{
public:
typedef typename __numeric_type<_A1>::type type;
static const bool value = true;
};
template <class _A1, class _A2 = void, class _A3 = void>
class __promote : public __promote_imp<_A1, _A2, _A3> {};
// make_signed / make_unsigned
typedef
__type_list<signed char,
__type_list<signed short,
__type_list<signed int,
__type_list<signed long,
__type_list<signed long long,
#ifndef _LIBCPP_HAS_NO_INT128
__type_list<__int128_t,
#endif
# 1351 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
__nat
#ifndef _LIBCPP_HAS_NO_INT128
>
#endif
# 1355 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
> > > > > __signed_types;
typedef
__type_list<unsigned char,
__type_list<unsigned short,
__type_list<unsigned int,
__type_list<unsigned long,
__type_list<unsigned long long,
#ifndef _LIBCPP_HAS_NO_INT128
__type_list<__uint128_t,
#endif
# 1366 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
__nat
#ifndef _LIBCPP_HAS_NO_INT128
>
#endif
# 1370 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
> > > > > __unsigned_types;
template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename _TypeList::_Head)> struct __find_first;
template <class _Hp, class _Tp, size_t _Size>
struct __find_first<__type_list<_Hp, _Tp>, _Size, true>
{
typedef _Hp type;
};
template <class _Hp, class _Tp, size_t _Size>
struct __find_first<__type_list<_Hp, _Tp>, _Size, false>
{
typedef typename __find_first<_Tp, _Size>::type type;
};
template <class _Tp, class _Up, bool = is_const<typename remove_reference<_Tp>::type>::value,
bool = is_volatile<typename remove_reference<_Tp>::type>::value>
struct __apply_cv
{
typedef _Up type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp, _Up, true, false>
{
typedef const _Up type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp, _Up, false, true>
{
typedef volatile _Up type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp, _Up, true, true>
{
typedef const volatile _Up type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp&, _Up, false, false>
{
typedef _Up& type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp&, _Up, true, false>
{
typedef const _Up& type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp&, _Up, false, true>
{
typedef volatile _Up& type;
};
template <class _Tp, class _Up>
struct __apply_cv<_Tp&, _Up, true, true>
{
typedef const volatile _Up& type;
};
template <class _Tp, bool = is_integral<_Tp>::value || is_enum<_Tp>::value>
struct __make_signed {};
template <class _Tp>
struct __make_signed<_Tp, true>
{
typedef typename __find_first<__signed_types, sizeof(_Tp)>::type type;
};
template <> struct __make_signed<bool, true> {};
template <> struct __make_signed< signed short, true> {typedef short type;};
template <> struct __make_signed<unsigned short, true> {typedef short type;};
template <> struct __make_signed< signed int, true> {typedef int type;};
template <> struct __make_signed<unsigned int, true> {typedef int type;};
template <> struct __make_signed< signed long, true> {typedef long type;};
template <> struct __make_signed<unsigned long, true> {typedef long type;};
template <> struct __make_signed< signed long long, true> {typedef long long type;};
template <> struct __make_signed<unsigned long long, true> {typedef long long type;};
#ifndef _LIBCPP_HAS_NO_INT128
template <> struct __make_signed<__int128_t, true> {typedef __int128_t type;};
template <> struct __make_signed<__uint128_t, true> {typedef __int128_t type;};
#endif
# 1457 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY make_signed
{
typedef typename __apply_cv<_Tp, typename __make_signed<typename remove_cv<_Tp>::type>::type>::type type;
};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using make_signed_t = typename make_signed<_Tp>::type;
#endif
# 1467 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, bool = is_integral<_Tp>::value || is_enum<_Tp>::value>
struct __make_unsigned {};
template <class _Tp>
struct __make_unsigned<_Tp, true>
{
typedef typename __find_first<__unsigned_types, sizeof(_Tp)>::type type;
};
template <> struct __make_unsigned<bool, true> {};
template <> struct __make_unsigned< signed short, true> {typedef unsigned short type;};
template <> struct __make_unsigned<unsigned short, true> {typedef unsigned short type;};
template <> struct __make_unsigned< signed int, true> {typedef unsigned int type;};
template <> struct __make_unsigned<unsigned int, true> {typedef unsigned int type;};
template <> struct __make_unsigned< signed long, true> {typedef unsigned long type;};
template <> struct __make_unsigned<unsigned long, true> {typedef unsigned long type;};
template <> struct __make_unsigned< signed long long, true> {typedef unsigned long long type;};
template <> struct __make_unsigned<unsigned long long, true> {typedef unsigned long long type;};
#ifndef _LIBCPP_HAS_NO_INT128
template <> struct __make_unsigned<__int128_t, true> {typedef __uint128_t type;};
template <> struct __make_unsigned<__uint128_t, true> {typedef __uint128_t type;};
#endif
# 1490 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY make_unsigned
{
typedef typename __apply_cv<_Tp, typename __make_unsigned<typename remove_cv<_Tp>::type>::type>::type type;
};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using make_unsigned_t = typename make_unsigned<_Tp>::type;
#endif
# 1500 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifdef _LIBCPP_HAS_NO_VARIADICS
template <class _Tp, class _Up = void, class _Vp = void>
struct _LIBCPP_TYPE_VIS_ONLY common_type
{
public:
typedef typename common_type<typename common_type<_Tp, _Up>::type, _Vp>::type type;
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, void, void>
{
public:
typedef typename decay<_Tp>::type type;
};
template <class _Tp, class _Up>
struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up, void>
{
typedef typename decay<decltype(
true ? _VSTD::declval<_Tp>() : _VSTD::declval<_Up>()
)>::type type;
};
#else // _LIBCPP_HAS_NO_VARIADICS
# 1526 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// bullet 1 - sizeof...(Tp) == 0
template <class ..._Tp>
struct _LIBCPP_TYPE_VIS_ONLY common_type {};
// bullet 2 - sizeof...(Tp) == 1
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp>
{
typedef typename decay<_Tp>::type type;
};
// bullet 3 - sizeof...(Tp) == 2
template <class _Tp, class _Up, class = void>
struct __common_type2 {};
template <class _Tp, class _Up>
struct __common_type2<_Tp, _Up,
typename __void_t<decltype(
true ? _VSTD::declval<_Tp>() : _VSTD::declval<_Up>()
)>::type>
{
typedef typename decay<decltype(
true ? _VSTD::declval<_Tp>() : _VSTD::declval<_Up>()
)>::type type;
};
template <class _Tp, class _Up>
struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up>
: __common_type2<_Tp, _Up> {};
// bullet 4 - sizeof...(Tp) > 2
template <class ...Tp> struct __common_types;
template <class, class = void>
struct __common_type_impl {};
template <class _Tp, class _Up, class ..._Vp>
struct __common_type_impl<__common_types<_Tp, _Up, _Vp...>,
typename __void_t<typename common_type<_Tp, _Up>::type>::type>
{
typedef typename common_type<
typename common_type<_Tp, _Up>::type, _Vp...
>::type type;
};
template <class _Tp, class _Up, class ..._Vp>
struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up, _Vp...>
: __common_type_impl<__common_types<_Tp, _Up, _Vp...> > {};
#if _LIBCPP_STD_VER > 11
template <class ..._Tp> using common_type_t = typename common_type<_Tp...>::type;
#endif
# 1583 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // _LIBCPP_HAS_NO_VARIADICS
# 1585 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_assignable
template<typename, typename _Tp> struct __select_2nd { typedef _Tp type; };
template <class _Tp, class _Arg>
typename __select_2nd<decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>())), true_type>::type
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__is_assignable_test(_Tp&&, _Arg&&);
#else
# 1595 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
__is_assignable_test(_Tp, _Arg&);
#endif
# 1597 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Arg>
false_type
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
__is_assignable_test(__any, _Arg&&);
#else
# 1603 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
__is_assignable_test(__any, _Arg&);
#endif
# 1605 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class _Arg, bool = is_void<_Tp>::value || is_void<_Arg>::value>
struct __is_assignable_imp
: public common_type
<
decltype(_VSTD::__is_assignable_test(declval<_Tp>(), declval<_Arg>()))
>::type {};
template <class _Tp, class _Arg>
struct __is_assignable_imp<_Tp, _Arg, true>
: public false_type
{
};
template <class _Tp, class _Arg>
struct is_assignable
: public __is_assignable_imp<_Tp, _Arg> {};
// is_copy_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_copy_assignable
: public is_assignable<typename add_lvalue_reference<_Tp>::type,
typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
// is_move_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_move_assignable
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
: public is_assignable<typename add_lvalue_reference<_Tp>::type,
const typename add_rvalue_reference<_Tp>::type> {};
#else
# 1636 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: public is_copy_assignable<_Tp> {};
#endif
# 1638 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_destructible
// if it's a reference, return true
// if it's a function, return false
// if it's void, return false
// if it's an array of unknown bound, return false
// Otherwise, return "std::declval<_Up&>().~_Up()" is well-formed
// where _Up is remove_all_extents<_Tp>::type
template <class>
struct __is_destructible_apply { typedef int type; };
template <typename _Tp>
struct __is_destructor_wellformed {
template <typename _Tp1>
static char __test (
typename __is_destructible_apply<decltype(_VSTD::declval<_Tp1&>().~_Tp1())>::type
);
template <typename _Tp1>
static __two __test (...);
static const bool value = sizeof(__test<_Tp>(12)) == sizeof(char);
};
template <class _Tp, bool>
struct __destructible_imp;
template <class _Tp>
struct __destructible_imp<_Tp, false>
: public _VSTD::integral_constant<bool,
__is_destructor_wellformed<typename _VSTD::remove_all_extents<_Tp>::type>::value> {};
template <class _Tp>
struct __destructible_imp<_Tp, true>
: public _VSTD::true_type {};
template <class _Tp, bool>
struct __destructible_false;
template <class _Tp>
struct __destructible_false<_Tp, false> : public __destructible_imp<_Tp, _VSTD::is_reference<_Tp>::value> {};
template <class _Tp>
struct __destructible_false<_Tp, true> : public _VSTD::false_type {};
template <class _Tp>
struct is_destructible
: public __destructible_false<_Tp, _VSTD::is_function<_Tp>::value> {};
template <class _Tp>
struct is_destructible<_Tp[]>
: public _VSTD::false_type {};
template <>
struct is_destructible<void>
: public _VSTD::false_type {};
// move
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
typename remove_reference<_Tp>::type&&
move(_Tp&& __t) _NOEXCEPT
{
typedef typename remove_reference<_Tp>::type _Up;
return static_cast<_Up&&>(__t);
}
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
_Tp&&
forward(typename std::remove_reference<_Tp>::type& __t) _NOEXCEPT
{
return static_cast<_Tp&&>(__t);
}
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
_Tp&&
forward(typename std::remove_reference<_Tp>::type&& __t) _NOEXCEPT
{
static_assert(!std::is_lvalue_reference<_Tp>::value,
"Can not forward an rvalue as an lvalue.");
return static_cast<_Tp&&>(__t);
}
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 1729 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
_Tp&
move(_Tp& __t)
{
return __t;
}
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
const _Tp&
move(const _Tp& __t)
{
return __t;
}
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
_Tp&
forward(typename std::remove_reference<_Tp>::type& __t) _NOEXCEPT
{
return __t;
}
template <class _Tp>
class __rv
{
typedef typename remove_reference<_Tp>::type _Trr;
_Trr& t_;
public:
_LIBCPP_INLINE_VISIBILITY
_Trr* operator->() {return &t_;}
_LIBCPP_INLINE_VISIBILITY
explicit __rv(_Trr& __t) : t_(__t) {}
};
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 1768 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
typename decay<_Tp>::type
__decay_copy(_Tp&& __t)
{
return _VSTD::forward<_Tp>(__t);
}
#else
# 1780 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
typename decay<_Tp>::type
__decay_copy(const _Tp& __t)
{
return _VSTD::forward<_Tp>(__t);
}
#endif
# 1790 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_VARIADICS
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
#if __has_feature(cxx_reference_qualified_functions) || \
(defined(_GNUC_VER) && _GNUC_VER >= 409)
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &, true, false>
{
typedef _Class& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &, true, false>
{
typedef _Class& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&, true, false>
{
typedef _Class const& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&, true, false>
{
typedef _Class const& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&, true, false>
{
typedef _Class volatile& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&, true, false>
{
typedef _Class volatile& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&, true, false>
{
typedef _Class const volatile& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&, true, false>
{
typedef _Class const volatile& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &&, true, false>
{
typedef _Class&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &&, true, false>
{
typedef _Class&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&&, true, false>
{
typedef _Class const&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&&, true, false>
{
typedef _Class const&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&&, true, false>
{
typedef _Class volatile&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&&, true, false>
{
typedef _Class volatile&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&&, true, false>
{
typedef _Class const volatile&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param...);
};
template <class _Rp, class _Class, class ..._Param>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&&, true, false>
{
typedef _Class const volatile&& _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_Param..., ...);
};
#endif // __has_feature(cxx_reference_qualified_functions) || _GNUC_VER >= 409
# 1989 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#else // _LIBCPP_HAS_NO_VARIADICS
# 1991 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)(), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) ();
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)(...), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (...);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, ...), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, ...);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, ...), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, ...);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2, ...), true, false>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2, ...);
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)() const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) ();
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)(...) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (...);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, ...) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, ...);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, ...) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, ...);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2, ...) const, true, false>
{
typedef _Class const _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2, ...);
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)() volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) ();
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)(...) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (...);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, ...) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, ...);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, ...) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, ...);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2, ...) volatile, true, false>
{
typedef _Class volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2, ...);
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)() const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) ();
};
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp (_Class::*)(...) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (...);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0);
};
template <class _Rp, class _Class, class _P0>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, ...) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, ...);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1);
};
template <class _Rp, class _Class, class _P0, class _P1>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, ...) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, ...);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2);
};
template <class _Rp, class _Class, class _P0, class _P1, class _P2>
struct __member_pointer_traits_imp<_Rp (_Class::*)(_P0, _P1, _P2, ...) const volatile, true, false>
{
typedef _Class const volatile _ClassType;
typedef _Rp _ReturnType;
typedef _Rp (_FnType) (_P0, _P1, _P2, ...);
};
#endif // _LIBCPP_HAS_NO_VARIADICS
# 2249 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Rp, class _Class>
struct __member_pointer_traits_imp<_Rp _Class::*, false, true>
{
typedef _Class _ClassType;
typedef _Rp _ReturnType;
};
template <class _MP>
struct __member_pointer_traits
: public __member_pointer_traits_imp<typename remove_cv<_MP>::type,
is_member_function_pointer<_MP>::value,
is_member_object_pointer<_MP>::value>
{
// typedef ... _ClassType;
// typedef ... _ReturnType;
// typedef ... _FnType;
};
// result_of
template <class _Callable> class result_of;
#ifdef _LIBCPP_HAS_NO_VARIADICS
template <class _Fn, bool, bool>
class __result_of
{
};
template <class _Fn>
class __result_of<_Fn(), true, false>
{
public:
typedef decltype(declval<_Fn>()()) type;
};
template <class _Fn, class _A0>
class __result_of<_Fn(_A0), true, false>
{
public:
typedef decltype(declval<_Fn>()(declval<_A0>())) type;
};
template <class _Fn, class _A0, class _A1>
class __result_of<_Fn(_A0, _A1), true, false>
{
public:
typedef decltype(declval<_Fn>()(declval<_A0>(), declval<_A1>())) type;
};
template <class _Fn, class _A0, class _A1, class _A2>
class __result_of<_Fn(_A0, _A1, _A2), true, false>
{
public:
typedef decltype(declval<_Fn>()(declval<_A0>(), declval<_A1>(), declval<_A2>())) type;
};
template <class _MP, class _Tp, bool _IsMemberFunctionPtr>
struct __result_of_mp;
// member function pointer
template <class _MP, class _Tp>
struct __result_of_mp<_MP, _Tp, true>
: public __identity<typename __member_pointer_traits<_MP>::_ReturnType>
{
};
// member data pointer
template <class _MP, class _Tp, bool>
struct __result_of_mdp;
template <class _Rp, class _Class, class _Tp>
struct __result_of_mdp<_Rp _Class::*, _Tp, false>
{
typedef typename __apply_cv<decltype(*_VSTD::declval<_Tp>()), _Rp>::type& type;
};
template <class _Rp, class _Class, class _Tp>
struct __result_of_mdp<_Rp _Class::*, _Tp, true>
{
typedef typename __apply_cv<_Tp, _Rp>::type& type;
};
template <class _Rp, class _Class, class _Tp>
struct __result_of_mp<_Rp _Class::*, _Tp, false>
: public __result_of_mdp<_Rp _Class::*, _Tp,
is_base_of<_Class, typename remove_reference<_Tp>::type>::value>
{
};
template <class _Fn, class _Tp>
class __result_of<_Fn(_Tp), false, true> // _Fn must be member pointer
: public __result_of_mp<typename remove_reference<_Fn>::type,
_Tp,
is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
{
};
template <class _Fn, class _Tp, class _A0>
class __result_of<_Fn(_Tp, _A0), false, true> // _Fn must be member pointer
: public __result_of_mp<typename remove_reference<_Fn>::type,
_Tp,
is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
{
};
template <class _Fn, class _Tp, class _A0, class _A1>
class __result_of<_Fn(_Tp, _A0, _A1), false, true> // _Fn must be member pointer
: public __result_of_mp<typename remove_reference<_Fn>::type,
_Tp,
is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
{
};
template <class _Fn, class _Tp, class _A0, class _A1, class _A2>
class __result_of<_Fn(_Tp, _A0, _A1, _A2), false, true> // _Fn must be member pointer
: public __result_of_mp<typename remove_reference<_Fn>::type,
_Tp,
is_member_function_pointer<typename remove_reference<_Fn>::type>::value>
{
};
// result_of
template <class _Fn>
class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn()>
: public __result_of<_Fn(),
is_class<typename remove_reference<_Fn>::type>::value ||
is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
is_member_pointer<typename remove_reference<_Fn>::type>::value
>
{
};
template <class _Fn, class _A0>
class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0)>
: public __result_of<_Fn(_A0),
is_class<typename remove_reference<_Fn>::type>::value ||
is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
is_member_pointer<typename remove_reference<_Fn>::type>::value
>
{
};
template <class _Fn, class _A0, class _A1>
class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0, _A1)>
: public __result_of<_Fn(_A0, _A1),
is_class<typename remove_reference<_Fn>::type>::value ||
is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
is_member_pointer<typename remove_reference<_Fn>::type>::value
>
{
};
template <class _Fn, class _A0, class _A1, class _A2>
class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0, _A1, _A2)>
: public __result_of<_Fn(_A0, _A1, _A2),
is_class<typename remove_reference<_Fn>::type>::value ||
is_function<typename remove_pointer<typename remove_reference<_Fn>::type>::type>::value,
is_member_pointer<typename remove_reference<_Fn>::type>::value
>
{
};
#endif // _LIBCPP_HAS_NO_VARIADICS
# 2419 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// template <class T, class... Args> struct is_constructible;
namespace __is_construct
{
struct __nat {};
}
#if __has_feature(is_constructible)
template <class _Tp, class ..._Args>
struct _LIBCPP_TYPE_VIS_ONLY is_constructible
: public integral_constant<bool, __is_constructible(_Tp, _Args...)>
{};
#else
# 2435 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_VARIADICS
// main is_constructible test
template <class _Tp, class ..._Args>
typename __select_2nd<decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...))), true_type>::type
__is_constructible_test(_Tp&&, _Args&& ...);
template <class ..._Args>
false_type
__is_constructible_test(__any, _Args&& ...);
template <bool, class _Tp, class... _Args>
struct __libcpp_is_constructible // false, _Tp is not a scalar
: public common_type
<
decltype(__is_constructible_test(declval<_Tp>(), declval<_Args>()...))
>::type
{};
// function types are not constructible
template <class _Rp, class... _A1, class... _A2>
struct __libcpp_is_constructible<false, _Rp(_A1...), _A2...>
: public false_type
{};
// handle scalars and reference types
// Scalars are default constructible, references are not
template <class _Tp>
struct __libcpp_is_constructible<true, _Tp>
: public is_scalar<_Tp>
{};
// Scalars and references are constructible from one arg if that arg is
// implicitly convertible to the scalar or reference.
template <class _Tp>
struct __is_constructible_ref
{
true_type static __lxx(_Tp);
false_type static __lxx(...);
};
template <class _Tp, class _A0>
struct __libcpp_is_constructible<true, _Tp, _A0>
: public common_type
<
decltype(__is_constructible_ref<_Tp>::__lxx(declval<_A0>()))
>::type
{};
// Scalars and references are not constructible from multiple args.
template <class _Tp, class _A0, class ..._Args>
struct __libcpp_is_constructible<true, _Tp, _A0, _Args...>
: public false_type
{};
// Treat scalars and reference types separately
template <bool, class _Tp, class... _Args>
struct __is_constructible_void_check
: public __libcpp_is_constructible<is_scalar<_Tp>::value || is_reference<_Tp>::value,
_Tp, _Args...>
{};
// If any of T or Args is void, is_constructible should be false
template <class _Tp, class... _Args>
struct __is_constructible_void_check<true, _Tp, _Args...>
: public false_type
{};
template <class ..._Args> struct __contains_void;
template <> struct __contains_void<> : false_type {};
template <class _A0, class ..._Args>
struct __contains_void<_A0, _Args...>
{
static const bool value = is_void<_A0>::value ||
__contains_void<_Args...>::value;
};
// is_constructible entry point
template <class _Tp, class... _Args>
struct _LIBCPP_TYPE_VIS_ONLY is_constructible
: public __is_constructible_void_check<__contains_void<_Tp, _Args...>::value
|| is_abstract<_Tp>::value,
_Tp, _Args...>
{};
// Array types are default constructible if their element type
// is default constructible
template <class _Ap, size_t _Np>
struct __libcpp_is_constructible<false, _Ap[_Np]>
: public is_constructible<typename remove_all_extents<_Ap>::type>
{};
// Otherwise array types are not constructible by this syntax
template <class _Ap, size_t _Np, class ..._Args>
struct __libcpp_is_constructible<false, _Ap[_Np], _Args...>
: public false_type
{};
// Incomplete array types are not constructible
template <class _Ap, class ..._Args>
struct __libcpp_is_constructible<false, _Ap[], _Args...>
: public false_type
{};
#else // _LIBCPP_HAS_NO_VARIADICS
# 2555 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// template <class T> struct is_constructible0;
// main is_constructible0 test
template <class _Tp>
decltype((_Tp(), true_type()))
__is_constructible0_test(_Tp&);
false_type
__is_constructible0_test(__any);
template <class _Tp, class _A0>
decltype((_Tp(_VSTD::declval<_A0>()), true_type()))
__is_constructible1_test(_Tp&, _A0&);
template <class _A0>
false_type
__is_constructible1_test(__any, _A0&);
template <class _Tp, class _A0, class _A1>
decltype((_Tp(_VSTD::declval<_A0>(), _VSTD::declval<_A1>()), true_type()))
__is_constructible2_test(_Tp&, _A0&, _A1&);
template <class _A0, class _A1>
false_type
__is_constructible2_test(__any, _A0&, _A1&);
template <bool, class _Tp>
struct __is_constructible0_imp // false, _Tp is not a scalar
: public common_type
<
decltype(__is_constructible0_test(declval<_Tp&>()))
>::type
{};
template <bool, class _Tp, class _A0>
struct __is_constructible1_imp // false, _Tp is not a scalar
: public common_type
<
decltype(__is_constructible1_test(declval<_Tp&>(), declval<_A0&>()))
>::type
{};
template <bool, class _Tp, class _A0, class _A1>
struct __is_constructible2_imp // false, _Tp is not a scalar
: public common_type
<
decltype(__is_constructible2_test(declval<_Tp&>(), declval<_A0>(), declval<_A1>()))
>::type
{};
// handle scalars and reference types
// Scalars are default constructible, references are not
template <class _Tp>
struct __is_constructible0_imp<true, _Tp>
: public is_scalar<_Tp>
{};
template <class _Tp, class _A0>
struct __is_constructible1_imp<true, _Tp, _A0>
: public is_convertible<_A0, _Tp>
{};
template <class _Tp, class _A0, class _A1>
struct __is_constructible2_imp<true, _Tp, _A0, _A1>
: public false_type
{};
// Treat scalars and reference types separately
template <bool, class _Tp>
struct __is_constructible0_void_check
: public __is_constructible0_imp<is_scalar<_Tp>::value || is_reference<_Tp>::value,
_Tp>
{};
template <bool, class _Tp, class _A0>
struct __is_constructible1_void_check
: public __is_constructible1_imp<is_scalar<_Tp>::value || is_reference<_Tp>::value,
_Tp, _A0>
{};
template <bool, class _Tp, class _A0, class _A1>
struct __is_constructible2_void_check
: public __is_constructible2_imp<is_scalar<_Tp>::value || is_reference<_Tp>::value,
_Tp, _A0, _A1>
{};
// If any of T or Args is void, is_constructible should be false
template <class _Tp>
struct __is_constructible0_void_check<true, _Tp>
: public false_type
{};
template <class _Tp, class _A0>
struct __is_constructible1_void_check<true, _Tp, _A0>
: public false_type
{};
template <class _Tp, class _A0, class _A1>
struct __is_constructible2_void_check<true, _Tp, _A0, _A1>
: public false_type
{};
// is_constructible entry point
template <class _Tp, class _A0 = __is_construct::__nat,
class _A1 = __is_construct::__nat>
struct _LIBCPP_TYPE_VIS_ONLY is_constructible
: public __is_constructible2_void_check<is_void<_Tp>::value
|| is_abstract<_Tp>::value
|| is_function<_Tp>::value
|| is_void<_A0>::value
|| is_void<_A1>::value,
_Tp, _A0, _A1>
{};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_constructible<_Tp, __is_construct::__nat, __is_construct::__nat>
: public __is_constructible0_void_check<is_void<_Tp>::value
|| is_abstract<_Tp>::value
|| is_function<_Tp>::value,
_Tp>
{};
template <class _Tp, class _A0>
struct _LIBCPP_TYPE_VIS_ONLY is_constructible<_Tp, _A0, __is_construct::__nat>
: public __is_constructible1_void_check<is_void<_Tp>::value
|| is_abstract<_Tp>::value
|| is_function<_Tp>::value
|| is_void<_A0>::value,
_Tp, _A0>
{};
// Array types are default constructible if their element type
// is default constructible
template <class _Ap, size_t _Np>
struct __is_constructible0_imp<false, _Ap[_Np]>
: public is_constructible<typename remove_all_extents<_Ap>::type>
{};
template <class _Ap, size_t _Np, class _A0>
struct __is_constructible1_imp<false, _Ap[_Np], _A0>
: public false_type
{};
template <class _Ap, size_t _Np, class _A0, class _A1>
struct __is_constructible2_imp<false, _Ap[_Np], _A0, _A1>
: public false_type
{};
// Incomplete array types are not constructible
template <class _Ap>
struct __is_constructible0_imp<false, _Ap[]>
: public false_type
{};
template <class _Ap, class _A0>
struct __is_constructible1_imp<false, _Ap[], _A0>
: public false_type
{};
template <class _Ap, class _A0, class _A1>
struct __is_constructible2_imp<false, _Ap[], _A0, _A1>
: public false_type
{};
#endif // _LIBCPP_HAS_NO_VARIADICS
# 2729 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // __has_feature(is_constructible)
# 2730 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_default_constructible
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_default_constructible
: public is_constructible<_Tp>
{};
// is_copy_constructible
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_copy_constructible
: public is_constructible<_Tp,
typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
// is_move_constructible
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_move_constructible
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
: public is_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
#else
# 2752 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: public is_copy_constructible<_Tp>
#endif
# 2754 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_trivially_constructible
#ifndef _LIBCPP_HAS_NO_VARIADICS
#if __has_feature(is_trivially_constructible) || _GNUC_VER >= 501
template <class _Tp, class... _Args>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible
: integral_constant<bool, __is_trivially_constructible(_Tp, _Args...)>
{
};
#else // !__has_feature(is_trivially_constructible)
# 2769 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class... _Args>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible
: false_type
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp>
#if __has_feature(has_trivial_constructor) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_trivial_constructor(_Tp)>
#else
# 2781 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 2783 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&&>
#else
# 2790 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp>
#endif
# 2792 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, const _Tp&>
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&>
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
#endif // !__has_feature(is_trivially_constructible)
# 2809 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#else // _LIBCPP_HAS_NO_VARIADICS
# 2811 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class _A0 = __is_construct::__nat,
class _A1 = __is_construct::__nat>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible
: false_type
{
};
#if __has_feature(is_trivially_constructible) || _GNUC_VER >= 501
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, __is_construct::__nat,
__is_construct::__nat>
: integral_constant<bool, __is_trivially_constructible(_Tp)>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp,
__is_construct::__nat>
: integral_constant<bool, __is_trivially_constructible(_Tp, _Tp)>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, const _Tp&,
__is_construct::__nat>
: integral_constant<bool, __is_trivially_constructible(_Tp, const _Tp&)>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&,
__is_construct::__nat>
: integral_constant<bool, __is_trivially_constructible(_Tp, _Tp&)>
{
};
#else // !__has_feature(is_trivially_constructible)
# 2850 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, __is_construct::__nat,
__is_construct::__nat>
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp,
__is_construct::__nat>
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, const _Tp&,
__is_construct::__nat>
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&,
__is_construct::__nat>
: integral_constant<bool, is_scalar<_Tp>::value>
{
};
#endif // !__has_feature(is_trivially_constructible)
# 2880 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // _LIBCPP_HAS_NO_VARIADICS
# 2882 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_trivially_default_constructible
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_default_constructible
: public is_trivially_constructible<_Tp>
{};
// is_trivially_copy_constructible
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_copy_constructible
: public is_trivially_constructible<_Tp, typename add_lvalue_reference<const _Tp>::type>
{};
// is_trivially_move_constructible
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_move_constructible
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
: public is_trivially_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
#else
# 2901 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: public is_trivially_copy_constructible<_Tp>
#endif
# 2903 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_trivially_assignable
#if __has_feature(is_trivially_assignable) || _GNUC_VER >= 501
template <class _Tp, class _Arg>
struct is_trivially_assignable
: integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)>
{
};
#else // !__has_feature(is_trivially_assignable)
# 2916 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class _Arg>
struct is_trivially_assignable
: public false_type {};
template <class _Tp>
struct is_trivially_assignable<_Tp&, _Tp>
: integral_constant<bool, is_scalar<_Tp>::value> {};
template <class _Tp>
struct is_trivially_assignable<_Tp&, _Tp&>
: integral_constant<bool, is_scalar<_Tp>::value> {};
template <class _Tp>
struct is_trivially_assignable<_Tp&, const _Tp&>
: integral_constant<bool, is_scalar<_Tp>::value> {};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
struct is_trivially_assignable<_Tp&, _Tp&&>
: integral_constant<bool, is_scalar<_Tp>::value> {};
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 2940 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // !__has_feature(is_trivially_assignable)
# 2942 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_trivially_copy_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_copy_assignable
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
// is_trivially_move_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_move_assignable
: public is_trivially_assignable<typename add_lvalue_reference<_Tp>::type,
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
typename add_rvalue_reference<_Tp>::type>
#else
# 2956 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
typename add_lvalue_reference<_Tp>::type>
#endif
# 2958 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_trivially_destructible
#if __has_feature(has_trivial_destructor) || (_GNUC_VER >= 403)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible
: public integral_constant<bool, is_destructible<_Tp>::value && __has_trivial_destructor(_Tp)> {};
#else
# 2968 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct __libcpp_trivial_destructor
: public integral_constant<bool, is_scalar<_Tp>::value ||
is_reference<_Tp>::value> {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible
: public __libcpp_trivial_destructor<typename remove_all_extents<_Tp>::type> {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible<_Tp[]>
: public false_type {};
#endif
# 2980 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_nothrow_constructible
#if 0
template <class _Tp, class... _Args>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible
: public integral_constant<bool, __is_nothrow_constructible(_Tp(_Args...))>
{
};
#else
# 2991 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_VARIADICS
#if __has_feature(cxx_noexcept) || (_GNUC_VER >= 407 && __cplusplus >= 201103L)
template <bool, bool, class _Tp, class... _Args> struct __libcpp_is_nothrow_constructible;
template <class _Tp, class... _Args>
struct __libcpp_is_nothrow_constructible</*is constructible*/true, /*is reference*/false, _Tp, _Args...>
: public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))>
{
};
template <class _Tp>
void __implicit_conversion_to(_Tp) noexcept { }
template <class _Tp, class _Arg>
struct __libcpp_is_nothrow_constructible</*is constructible*/true, /*is reference*/true, _Tp, _Arg>
: public integral_constant<bool, noexcept(__implicit_conversion_to<_Tp>(declval<_Arg>()))>
{
};
template <class _Tp, bool _IsReference, class... _Args>
struct __libcpp_is_nothrow_constructible</*is constructible*/false, _IsReference, _Tp, _Args...>
: public false_type
{
};
template <class _Tp, class... _Args>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible
: __libcpp_is_nothrow_constructible<is_constructible<_Tp, _Args...>::value, is_reference<_Tp>::value, _Tp, _Args...>
{
};
template <class _Tp, size_t _Ns>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp[_Ns]>
: __libcpp_is_nothrow_constructible<is_constructible<_Tp>::value, is_reference<_Tp>::value, _Tp>
{
};
#else // __has_feature(cxx_noexcept)
# 3032 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class... _Args>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible
: false_type
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp>
#if __has_feature(has_nothrow_constructor) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_constructor(_Tp)>
#else
# 3044 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3046 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp&&>
#else
# 3053 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp>
#endif
# 3055 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_copy(_Tp)>
#else
# 3058 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3060 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, const _Tp&>
#if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_copy(_Tp)>
#else
# 3068 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3070 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp&>
#if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_copy(_Tp)>
#else
# 3078 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3080 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
#endif // __has_feature(cxx_noexcept)
# 3084 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#else // _LIBCPP_HAS_NO_VARIADICS
# 3086 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class _A0 = __is_construct::__nat,
class _A1 = __is_construct::__nat>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible
: false_type
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, __is_construct::__nat,
__is_construct::__nat>
#if __has_feature(has_nothrow_constructor) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_constructor(_Tp)>
#else
# 3100 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3102 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp,
__is_construct::__nat>
#if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_copy(_Tp)>
#else
# 3111 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3113 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, const _Tp&,
__is_construct::__nat>
#if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_copy(_Tp)>
#else
# 3122 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3124 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp&,
__is_construct::__nat>
#if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_copy(_Tp)>
#else
# 3133 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value>
#endif
# 3135 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{
};
#endif // _LIBCPP_HAS_NO_VARIADICS
# 3139 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // __has_feature(is_nothrow_constructible)
# 3140 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_nothrow_default_constructible
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_default_constructible
: public is_nothrow_constructible<_Tp>
{};
// is_nothrow_copy_constructible
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_copy_constructible
: public is_nothrow_constructible<_Tp,
typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
// is_nothrow_move_constructible
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_constructible
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
: public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type>
#else
# 3159 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: public is_nothrow_copy_constructible<_Tp>
#endif
# 3161 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_nothrow_assignable
#if __has_feature(cxx_noexcept) || (_GNUC_VER >= 407 && __cplusplus >= 201103L)
template <bool, class _Tp, class _Arg> struct __libcpp_is_nothrow_assignable;
template <class _Tp, class _Arg>
struct __libcpp_is_nothrow_assignable<false, _Tp, _Arg>
: public false_type
{
};
template <class _Tp, class _Arg>
struct __libcpp_is_nothrow_assignable<true, _Tp, _Arg>
: public integral_constant<bool, noexcept(_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>()) >
{
};
template <class _Tp, class _Arg>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable
: public __libcpp_is_nothrow_assignable<is_assignable<_Tp, _Arg>::value, _Tp, _Arg>
{
};
#else // __has_feature(cxx_noexcept)
# 3188 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, class _Arg>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable
: public false_type {};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable<_Tp&, _Tp>
#if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_assign(_Tp)> {};
#else
# 3198 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value> {};
#endif
# 3200 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable<_Tp&, _Tp&>
#if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_assign(_Tp)> {};
#else
# 3206 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value> {};
#endif
# 3208 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable<_Tp&, const _Tp&>
#if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_assign(_Tp)> {};
#else
# 3214 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value> {};
#endif
# 3216 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
struct is_nothrow_assignable<_Tp&, _Tp&&>
#if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403)
: integral_constant<bool, __has_nothrow_assign(_Tp)> {};
#else
# 3224 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<_Tp>::value> {};
#endif
# 3226 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 3228 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // __has_feature(cxx_noexcept)
# 3230 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_nothrow_copy_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_copy_assignable
: public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
typename add_lvalue_reference<typename add_const<_Tp>::type>::type> {};
// is_nothrow_move_assignable
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_assignable
: public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
typename add_rvalue_reference<_Tp>::type>
#else
# 3244 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
typename add_lvalue_reference<_Tp>::type>
#endif
# 3246 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_nothrow_destructible
#if __has_feature(cxx_noexcept) || (_GNUC_VER >= 407 && __cplusplus >= 201103L)
template <bool, class _Tp> struct __libcpp_is_nothrow_destructible;
template <class _Tp>
struct __libcpp_is_nothrow_destructible<false, _Tp>
: public false_type
{
};
template <class _Tp>
struct __libcpp_is_nothrow_destructible<true, _Tp>
: public integral_constant<bool, noexcept(_VSTD::declval<_Tp>().~_Tp()) >
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible
: public __libcpp_is_nothrow_destructible<is_destructible<_Tp>::value, _Tp>
{
};
template <class _Tp, size_t _Ns>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp[_Ns]>
: public is_nothrow_destructible<_Tp>
{
};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp&>
: public true_type
{
};
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp&&>
: public true_type
{
};
#endif
# 3293 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#else
# 3295 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct __libcpp_nothrow_destructor
: public integral_constant<bool, is_scalar<_Tp>::value ||
is_reference<_Tp>::value> {};
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible
: public __libcpp_nothrow_destructor<typename remove_all_extents<_Tp>::type> {};
template <class _Tp>
struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp[]>
: public false_type {};
#endif
# 3308 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_pod
#if __has_feature(is_pod) || (_GNUC_VER >= 403)
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_pod
: public integral_constant<bool, __is_pod(_Tp)> {};
#else
# 3317 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_pod
: public integral_constant<bool, is_trivially_default_constructible<_Tp>::value &&
is_trivially_copy_constructible<_Tp>::value &&
is_trivially_copy_assignable<_Tp>::value &&
is_trivially_destructible<_Tp>::value> {};
#endif
# 3325 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
// is_literal_type;
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_literal_type
#ifdef _LIBCPP_IS_LITERAL
: public integral_constant<bool, _LIBCPP_IS_LITERAL(_Tp)>
#else
# 3332 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<typename remove_all_extents<_Tp>::type>::value ||
is_reference<typename remove_all_extents<_Tp>::type>::value>
#endif
# 3335 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_standard_layout;
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_standard_layout
#if __has_feature(is_standard_layout) || (_GNUC_VER >= 407)
: public integral_constant<bool, __is_standard_layout(_Tp)>
#else
# 3343 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<typename remove_all_extents<_Tp>::type>::value>
#endif
# 3345 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_trivially_copyable;
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_copyable
#if __has_feature(is_trivially_copyable)
: public integral_constant<bool, __is_trivially_copyable(_Tp)>
#elif _GNUC_VER >= 501
# 3353 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: public integral_constant<bool, !is_volatile<_Tp>::value && __is_trivially_copyable(_Tp)>
#else
# 3355 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_scalar<typename remove_all_extents<_Tp>::type>::value>
#endif
# 3357 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
// is_trivial;
template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivial
#if __has_feature(is_trivial) || _GNUC_VER >= 407
: public integral_constant<bool, __is_trivial(_Tp)>
#else
# 3365 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
: integral_constant<bool, is_trivially_copyable<_Tp>::value &&
is_trivially_default_constructible<_Tp>::value>
#endif
# 3368 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
{};
#ifndef _LIBCPP_HAS_NO_VARIADICS
// Check for complete types
template <class ..._Tp> struct __check_complete;
template <>
struct __check_complete<>
{
};
template <class _Hp, class _T0, class ..._Tp>
struct __check_complete<_Hp, _T0, _Tp...>
: private __check_complete<_Hp>,
private __check_complete<_T0, _Tp...>
{
};
template <class _Hp>
struct __check_complete<_Hp, _Hp>
: private __check_complete<_Hp>
{
};
template <class _Tp>
struct __check_complete<_Tp>
{
static_assert(sizeof(_Tp) > 0, "Type must be complete.");
};
template <class _Tp>
struct __check_complete<_Tp&>
: private __check_complete<_Tp>
{
};
template <class _Tp>
struct __check_complete<_Tp&&>
: private __check_complete<_Tp>
{
};
template <class _Rp, class ..._Param>
struct __check_complete<_Rp (*)(_Param...)>
: private __check_complete<_Rp>
{
};
template <class ..._Param>
struct __check_complete<void (*)(_Param...)>
{
};
template <class _Rp, class ..._Param>
struct __check_complete<_Rp (_Param...)>
: private __check_complete<_Rp>
{
};
template <class ..._Param>
struct __check_complete<void (_Param...)>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...)>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) const>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) volatile>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) const volatile>
: private __check_complete<_Class>
{
};
#if __has_feature(cxx_reference_qualified_functions)
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) &>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) const&>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) volatile&>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) const volatile&>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) &&>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) const&&>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) volatile&&>
: private __check_complete<_Class>
{
};
template <class _Rp, class _Class, class ..._Param>
struct __check_complete<_Rp (_Class::*)(_Param...) const volatile&&>
: private __check_complete<_Class>
{
};
#endif
# 3509 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Rp, class _Class>
struct __check_complete<_Rp _Class::*>
: private __check_complete<_Class>
{
};
// __invoke forward declarations
// fall back - none of the bullets
template <class ..._Args>
auto
__invoke(__any, _Args&& ...__args)
-> __nat;
// bullets 1 and 2
template <class _Fp, class _A0, class ..._Args,
class = typename enable_if
<
is_member_function_pointer<typename remove_reference<_Fp>::type>::value &&
is_base_of<typename remove_reference<typename __member_pointer_traits<typename remove_reference<_Fp>::type>::_ClassType>::type,
typename remove_reference<_A0>::type>::value
>::type
>
_LIBCPP_INLINE_VISIBILITY
auto
__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-> decltype((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__args)...));
template <class _Fp, class _A0, class ..._Args,
class = typename enable_if
<
is_member_function_pointer<typename remove_reference<_Fp>::type>::value &&
!is_base_of<typename remove_reference<typename __member_pointer_traits<typename remove_reference<_Fp>::type>::_ClassType>::type,
typename remove_reference<_A0>::type>::value
>::type
>
_LIBCPP_INLINE_VISIBILITY
auto
__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-> decltype(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(__args)...));
// bullets 3 and 4
template <class _Fp, class _A0,
class = typename enable_if
<
is_member_object_pointer<typename remove_reference<_Fp>::type>::value &&
is_base_of<typename __member_pointer_traits<typename remove_reference<_Fp>::type>::_ClassType,
typename remove_reference<_A0>::type>::value
>::type
>
_LIBCPP_INLINE_VISIBILITY
auto
__invoke(_Fp&& __f, _A0&& __a0)
-> decltype(_VSTD::forward<_A0>(__a0).*__f);
template <class _Fp, class _A0,
class = typename enable_if
<
is_member_object_pointer<typename remove_reference<_Fp>::type>::value &&
!is_base_of<typename __member_pointer_traits<typename remove_reference<_Fp>::type>::_ClassType,
typename remove_reference<_A0>::type>::value
>::type
>
_LIBCPP_INLINE_VISIBILITY
auto
__invoke(_Fp&& __f, _A0&& __a0)
-> decltype((*_VSTD::forward<_A0>(__a0)).*__f);
// bullet 5
template <class _Fp, class ..._Args>
_LIBCPP_INLINE_VISIBILITY
auto
__invoke(_Fp&& __f, _Args&& ...__args)
-> decltype(_VSTD::forward<_Fp>(__f)(_VSTD::forward<_Args>(__args)...));
// __invokable
template <class _Fp, class ..._Args>
struct __invokable_imp
: private __check_complete<_Fp>
{
typedef decltype(
__invoke(_VSTD::declval<_Fp>(), _VSTD::declval<_Args>()...)
) type;
static const bool value = !is_same<type, __nat>::value;
};
template <class _Fp, class ..._Args>
struct __invokable
: public integral_constant<bool,
__invokable_imp<_Fp, _Args...>::value>
{
};
// __invoke_of
template <bool _Invokable, class _Fp, class ..._Args>
struct __invoke_of_imp // false
{
};
template <class _Fp, class ..._Args>
struct __invoke_of_imp<true, _Fp, _Args...>
{
typedef typename __invokable_imp<_Fp, _Args...>::type type;
};
template <class _Fp, class ..._Args>
struct __invoke_of
: public __invoke_of_imp<__invokable<_Fp, _Args...>::value, _Fp, _Args...>
{
};
template <class _Fp, class ..._Args>
class _LIBCPP_TYPE_VIS_ONLY result_of<_Fp(_Args...)>
: public __invoke_of<_Fp, _Args...>
{
};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using result_of_t = typename result_of<_Tp>::type;
#endif
# 3636 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#endif // _LIBCPP_HAS_NO_VARIADICS
# 3638 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
typename enable_if
<
is_move_constructible<_Tp>::value &&
is_move_assignable<_Tp>::value
>::type
#else
# 3648 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
void
#endif
# 3650 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value &&
is_nothrow_move_assignable<_Tp>::value)
{
_Tp __t(_VSTD::move(__x));
__x = _VSTD::move(__y);
__y = _VSTD::move(__t);
}
template <class _ForwardIterator1, class _ForwardIterator2>
inline _LIBCPP_INLINE_VISIBILITY
void
iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
// _NOEXCEPT_(_NOEXCEPT_(swap(*__a, *__b)))
_NOEXCEPT_(_NOEXCEPT_(swap(*_VSTD::declval<_ForwardIterator1>(),
*_VSTD::declval<_ForwardIterator2>())))
{
swap(*__a, *__b);
}
// __swappable
namespace __detail
{
using _VSTD::swap;
__nat swap(__any, __any);
template <class _Tp>
struct __swappable
{
typedef decltype(swap(_VSTD::declval<_Tp&>(), _VSTD::declval<_Tp&>())) type;
static const bool value = !is_same<type, __nat>::value;
};
} // __detail
template <class _Tp>
struct __is_swappable
: public integral_constant<bool, __detail::__swappable<_Tp>::value>
{
};
#if __has_feature(cxx_noexcept) || (_GNUC_VER >= 407 && __cplusplus >= 201103L)
template <bool, class _Tp>
struct __is_nothrow_swappable_imp
: public integral_constant<bool, noexcept(swap(_VSTD::declval<_Tp&>(),
_VSTD::declval<_Tp&>()))>
{
};
template <class _Tp>
struct __is_nothrow_swappable_imp<false, _Tp>
: public false_type
{
};
template <class _Tp>
struct __is_nothrow_swappable
: public __is_nothrow_swappable_imp<__is_swappable<_Tp>::value, _Tp>
{
};
#else // __has_feature(cxx_noexcept)
# 3714 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
struct __is_nothrow_swappable
: public false_type
{
};
#endif // __has_feature(cxx_noexcept)
# 3722 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#ifdef _LIBCPP_UNDERLYING_TYPE
template <class _Tp>
struct underlying_type
{
typedef _LIBCPP_UNDERLYING_TYPE(_Tp) type;
};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using underlying_type_t = typename underlying_type<_Tp>::type;
#endif
# 3734 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#else // _LIBCPP_UNDERLYING_TYPE
# 3736 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, bool _Support = false>
struct underlying_type
{
static_assert(_Support, "The underyling_type trait requires compiler "
"support. Either no such support exists or "
"libc++ does not know how to use it.");
};
#endif // _LIBCPP_UNDERLYING_TYPE
# 3746 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp, bool = std::is_enum<_Tp>::value>
struct __sfinae_underlying_type
{
typedef typename underlying_type<_Tp>::type type;
typedef decltype(((type)1) + 0) __promoted_type;
};
template <class _Tp>
struct __sfinae_underlying_type<_Tp, false> {};
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
int __convert_to_integral(int __val) { return __val; }
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
unsigned __convert_to_integral(unsigned __val) { return __val; }
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
long __convert_to_integral(long __val) { return __val; }
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
unsigned long __convert_to_integral(unsigned long __val) { return __val; }
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
long long __convert_to_integral(long long __val) { return __val; }
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
unsigned long long __convert_to_integral(unsigned long long __val) {return __val; }
#ifndef _LIBCPP_HAS_NO_INT128
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
__int128_t __convert_to_integral(__int128_t __val) { return __val; }
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
__uint128_t __convert_to_integral(__uint128_t __val) { return __val; }
#endif
# 3783 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_ALWAYS_INLINE
typename __sfinae_underlying_type<_Tp>::__promoted_type
__convert_to_integral(_Tp __val) { return __val; }
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
template <class _Tp>
struct __has_operator_addressof_member_imp
{
template <class _Up>
static auto __test(int)
-> typename __select_2nd<decltype(_VSTD::declval<_Up>().operator&()), true_type>::type;
template <class>
static auto __test(long) -> false_type;
static const bool value = decltype(__test<_Tp>(0))::value;
};
template <class _Tp>
struct __has_operator_addressof_free_imp
{
template <class _Up>
static auto __test(int)
-> typename __select_2nd<decltype(operator&(_VSTD::declval<_Up>())), true_type>::type;
template <class>
static auto __test(long) -> false_type;
static const bool value = decltype(__test<_Tp>(0))::value;
};
template <class _Tp>
struct __has_operator_addressof
: public integral_constant<bool, __has_operator_addressof_member_imp<_Tp>::value
|| __has_operator_addressof_free_imp<_Tp>::value>
{};
#endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE
# 3822 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
#if _LIBCPP_STD_VER > 14
template <class...> using void_t = void;
#endif
# 3826 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_TYPE_TRAITS
# 3830 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/type_traits" 3
# 245 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <stdexcept>
#endif /* expanded by -frewrite-includes */
# 245 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 1 3
// -*- C++ -*-
//===--------------------------- stdexcept --------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_STDEXCEPT
#define _LIBCPP_STDEXCEPT
/*
stdexcept synopsis
namespace std
{
class logic_error;
class domain_error;
class invalid_argument;
class length_error;
class out_of_range;
class runtime_error;
class range_error;
class overflow_error;
class underflow_error;
for each class xxx_error:
class xxx_error : public exception // at least indirectly
{
public:
explicit xxx_error(const string& what_arg);
explicit xxx_error(const char* what_arg);
virtual const char* what() const noexcept // returns what_arg
};
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 45 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
# 46 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
#if 0 /* expanded by -frewrite-includes */
#include <exception>
#endif /* expanded by -frewrite-includes */
# 46 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 1 3
// -*- C++ -*-
//===-------------------------- exception ---------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_EXCEPTION
#define _LIBCPP_EXCEPTION
/*
exception synopsis
namespace std
{
class exception
{
public:
exception() noexcept;
exception(const exception&) noexcept;
exception& operator=(const exception&) noexcept;
virtual ~exception() noexcept;
virtual const char* what() const noexcept;
};
class bad_exception
: public exception
{
public:
bad_exception() noexcept;
bad_exception(const bad_exception&) noexcept;
bad_exception& operator=(const bad_exception&) noexcept;
virtual ~bad_exception() noexcept;
virtual const char* what() const noexcept;
};
typedef void (*unexpected_handler)();
unexpected_handler set_unexpected(unexpected_handler f ) noexcept;
unexpected_handler get_unexpected() noexcept;
[[noreturn]] void unexpected();
typedef void (*terminate_handler)();
terminate_handler set_terminate(terminate_handler f ) noexcept;
terminate_handler get_terminate() noexcept;
[[noreturn]] void terminate() noexcept;
bool uncaught_exception() noexcept;
int uncaught_exceptions() noexcept; // C++17
typedef unspecified exception_ptr;
exception_ptr current_exception() noexcept;
void rethrow_exception [[noreturn]] (exception_ptr p);
template<class E> exception_ptr make_exception_ptr(E e) noexcept;
class nested_exception
{
public:
nested_exception() noexcept;
nested_exception(const nested_exception&) noexcept = default;
nested_exception& operator=(const nested_exception&) noexcept = default;
virtual ~nested_exception() = default;
// access functions
[[noreturn]] void rethrow_nested() const;
exception_ptr nested_ptr() const noexcept;
};
template <class T> [[noreturn]] void throw_with_nested(T&& t);
template <class E> void rethrow_if_nested(const E& e);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 80 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
# 81 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
#if 0 /* expanded by -frewrite-includes */
#include <cstddef>
#endif /* expanded by -frewrite-includes */
# 81 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
# 82 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
#if 0 /* expanded by -frewrite-includes */
#include <type_traits>
#endif /* expanded by -frewrite-includes */
# 82 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
# 83 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 86 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
#endif
# 87 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
namespace std // purposefully not using versioning namespace
{
class _LIBCPP_EXCEPTION_ABI exception
{
public:
_LIBCPP_INLINE_VISIBILITY exception() _NOEXCEPT {}
virtual ~exception() _NOEXCEPT;
virtual const char* what() const _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI bad_exception
: public exception
{
public:
_LIBCPP_INLINE_VISIBILITY bad_exception() _NOEXCEPT {}
virtual ~bad_exception() _NOEXCEPT;
virtual const char* what() const _NOEXCEPT;
};
typedef void (*unexpected_handler)();
_LIBCPP_FUNC_VIS unexpected_handler set_unexpected(unexpected_handler) _NOEXCEPT;
_LIBCPP_FUNC_VIS unexpected_handler get_unexpected() _NOEXCEPT;
_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void unexpected();
typedef void (*terminate_handler)();
_LIBCPP_FUNC_VIS terminate_handler set_terminate(terminate_handler) _NOEXCEPT;
_LIBCPP_FUNC_VIS terminate_handler get_terminate() _NOEXCEPT;
_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void terminate() _NOEXCEPT;
_LIBCPP_FUNC_VIS bool uncaught_exception() _NOEXCEPT;
_LIBCPP_FUNC_VIS int uncaught_exceptions() _NOEXCEPT;
class _LIBCPP_TYPE_VIS exception_ptr;
_LIBCPP_FUNC_VIS exception_ptr current_exception() _NOEXCEPT;
_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void rethrow_exception(exception_ptr);
class _LIBCPP_TYPE_VIS exception_ptr
{
void* __ptr_;
public:
_LIBCPP_INLINE_VISIBILITY exception_ptr() _NOEXCEPT : __ptr_() {}
_LIBCPP_INLINE_VISIBILITY exception_ptr(nullptr_t) _NOEXCEPT : __ptr_() {}
exception_ptr(const exception_ptr&) _NOEXCEPT;
exception_ptr& operator=(const exception_ptr&) _NOEXCEPT;
~exception_ptr() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_EXPLICIT
operator bool() const _NOEXCEPT {return __ptr_ != nullptr;}
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT
{return __x.__ptr_ == __y.__ptr_;}
friend _LIBCPP_INLINE_VISIBILITY
bool operator!=(const exception_ptr& __x, const exception_ptr& __y) _NOEXCEPT
{return !(__x == __y);}
friend _LIBCPP_FUNC_VIS exception_ptr current_exception() _NOEXCEPT;
friend _LIBCPP_FUNC_VIS void rethrow_exception(exception_ptr);
};
template<class _Ep>
exception_ptr
make_exception_ptr(_Ep __e) _NOEXCEPT
{
#ifndef _LIBCPP_NO_EXCEPTIONS
try
{
throw __e;
}
catch (...)
{
return current_exception();
}
#endif // _LIBCPP_NO_EXCEPTIONS
# 165 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
}
// nested_exception
class _LIBCPP_EXCEPTION_ABI nested_exception
{
exception_ptr __ptr_;
public:
nested_exception() _NOEXCEPT;
// nested_exception(const nested_exception&) noexcept = default;
// nested_exception& operator=(const nested_exception&) noexcept = default;
virtual ~nested_exception() _NOEXCEPT;
// access functions
_LIBCPP_NORETURN void rethrow_nested() const;
_LIBCPP_INLINE_VISIBILITY exception_ptr nested_ptr() const _NOEXCEPT {return __ptr_;}
};
template <class _Tp>
struct __nested
: public _Tp,
public nested_exception
{
_LIBCPP_INLINE_VISIBILITY explicit __nested(const _Tp& __t) : _Tp(__t) {}
};
template <class _Tp>
_LIBCPP_NORETURN
void
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
throw_with_nested(_Tp&& __t, typename enable_if<
is_class<typename remove_reference<_Tp>::type>::value &&
!is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
&& !__libcpp_is_final<typename remove_reference<_Tp>::type>::value
>::type* = 0)
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 201 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
throw_with_nested (_Tp& __t, typename enable_if<
is_class<_Tp>::value && !is_base_of<nested_exception, _Tp>::value
>::type* = 0)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 205 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
{
#ifndef _LIBCPP_NO_EXCEPTIONS
throw __nested<typename remove_reference<_Tp>::type>(_VSTD::forward<_Tp>(__t));
#endif
# 209 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
}
template <class _Tp>
_LIBCPP_NORETURN
void
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
throw_with_nested(_Tp&& __t, typename enable_if<
!is_class<typename remove_reference<_Tp>::type>::value ||
is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
|| __libcpp_is_final<typename remove_reference<_Tp>::type>::value
>::type* = 0)
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 221 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
throw_with_nested (_Tp& __t, typename enable_if<
!is_class<_Tp>::value || is_base_of<nested_exception, _Tp>::value
>::type* = 0)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
# 225 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
{
#ifndef _LIBCPP_NO_EXCEPTIONS
throw _VSTD::forward<_Tp>(__t);
#endif
# 229 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
}
template <class _Ep>
inline _LIBCPP_INLINE_VISIBILITY
void
rethrow_if_nested(const _Ep& __e, typename enable_if<
is_polymorphic<_Ep>::value
>::type* = 0)
{
const nested_exception* __nep = dynamic_cast<const nested_exception*>(&__e);
if (__nep)
__nep->rethrow_nested();
}
template <class _Ep>
inline _LIBCPP_INLINE_VISIBILITY
void
rethrow_if_nested(const _Ep&, typename enable_if<
!is_polymorphic<_Ep>::value
>::type* = 0)
{
}
} // std
#endif // _LIBCPP_EXCEPTION
# 255 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/exception" 3
# 47 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <iosfwd> // for string forward decl
#endif /* expanded by -frewrite-includes */
# 47 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 1 3
// -*- C++ -*-
//===--------------------------- iosfwd -----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_IOSFWD
#define _LIBCPP_IOSFWD
/*
iosfwd synopsis
namespace std
{
template<class charT> struct char_traits;
template<class T> class allocator;
class ios_base;
template <class charT, class traits = char_traits<charT> > class basic_ios;
template <class charT, class traits = char_traits<charT> > class basic_streambuf;
template <class charT, class traits = char_traits<charT> > class basic_istream;
template <class charT, class traits = char_traits<charT> > class basic_ostream;
template <class charT, class traits = char_traits<charT> > class basic_iostream;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_stringbuf;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_istringstream;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_ostringstream;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_stringstream;
template <class charT, class traits = char_traits<charT> > class basic_filebuf;
template <class charT, class traits = char_traits<charT> > class basic_ifstream;
template <class charT, class traits = char_traits<charT> > class basic_ofstream;
template <class charT, class traits = char_traits<charT> > class basic_fstream;
template <class charT, class traits = char_traits<charT> > class istreambuf_iterator;
template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator;
typedef basic_ios<char> ios;
typedef basic_ios<wchar_t> wios;
typedef basic_streambuf<char> streambuf;
typedef basic_istream<char> istream;
typedef basic_ostream<char> ostream;
typedef basic_iostream<char> iostream;
typedef basic_stringbuf<char> stringbuf;
typedef basic_istringstream<char> istringstream;
typedef basic_ostringstream<char> ostringstream;
typedef basic_stringstream<char> stringstream;
typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream;
typedef basic_fstream<char> fstream;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_istream<wchar_t> wistream;
typedef basic_ostream<wchar_t> wostream;
typedef basic_iostream<wchar_t> wiostream;
typedef basic_stringbuf<wchar_t> wstringbuf;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_stringstream<wchar_t> wstringstream;
typedef basic_filebuf<wchar_t> wfilebuf;
typedef basic_ifstream<wchar_t> wifstream;
typedef basic_ofstream<wchar_t> wofstream;
typedef basic_fstream<wchar_t> wfstream;
template <class state> class fpos;
typedef fpos<char_traits<char>::state_type> streampos;
typedef fpos<char_traits<wchar_t>::state_type> wstreampos;
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 89 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
# 90 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
#if 0 /* expanded by -frewrite-includes */
#include <wchar.h> // for mbstate_t
#endif /* expanded by -frewrite-includes */
# 90 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 1 3
/* Copyright (C) 1995-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.24
* Extended multibyte and wide character utilities <wchar.h>
*/
#ifndef _WCHAR_H
#if !defined __need_mbstate_t && !defined __need_wint_t
# define _WCHAR_H 1
#if 0 /* expanded by -frewrite-includes */
# include <features.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 29 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef _WCHAR_H
/* Get FILE definition. */
# define __need___FILE
# if defined __USE_UNIX98 || defined __USE_XOPEN2K
# define __need_FILE
# endif
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 1 3
/* Define ISO C stdio on top of C++ iostreams.
Copyright (C) 1991, 1994-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.19 Input/output <stdio.h>
*/
#ifndef _STDIO_H
#if !defined __need_FILE && !defined __need___FILE
# define _STDIO_H 1
#if 0 /* expanded by -frewrite-includes */
# include <features.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_DECLS
# define __need_size_t
# define __need_NULL
#if 0 /* expanded by -frewrite-includes */
# include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 34 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <bits/types.h>
#endif /* expanded by -frewrite-includes */
# 35 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define __need_FILE
# define __need___FILE
#endif /* Don't need FILE. */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if !defined __FILE_defined && defined __need_FILE
/* Define outside of namespace so the C++ is happy. */
struct _IO_FILE;
__BEGIN_NAMESPACE_STD
/* The opaque type of streams. This is the definition used elsewhere. */
typedef struct _IO_FILE FILE;
__END_NAMESPACE_STD
#if defined __USE_LARGEFILE64 || defined __USE_SVID || defined __USE_POSIX \
|| defined __USE_BSD || defined __USE_ISOC99 || defined __USE_XOPEN \
|| defined __USE_POSIX2
__USING_NAMESPACE_STD(FILE)
#endif
# 55 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define __FILE_defined 1
#endif /* FILE not defined. */
# 58 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#undef __need_FILE
#if !defined ____FILE_defined && defined __need___FILE
/* The opaque type of streams. This is the definition used elsewhere. */
typedef struct _IO_FILE __FILE;
# define ____FILE_defined 1
#endif /* __FILE not defined. */
# 68 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#undef __need___FILE
#ifdef _STDIO_H
#define _STDIO_USES_IOSTREAM
#if 0 /* expanded by -frewrite-includes */
#include <libio.h>
#endif /* expanded by -frewrite-includes */
# 74 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 75 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_XOPEN || defined __USE_XOPEN2K8
# ifdef __GNUC__
# ifndef _VA_LIST_DEFINED
typedef _G_va_list va_list;
# define _VA_LIST_DEFINED
# endif
# 82 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# else
# 83 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <stdarg.h>
#endif /* expanded by -frewrite-includes */
# 83 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 84 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# endif
# 85 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 86 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
# ifndef __off_t_defined
# ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
# else
# 92 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
typedef __off64_t off_t;
# endif
# 94 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define __off_t_defined
# endif
# 96 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# if defined __USE_LARGEFILE64 && !defined __off64_t_defined
typedef __off64_t off64_t;
# define __off64_t_defined
# endif
# 100 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifndef __ssize_t_defined
typedef __ssize_t ssize_t;
# define __ssize_t_defined
# endif
# 105 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 106 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* The type of the second argument to `fgetpos' and `fsetpos'. */
__BEGIN_NAMESPACE_STD
#ifndef __USE_FILE_OFFSET64
typedef _G_fpos_t fpos_t;
#else
# 112 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
typedef _G_fpos64_t fpos_t;
#endif
# 114 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_LARGEFILE64
typedef _G_fpos64_t fpos64_t;
#endif
# 118 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* The possibilities for the third argument to `setvbuf'. */
#define _IOFBF 0 /* Fully buffered. */
#define _IOLBF 1 /* Line buffered. */
#define _IONBF 2 /* No buffering. */
/* Default buffer size. */
#ifndef BUFSIZ
# define BUFSIZ _IO_BUFSIZ
#endif
# 129 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* End of file character.
Some things throughout the library rely on this being -1. */
#ifndef EOF
# define EOF (-1)
#endif
# 136 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* The possibilities for the third argument to `fseek'.
These values should not be changed. */
#define SEEK_SET 0 /* Seek from beginning of file. */
#define SEEK_CUR 1 /* Seek from current position. */
#define SEEK_END 2 /* Seek from end of file. */
#ifdef __USE_GNU
# define SEEK_DATA 3 /* Seek to next data. */
# define SEEK_HOLE 4 /* Seek to next hole. */
#endif
# 147 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_SVID || defined __USE_XOPEN
/* Default path prefix for `tempnam' and `tmpnam'. */
# define P_tmpdir "/tmp"
#endif
# 153 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* Get the values:
L_tmpnam How long an array of chars must be to be passed to `tmpnam'.
TMP_MAX The minimum number of unique filenames generated by tmpnam
(and tempnam when it uses tmpnam's name space),
or tempnam (the two are separate).
L_ctermid How long an array to pass to `ctermid'.
L_cuserid How long an array to pass to `cuserid'.
FOPEN_MAX Minimum number of files that can be open at once.
FILENAME_MAX Maximum length of a filename. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/stdio_lim.h>
#endif /* expanded by -frewrite-includes */
# 164 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 165 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* Standard streams. */
extern struct _IO_FILE *stdin; /* Standard input stream. */
extern struct _IO_FILE *stdout; /* Standard output stream. */
extern struct _IO_FILE *stderr; /* Standard error output stream. */
/* C89/C99 say they're macros. Make them happy. */
#define stdin stdin
#define stdout stdout
#define stderr stderr
__BEGIN_NAMESPACE_STD
/* Remove file FILENAME. */
extern int remove (const char *__filename) __THROW;
/* Rename file OLD to NEW. */
extern int rename (const char *__old, const char *__new) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_ATFILE
/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */
extern int renameat (int __oldfd, const char *__old, int __newfd,
const char *__new) __THROW;
#endif
# 188 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Create a temporary file and open it read/write.
This function is a possible cancellation point and therefore not
marked with __THROW. */
#ifndef __USE_FILE_OFFSET64
extern FILE *tmpfile (void) __wur;
#else
# 197 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) __wur;
# else
# 200 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define tmpfile tmpfile64
# endif
# 202 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 203 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_LARGEFILE64
extern FILE *tmpfile64 (void) __wur;
#endif
# 207 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* Generate a temporary filename. */
extern char *tmpnam (char *__s) __THROW __wur;
__END_NAMESPACE_STD
#ifdef __USE_MISC
/* This is the reentrant variant of `tmpnam'. The only difference is
that it does not allow S to be NULL. */
extern char *tmpnam_r (char *__s) __THROW __wur;
#endif
# 217 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_SVID || defined __USE_XOPEN
/* Generate a unique temporary filename using up to five characters of PFX
if it is not NULL. The directory to put this file in is searched for
as follows: First the environment variable "TMPDIR" is checked.
If it contains the name of a writable directory, that directory is used.
If not and if DIR is not NULL, that value is checked. If that fails,
P_tmpdir is tried and finally "/tmp". The storage for the filename
is allocated by `malloc'. */
extern char *tempnam (const char *__dir, const char *__pfx)
__THROW __attribute_malloc__ __wur;
#endif
# 230 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Close STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fclose (FILE *__stream);
/* Flush STREAM, or all streams if STREAM is NULL.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fflush (FILE *__stream);
__END_NAMESPACE_STD
#ifdef __USE_MISC
/* Faster versions when locking is not required.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fflush_unlocked (FILE *__stream);
#endif
# 254 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
/* Close all streams.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fcloseall (void);
#endif
# 264 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
#ifndef __USE_FILE_OFFSET64
/* Open a file and create a new stream for it.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern FILE *fopen (const char *__restrict __filename,
const char *__restrict __modes) __wur;
/* Open a file, replacing an existing stream with it.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern FILE *freopen (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) __wur;
#else
# 282 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern FILE *__REDIRECT (fopen, (const char *__restrict __filename,
const char *__restrict __modes), fopen64)
__wur;
extern FILE *__REDIRECT (freopen, (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream), freopen64)
__wur;
# else
# 291 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define fopen fopen64
# define freopen freopen64
# endif
# 294 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_LARGEFILE64
extern FILE *fopen64 (const char *__restrict __filename,
const char *__restrict __modes) __wur;
extern FILE *freopen64 (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) __wur;
#endif
# 303 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_POSIX
/* Create a new stream that refers to an existing system file descriptor. */
extern FILE *fdopen (int __fd, const char *__modes) __THROW __wur;
#endif
# 308 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
/* Create a new stream that refers to the given magic cookie,
and uses the given functions for input and output. */
extern FILE *fopencookie (void *__restrict __magic_cookie,
const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) __THROW __wur;
#endif
# 316 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
/* Create a new stream that refers to a memory buffer. */
extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
__THROW __wur;
/* Open a stream that writes into a malloc'd buffer that is expanded as
necessary. *BUFLOC and *SIZELOC are updated with the buffer's location
and the number of characters written on fflush or fclose. */
extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW __wur;
#endif
# 327 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* If BUF is NULL, make STREAM unbuffered.
Else make it use buffer BUF, of size BUFSIZ. */
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW;
/* Make STREAM use buffering mode MODE.
If BUF is not NULL, use N bytes of it for buffering;
else allocate an internal buffer N bytes long. */
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_BSD
/* If BUF is NULL, make STREAM unbuffered.
Else make it use SIZE bytes of BUF for buffering. */
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) __THROW;
/* Make STREAM line-buffered. */
extern void setlinebuf (FILE *__stream) __THROW;
#endif
# 349 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Write formatted output to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fprintf (FILE *__restrict __stream,
const char *__restrict __format, ...);
/* Write formatted output to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int printf (const char *__restrict __format, ...);
/* Write formatted output to S. */
extern int sprintf (char *__restrict __s,
const char *__restrict __format, ...) __THROWNL;
/* Write formatted output to S from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
_G_va_list __arg);
/* Write formatted output to stdout from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vprintf (const char *__restrict __format, _G_va_list __arg);
/* Write formatted output to S from argument list ARG. */
extern int vsprintf (char *__restrict __s, const char *__restrict __format,
_G_va_list __arg) __THROWNL;
__END_NAMESPACE_STD
#if defined __USE_BSD || defined __USE_ISOC99 || defined __USE_UNIX98
__BEGIN_NAMESPACE_C99
/* Maximum chars of output to write in MAXLEN. */
extern int snprintf (char *__restrict __s, size_t __maxlen,
const char *__restrict __format, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
const char *__restrict __format, _G_va_list __arg)
__THROWNL __attribute__ ((__format__ (__printf__, 3, 0)));
__END_NAMESPACE_C99
#endif
# 395 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
/* Write formatted output to a string dynamically allocated with `malloc'.
Store the address of the string in *PTR. */
extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
_G_va_list __arg)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur;
extern int __asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
extern int asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
#endif
# 409 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
/* Write formatted output to a file descriptor. */
extern int vdprintf (int __fd, const char *__restrict __fmt,
_G_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
#endif
# 418 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Read formatted input from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fscanf (FILE *__restrict __stream,
const char *__restrict __format, ...) __wur;
/* Read formatted input from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int scanf (const char *__restrict __format, ...) __wur;
/* Read formatted input from S. */
extern int sscanf (const char *__restrict __s,
const char *__restrict __format, ...) __THROW;
#if defined __USE_ISOC99 && !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
GNU extension which conflicts with valid %a followed by letter
s, S or [. */
extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
const char *__restrict __format, ...),
__isoc99_fscanf) __wur;
extern int __REDIRECT (scanf, (const char *__restrict __format, ...),
__isoc99_scanf) __wur;
extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s,
const char *__restrict __format, ...),
__isoc99_sscanf);
# else
# 452 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
extern int __isoc99_fscanf (FILE *__restrict __stream,
const char *__restrict __format, ...) __wur;
extern int __isoc99_scanf (const char *__restrict __format, ...) __wur;
extern int __isoc99_sscanf (const char *__restrict __s,
const char *__restrict __format, ...) __THROW;
# define fscanf __isoc99_fscanf
# define scanf __isoc99_scanf
# define sscanf __isoc99_sscanf
# endif
# 461 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 462 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Read formatted input from S into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
_G_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
/* Read formatted input from stdin into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vscanf (const char *__restrict __format, _G_va_list __arg)
__attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
/* Read formatted input from S into argument list ARG. */
extern int vsscanf (const char *__restrict __s,
const char *__restrict __format, _G_va_list __arg)
__THROW __attribute__ ((__format__ (__scanf__, 2, 0)));
# if !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
GNU extension which conflicts with valid %a followed by letter
s, S or [. */
extern int __REDIRECT (vfscanf,
(FILE *__restrict __s,
const char *__restrict __format, _G_va_list __arg),
__isoc99_vfscanf)
__attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
extern int __REDIRECT (vscanf, (const char *__restrict __format,
_G_va_list __arg), __isoc99_vscanf)
__attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
extern int __REDIRECT_NTH (vsscanf,
(const char *__restrict __s,
const char *__restrict __format,
_G_va_list __arg), __isoc99_vsscanf)
__attribute__ ((__format__ (__scanf__, 2, 0)));
# else
# 508 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
extern int __isoc99_vfscanf (FILE *__restrict __s,
const char *__restrict __format,
_G_va_list __arg) __wur;
extern int __isoc99_vscanf (const char *__restrict __format,
_G_va_list __arg) __wur;
extern int __isoc99_vsscanf (const char *__restrict __s,
const char *__restrict __format,
_G_va_list __arg) __THROW;
# define vfscanf __isoc99_vfscanf
# define vscanf __isoc99_vscanf
# define vsscanf __isoc99_vsscanf
# endif
# 520 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# endif
# 521 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_C99
#endif /* Use ISO C9x. */
# 524 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Read a character from STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
/* Read a character from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int getchar (void);
__END_NAMESPACE_STD
/* The C standard explicitly says this is a macro, so we always do the
optimization for it. */
#define getc(_fp) _IO_getc (_fp)
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
#endif /* Use POSIX or MISC. */
# 553 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_MISC
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fgetc_unlocked (FILE *__stream);
#endif /* Use MISC. */
# 563 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Write a character to STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW.
These functions is a possible cancellation point and therefore not
marked with __THROW. */
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
/* Write a character to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int putchar (int __c);
__END_NAMESPACE_STD
/* The C standard explicitly says this can be a macro,
so we always do the optimization for it. */
#define putc(_ch, _fp) _IO_putc (_ch, _fp)
#ifdef __USE_MISC
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputc_unlocked (int __c, FILE *__stream);
#endif /* Use MISC. */
# 596 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern int putc_unlocked (int __c, FILE *__stream);
extern int putchar_unlocked (int __c);
#endif /* Use POSIX or MISC. */
# 605 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_SVID || defined __USE_MISC \
|| (defined __USE_XOPEN && !defined __USE_XOPEN2K)
/* Get a word (int) from STREAM. */
extern int getw (FILE *__stream);
/* Write a word (int) to STREAM. */
extern int putw (int __w, FILE *__stream);
#endif
# 615 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Get a newline-terminated string of finite length from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
__wur;
#if !defined __USE_ISOC11 \
|| (defined __cplusplus && __cplusplus <= 201103L)
/* Get a newline-terminated string from stdin, removing the newline.
DO NOT USE THIS FUNCTION!! There is no limit on how much it will read.
The function has been officially removed in ISO C11. This opportunity
is used to also remove it from the GNU feature list. It is now only
available when explicitly using an old ISO C, Unix, or POSIX standard.
GCC defines _GNU_SOURCE when building C++ code and the function is still
in C++11, so it is also available for C++.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern char *gets (char *__s) __wur __attribute_deprecated__;
#endif
# 640 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function does the same as `fgets' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) __wur;
#endif
# 652 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR
(and null-terminate it). *LINEPTR is a pointer returned from malloc (or
NULL), pointing to *N characters of space. It is realloc'd as
necessary. Returns the number of characters read (not including the
null terminator), or -1 on error or EOF.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern _IO_ssize_t __getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) __wur;
extern _IO_ssize_t getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) __wur;
/* Like `getdelim', but reads up to a newline.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern _IO_ssize_t getline (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) __wur;
#endif
# 682 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Write a string to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
/* Write a string, followed by a newline, to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int puts (const char *__s);
/* Push a character back onto the input buffer of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int ungetc (int __c, FILE *__stream);
/* Read chunks of generic data from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) __wur;
/* Write chunks of generic data to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern size_t fwrite (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s);
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function does the same as `fputs' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputs_unlocked (const char *__restrict __s,
FILE *__restrict __stream);
#endif
# 729 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_MISC
/* Faster versions when locking is not necessary.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) __wur;
extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream);
#endif
# 742 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Seek to a certain position on STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fseek (FILE *__stream, long int __off, int __whence);
/* Return the current position of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern long int ftell (FILE *__stream) __wur;
/* Rewind to the beginning of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern void rewind (FILE *__stream);
__END_NAMESPACE_STD
/* The Single Unix Specification, Version 2, specifies an alternative,
more adequate interface for the two functions above which deal with
file offset. `long int' is not the right type. These definitions
are originally defined in the Large File Support API. */
#if defined __USE_LARGEFILE || defined __USE_XOPEN2K
# ifndef __USE_FILE_OFFSET64
/* Seek to a certain position on STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
/* Return the current position of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern __off_t ftello (FILE *__stream) __wur;
# else
# 780 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern int __REDIRECT (fseeko,
(FILE *__stream, __off64_t __off, int __whence),
fseeko64);
extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64);
# else
# 786 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define fseeko fseeko64
# define ftello ftello64
# endif
# 789 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# endif
# 790 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 791 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
#ifndef __USE_FILE_OFFSET64
/* Get STREAM's position.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
/* Set STREAM's position.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fsetpos (FILE *__stream, const fpos_t *__pos);
#else
# 805 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern int __REDIRECT (fgetpos, (FILE *__restrict __stream,
fpos_t *__restrict __pos), fgetpos64);
extern int __REDIRECT (fsetpos,
(FILE *__stream, const fpos_t *__pos), fsetpos64);
# else
# 811 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define fgetpos fgetpos64
# define fsetpos fsetpos64
# endif
# 814 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 815 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_LARGEFILE64
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
extern __off64_t ftello64 (FILE *__stream) __wur;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
#endif
# 823 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Clear the error and EOF indicators for STREAM. */
extern void clearerr (FILE *__stream) __THROW;
/* Return the EOF indicator for STREAM. */
extern int feof (FILE *__stream) __THROW __wur;
/* Return the error indicator for STREAM. */
extern int ferror (FILE *__stream) __THROW __wur;
__END_NAMESPACE_STD
#ifdef __USE_MISC
/* Faster versions when locking is not required. */
extern void clearerr_unlocked (FILE *__stream) __THROW;
extern int feof_unlocked (FILE *__stream) __THROW __wur;
extern int ferror_unlocked (FILE *__stream) __THROW __wur;
#endif
# 839 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Print a message describing the meaning of the value of errno.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern void perror (const char *__s);
__END_NAMESPACE_STD
/* Provide the declarations for `sys_errlist' and `sys_nerr' if they
are available on this system. Even if available, these variables
should not be used directly. The `strerror' function provides
all the necessary functionality. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/sys_errlist.h>
#endif /* expanded by -frewrite-includes */
# 853 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 854 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_POSIX
/* Return the system file descriptor for STREAM. */
extern int fileno (FILE *__stream) __THROW __wur;
#endif /* Use POSIX. */
# 860 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_MISC
/* Faster version when locking is not required. */
extern int fileno_unlocked (FILE *__stream) __THROW __wur;
#endif
# 865 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if (defined __USE_POSIX2 || defined __USE_SVID || defined __USE_BSD || \
defined __USE_MISC)
/* Create a new stream connected to a pipe running the given command.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern FILE *popen (const char *__command, const char *__modes) __wur;
/* Close a stream opened by popen and return the status of its child.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int pclose (FILE *__stream);
#endif
# 881 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_POSIX
/* Return the name of the controlling terminal. */
extern char *ctermid (char *__s) __THROW;
#endif /* Use POSIX. */
# 887 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN
/* Return the name of the current user. */
extern char *cuserid (char *__s);
#endif /* Use X/Open, but not issue 6. */
# 893 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
struct obstack; /* See <obstack.h>. */
/* Write formatted output to an obstack. */
extern int obstack_printf (struct obstack *__restrict __obstack,
const char *__restrict __format, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 3)));
extern int obstack_vprintf (struct obstack *__restrict __obstack,
const char *__restrict __format,
_G_va_list __args)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 0)));
#endif /* Use GNU. */
# 907 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996. */
/* Acquire ownership of STREAM. */
extern void flockfile (FILE *__stream) __THROW;
/* Try to acquire ownership of STREAM but do not block if it is not
possible. */
extern int ftrylockfile (FILE *__stream) __THROW __wur;
/* Relinquish the ownership granted for STREAM. */
extern void funlockfile (FILE *__stream) __THROW;
#endif /* POSIX || misc */
# 922 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU
/* The X/Open standard requires some functions and variables to be
declared here which do not belong into this header. But we have to
follow. In GNU mode we don't do this nonsense. */
# define __need_getopt
#if 0 /* expanded by -frewrite-includes */
# include <getopt.h>
#endif /* expanded by -frewrite-includes */
# 928 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 929 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif /* X/Open, but not issue 6 and not for GNU. */
# 930 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* If we are compiling with optimizing read this file. It contains
several optimizing inline functions and macros. */
#ifdef __USE_EXTERN_INLINES
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio.h>
#endif /* expanded by -frewrite-includes */
# 934 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 935 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 936 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio2.h>
#endif /* expanded by -frewrite-includes */
# 937 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 938 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 939 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __LDBL_COMPAT
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio-ldbl.h>
#endif /* expanded by -frewrite-includes */
# 940 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 941 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 942 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_DECLS
#endif /* <stdio.h> included. */
# 946 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif /* !_STDIO_H */
# 948 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 37 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 2 3
/* Get va_list definition. */
# define __need___va_list
#if 0 /* expanded by -frewrite-includes */
# include <stdarg.h>
#endif /* expanded by -frewrite-includes */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stdarg.h" 1 3
/*===---- stdarg.h - Variable argument handling ----------------------------===
*
* Copyright (c) 2008 Eli Friedman
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#ifndef __STDARG_H
#define __STDARG_H
#ifndef _VA_LIST
typedef __builtin_va_list va_list;
#define _VA_LIST
#endif
# 33 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stdarg.h" 3
#define va_start(ap, param) __builtin_va_start(ap, param)
#define va_end(ap) __builtin_va_end(ap)
#define va_arg(ap, type) __builtin_va_arg(ap, type)
/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
* or -ansi is not specified, since it was not part of C90.
*/
#define __va_copy(d,s) __builtin_va_copy(d,s)
#if __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L || !defined(__STRICT_ANSI__)
#define va_copy(dest, src) __builtin_va_copy(dest, src)
#endif
# 45 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stdarg.h" 3
/* Hack required to make standard headers work, at least on Ubuntu */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST 1
#endif
# 50 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
#endif /* __STDARG_H */
# 53 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stdarg.h" 3
# 40 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 2 3
#if 0 /* expanded by -frewrite-includes */
# include <bits/wchar.h>
#endif /* expanded by -frewrite-includes */
# 41 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wchar.h" 1 3
/* wchar_t type related definitions.
Copyright (C) 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _BITS_WCHAR_H
#define _BITS_WCHAR_H 1
#define __WCHAR_MIN (-2147483647 - 1)
#define __WCHAR_MAX (2147483647)
#endif /* bits/wchar.h */
# 26 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wchar.h" 3
# 42 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 2 3
/* Get size_t, wchar_t, wint_t and NULL from <stddef.h>. */
# define __need_size_t
# define __need_wchar_t
# define __need_NULL
#endif
# 48 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if defined _WCHAR_H || defined __need_wint_t || !defined __WINT_TYPE__
# undef __need_wint_t
# define __need_wint_t
#if 0 /* expanded by -frewrite-includes */
# include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 51 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 1 3
/*===---- stddef.h - Basic type definitions --------------------------------===
*
* Copyright (c) 2008 Eli Friedman
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
defined(__need_size_t) || defined(__need_wchar_t) || \
defined(__need_NULL) || defined(__need_wint_t)
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
!defined(__need_wchar_t) && !defined(__need_NULL) && \
!defined(__need_wint_t)
/* Always define miscellaneous pieces when modules are available. */
#if !__has_feature(modules)
#define __STDDEF_H
#endif
# 37 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define __need_ptrdiff_t
#define __need_size_t
#define __need_wchar_t
#define __need_NULL
#define __need_STDDEF_H_misc
/* __need_wint_t is intentionally not defined here. */
#endif
# 44 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_ptrdiff_t)
#if !defined(_PTRDIFF_T) || __has_feature(modules)
/* Always define ptrdiff_t when modules are available. */
#if !__has_feature(modules)
#define _PTRDIFF_T
#endif
# 51 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#endif
# 53 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_ptrdiff_t
#endif /* defined(__need_ptrdiff_t) */
# 55 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_size_t)
#if !defined(_SIZE_T) || __has_feature(modules)
/* Always define size_t when modules are available. */
#if !__has_feature(modules)
#define _SIZE_T
#endif
# 62 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ size_t;
#endif
# 64 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_size_t
#endif /*defined(__need_size_t) */
# 66 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
* enabled. */
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
!defined(_RSIZE_T)) || __has_feature(modules)
/* Always define rsize_t when modules are available. */
#if !__has_feature(modules)
#define _RSIZE_T
#endif
# 76 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ rsize_t;
#endif
# 78 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif /* defined(__need_STDDEF_H_misc) */
# 79 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_wchar_t)
#ifndef __cplusplus
/* Always define wchar_t when modules are available. */
#if !defined(_WCHAR_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WCHAR_T
#if defined(_MSC_EXTENSIONS)
#define _WCHAR_T_DEFINED
#endif
# 89 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 90 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WCHAR_TYPE__ wchar_t;
#endif
# 92 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 93 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wchar_t
#endif /* defined(__need_wchar_t) */
# 95 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_NULL)
#undef NULL
#ifdef __cplusplus
# if !defined(__MINGW32__) && !defined(_MSC_VER)
# define NULL __null
# else
# 102 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL 0
# endif
# 104 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#else
# 105 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL ((void*)0)
#endif
# 107 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#ifdef __cplusplus
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
namespace std { typedef decltype(nullptr) nullptr_t; }
using ::std::nullptr_t;
#endif
# 112 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 113 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_NULL
#endif /* defined(__need_NULL) */
# 115 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
#if 0 /* expanded by -frewrite-includes */
#include "__stddef_max_align_t.h"
#endif /* expanded by -frewrite-includes */
# 118 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 119 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 120 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define offsetof(t, d) __builtin_offsetof(t, d)
#undef __need_STDDEF_H_misc
#endif /* defined(__need_STDDEF_H_misc) */
# 123 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
#if defined(__need_wint_t)
/* Always define wint_t when modules are available. */
#if !defined(_WINT_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WINT_T
#endif
# 132 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WINT_TYPE__ wint_t;
#endif
# 134 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wint_t
#endif /* __need_wint_t */
# 136 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 138 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 52 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 2 3
/* We try to get wint_t from <stddef.h>, but not all GCC versions define it
there. So define it ourselves if it remains undefined. */
# ifndef _WINT_T
/* Integral type unchanged by default argument promotions that can
hold any value corresponding to members of the extended character
set, as well as at least one value that does not correspond to any
member of the extended character set. */
# define _WINT_T
typedef unsigned int wint_t;
# else
# 63 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Work around problems with the <stddef.h> file which doesn't put
wint_t in the std namespace. */
# if defined __cplusplus && defined _GLIBCPP_USE_NAMESPACES \
&& defined __WINT_TYPE__
__BEGIN_NAMESPACE_STD
typedef __WINT_TYPE__ wint_t;
__END_NAMESPACE_STD
# endif
# 71 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# endif
# 72 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Tell the caller that we provide correct C++ prototypes. */
# if defined __cplusplus && __GNUC_PREREQ (4, 4)
# define __CORRECT_ISO_CPP_WCHAR_H_PROTO
# endif
# 77 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 78 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if (defined _WCHAR_H || defined __need_mbstate_t) && !defined ____mbstate_t_defined
# define ____mbstate_t_defined 1
/* Conversion state information. */
typedef struct
{
int __count;
union
{
# ifdef __WINT_TYPE__
__WINT_TYPE__ __wch;
# else
# 90 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
wint_t __wch;
# endif
# 92 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
char __wchb[4];
} __value; /* Value so far. */
} __mbstate_t;
#endif
# 96 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#undef __need_mbstate_t
/* The rest of the file is only used if used if __need_mbstate_t is not
defined. */
#ifdef _WCHAR_H
# ifndef __mbstate_t_defined
__BEGIN_NAMESPACE_C99
/* Public type. */
typedef __mbstate_t mbstate_t;
__END_NAMESPACE_C99
# define __mbstate_t_defined 1
# endif
# 110 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_GNU
__USING_NAMESPACE_C99(mbstate_t)
#endif
# 114 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifndef WCHAR_MIN
/* These constants might also be defined in <inttypes.h>. */
# define WCHAR_MIN __WCHAR_MIN
# define WCHAR_MAX __WCHAR_MAX
#endif
# 120 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifndef WEOF
# define WEOF (0xffffffffu)
#endif
# 124 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* For XPG4 compliance we have to define the stuff from <wctype.h> here
as well. */
#if defined __USE_XOPEN && !defined __USE_UNIX98
#if 0 /* expanded by -frewrite-includes */
# include <wctype.h>
#endif /* expanded by -frewrite-includes */
# 128 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 129 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 130 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_DECLS
__BEGIN_NAMESPACE_STD
/* This incomplete type is defined in <time.h> but needed here because
of `wcsftime'. */
struct tm;
__END_NAMESPACE_STD
/* XXX We have to clean this up at some point. Since tm is in the std
namespace but wcsftime is in __c99 the type wouldn't be found
without inserting it in the global namespace. */
__USING_NAMESPACE_STD(tm)
__BEGIN_NAMESPACE_STD
/* Copy SRC to DEST. */
extern wchar_t *wcscpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
/* Copy no more than N wide-characters of SRC to DEST. */
extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
__THROW;
/* Append SRC onto DEST. */
extern wchar_t *wcscat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
/* Append no more than N wide-characters of SRC onto DEST. */
extern wchar_t *wcsncat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
__THROW;
/* Compare S1 and S2. */
extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
__THROW __attribute_pure__;
/* Compare N wide-characters of S1 and S2. */
extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
__THROW __attribute_pure__;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Compare S1 and S2, ignoring case. */
extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW;
/* Compare no more than N chars of S1 and S2, ignoring case. */
extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
size_t __n) __THROW;
/* Similar to the two functions above but take the information from
the provided locale and not the global locale. */
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 180 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/xlocale.h" 1 3
/* Definition of locale datatype.
Copyright (C) 1997,2000,2002,2009,2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _XLOCALE_H
#define _XLOCALE_H 1
/* Structure for reentrant locale using functions. This is an
(almost) opaque type for the user level programs. The file and
this data structure is not standardized. Don't rely on it. It can
go away without warning. */
typedef struct __locale_struct
{
/* Note: LC_ALL is not a valid index into this array. */
struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */
/* To increase the speed of this solution we add some special members. */
const unsigned short int *__ctype_b;
const int *__ctype_tolower;
const int *__ctype_toupper;
/* Note: LC_ALL is not a valid index into this array. */
const char *__names[13];
} *__locale_t;
/* POSIX 2008 makes locale_t official. */
typedef __locale_t locale_t;
#endif /* xlocale.h */
# 45 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/xlocale.h" 3
# 181 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 2 3
extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
__locale_t __loc) __THROW;
extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW;
#endif
# 188 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Compare S1 and S2, both interpreted as appropriate to the
LC_COLLATE category of the current locale. */
extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __THROW;
/* Transform S2 into array pointed to by S1 such that if wcscmp is
applied to two transformed strings the result is the as applying
`wcscoll' to the original strings. */
extern size_t wcsxfrm (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Similar to the two functions above but take the information from
the provided locale and not the global locale. */
/* Compare S1 and S2, both interpreted as appropriate to the
LC_COLLATE category of the given locale. */
extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
__locale_t __loc) __THROW;
/* Transform S2 into array pointed to by S1 such that if wcscmp is
applied to two transformed strings the result is the as applying
`wcscoll' to the original strings. */
extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW;
/* Duplicate S, returning an identical malloc'd string. */
extern wchar_t *wcsdup (const wchar_t *__s) __THROW __attribute_malloc__;
#endif
# 218 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Find the first occurrence of WC in WCS. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcschr") __attribute_pure__;
extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcschr") __attribute_pure__;
#else
# 227 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
__THROW __attribute_pure__;
#endif
# 230 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Find the last occurrence of WC in WCS. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcsrchr") __attribute_pure__;
extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcsrchr") __attribute_pure__;
#else
# 237 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
__THROW __attribute_pure__;
#endif
# 240 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function is similar to `wcschr'. But it returns a pointer to
the closing NUL wide character in case C is not found in S. */
extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
__THROW __attribute_pure__;
#endif
# 248 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Return the length of the initial segmet of WCS which
consists entirely of wide characters not in REJECT. */
extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
__THROW __attribute_pure__;
/* Return the length of the initial segmet of WCS which
consists entirely of wide characters in ACCEPT. */
extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
__THROW __attribute_pure__;
/* Find the first occurrence in WCS of any character in ACCEPT. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
__THROW __asm ("wcspbrk") __attribute_pure__;
extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
const wchar_t *__accept)
__THROW __asm ("wcspbrk") __attribute_pure__;
#else
# 266 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept)
__THROW __attribute_pure__;
#endif
# 269 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Find the first occurrence of NEEDLE in HAYSTACK. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
__THROW __asm ("wcsstr") __attribute_pure__;
extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
const wchar_t *__needle)
__THROW __asm ("wcsstr") __attribute_pure__;
#else
# 277 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle)
__THROW __attribute_pure__;
#endif
# 280 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Divide WCS into tokens separated by characters in DELIM. */
extern wchar_t *wcstok (wchar_t *__restrict __s,
const wchar_t *__restrict __delim,
wchar_t **__restrict __ptr) __THROW;
/* Return the number of wide characters in S. */
extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN
/* Another name for `wcsstr' from XPG4. */
# ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
__THROW __asm ("wcswcs") __attribute_pure__;
extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
const wchar_t *__needle)
__THROW __asm ("wcswcs") __attribute_pure__;
# else
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle)
__THROW __attribute_pure__;
# endif
# 302 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 303 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_XOPEN2K8
/* Return the number of wide characters in S, but at most MAXLEN. */
extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
__THROW __attribute_pure__;
#endif
# 309 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Search N wide characters of S for C. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
__THROW __asm ("wmemchr") __attribute_pure__;
extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
size_t __n)
__THROW __asm ("wmemchr") __attribute_pure__;
#else
# 320 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
__THROW __attribute_pure__;
#endif
# 323 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Compare N wide characters of S1 and S2. */
extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
__THROW __attribute_pure__;
/* Copy N wide characters of SRC to DEST. */
extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n) __THROW;
/* Copy N wide characters of SRC to DEST, guaranteeing
correct behavior for overlapping strings. */
extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
__THROW;
/* Set N wide characters of S to C. */
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* Copy N wide characters of SRC to DEST and return pointer to following
wide character. */
extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n)
__THROW;
#endif
# 348 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Determine whether C constitutes a valid (one-byte) multibyte
character. */
extern wint_t btowc (int __c) __THROW;
/* Determine whether C corresponds to a member of the extended
character set whose multibyte representation is a single byte. */
extern int wctob (wint_t __c) __THROW;
/* Determine whether PS points to an object representing the initial
state. */
extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__;
/* Write wide character representation of multibyte character pointed
to by S to PWC. */
extern size_t mbrtowc (wchar_t *__restrict __pwc,
const char *__restrict __s, size_t __n,
mbstate_t *__restrict __p) __THROW;
/* Write multibyte representation of wide character WC to S. */
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
mbstate_t *__restrict __ps) __THROW;
/* Return number of bytes in multibyte character pointed to by S. */
extern size_t __mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) __THROW;
extern size_t mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_EXTERN_INLINES
/* Define inline function as optimization. */
/* Added for bug fix */
#ifndef __cplusplus
/* We can use the BTOWC and WCTOB optimizations since we know that all
locales must use ASCII encoding for the values in the ASCII range
and because the wchar_t encoding is always ISO 10646. */
extern wint_t __btowc_alias (int __c) __asm ("btowc");
__extern_inline wint_t
__NTH (btowc (int __c))
{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
? (wint_t) __c : __btowc_alias (__c)); }
extern int __wctob_alias (wint_t __c) __asm ("wctob");
__extern_inline int
__NTH (wctob (wint_t __wc))
{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
? (int) __wc : __wctob_alias (__wc)); }
#endif
# 401 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__extern_inline size_t
__NTH (mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps))
{ return (__ps != NULL
? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); }
#endif
# 407 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Write wide character representation of multibyte character string
SRC to DST. */
extern size_t mbsrtowcs (wchar_t *__restrict __dst,
const char **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) __THROW;
/* Write multibyte character representation of wide character string
SRC to DST. */
extern size_t wcsrtombs (char *__restrict __dst,
const wchar_t **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Write wide character representation of at most NMC bytes of the
multibyte character string SRC to DST. */
extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
const char **__restrict __src, size_t __nmc,
size_t __len, mbstate_t *__restrict __ps) __THROW;
/* Write multibyte character representation of at most NWC characters
from the wide character string SRC to DST. */
extern size_t wcsnrtombs (char *__restrict __dst,
const wchar_t **__restrict __src,
size_t __nwc, size_t __len,
mbstate_t *__restrict __ps) __THROW;
#endif /* use POSIX 2008 */
# 437 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* The following functions are extensions found in X/Open CAE. */
#ifdef __USE_XOPEN
/* Determine number of column positions required for C. */
extern int wcwidth (wchar_t __c) __THROW;
/* Determine number of column positions required for first N wide
characters (or fewer if S ends before this) in S. */
extern int wcswidth (const wchar_t *__s, size_t __n) __THROW;
#endif /* Use X/Open. */
# 448 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Convert initial portion of the wide string NPTR to `double'
representation. */
extern double wcstod (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Likewise for `float' and `long double' sizes of floating-point numbers. */
extern float wcstof (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW;
extern long double wcstold (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW;
__END_NAMESPACE_C99
#endif /* C99 */
# 466 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Convert initial portion of wide string NPTR to `long int'
representation. */
extern long int wcstol (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base) __THROW;
/* Convert initial portion of wide string NPTR to `unsigned long int'
representation. */
extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
__THROW;
__END_NAMESPACE_STD
#if defined __USE_ISOC99 || (defined __GNUC__ && defined __USE_GNU)
__BEGIN_NAMESPACE_C99
/* Convert initial portion of wide string NPTR to `long long int'
representation. */
__extension__
extern long long int wcstoll (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
__THROW;
/* Convert initial portion of wide string NPTR to `unsigned long long int'
representation. */
__extension__
extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) __THROW;
__END_NAMESPACE_C99
#endif /* ISO C99 or GCC and GNU. */
# 498 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if defined __GNUC__ && defined __USE_GNU
/* Convert initial portion of wide string NPTR to `long long int'
representation. */
__extension__
extern long long int wcstoq (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
__THROW;
/* Convert initial portion of wide string NPTR to `unsigned long long int'
representation. */
__extension__
extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) __THROW;
#endif /* GCC and use GNU. */
# 514 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_GNU
/* The concept of one static locale per category is not very well
thought out. Many applications will need to process its data using
information from several different locales. Another application is
the implementation of the internationalization handling in the
upcoming ISO C++ standard library. To support this another set of
the functions using locale data exist which have an additional
argument.
Attention: all these functions are *not* standardized in any form.
This is a proof-of-concept implementation. */
/* Structure for reentrant locale using functions. This is an
(almost) opaque type for the user level programs. */
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 529 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 530 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Special versions of the functions above which take the locale to
use as an additional parameter. */
extern long int wcstol_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base,
__locale_t __loc) __THROW;
extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__
extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__
extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc)
__THROW;
extern double wcstod_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
__THROW;
extern float wcstof_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
__THROW;
extern long double wcstold_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) __THROW;
#endif /* use GNU */
# 564 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_XOPEN2K8
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
DEST. */
extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
/* Copy no more than N characters of SRC to DEST, returning the address of
the last character written into DEST. */
extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
__THROW;
/* Wide character I/O functions. */
/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces
a wide character string. */
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW;
#endif
# 585 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if defined __USE_ISOC95 || defined __USE_UNIX98
__BEGIN_NAMESPACE_STD
/* Select orientation for stream. */
extern int fwide (__FILE *__fp, int __mode) __THROW;
/* Write formatted output to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fwprintf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wprintf__, 2, 3))) */;
/* Write formatted output to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int wprintf (const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wprintf__, 1, 2))) */;
/* Write formatted output of at most N characters to S. */
extern int swprintf (wchar_t *__restrict __s, size_t __n,
const wchar_t *__restrict __format, ...)
__THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */;
/* Write formatted output to S from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfwprintf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wprintf__, 2, 0))) */;
/* Write formatted output to stdout from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vwprintf (const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wprintf__, 1, 0))) */;
/* Write formatted output of at most N character to S from argument
list ARG. */
extern int vswprintf (wchar_t *__restrict __s, size_t __n,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
/* Read formatted input from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fwscanf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
/* Read formatted input from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int wscanf (const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
/* Read formatted input from S. */
extern int swscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format, ...)
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
# if defined __USE_ISOC99 && !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
GNU extension which conflicts with valid %a followed by letter
s, S or [. */
extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...),
__isoc99_fwscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...),
__isoc99_wscanf)
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
...), __isoc99_swscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
# else
# 671 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern int __isoc99_fwscanf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...);
extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...);
extern int __isoc99_swscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format, ...)
__THROW;
# define fwscanf __isoc99_fwscanf
# define wscanf __isoc99_wscanf
# define swscanf __isoc99_swscanf
# endif
# 681 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# endif
# 682 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_NAMESPACE_STD
#endif /* Use ISO C95, C99 and Unix98. */
# 685 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Read formatted input from S into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfwscanf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
/* Read formatted input from stdin into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vwscanf (const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
/* Read formatted input from S into argument list ARG. */
extern int vswscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
# if !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg), __isoc99_vfwscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format,
__gnuc_va_list __arg), __isoc99_vwscanf)
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg), __isoc99_vswscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
# else
# 725 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern int __isoc99_vfwscanf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg);
extern int __isoc99_vwscanf (const wchar_t *__restrict __format,
__gnuc_va_list __arg);
extern int __isoc99_vswscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg) __THROW;
# define vfwscanf __isoc99_vfwscanf
# define vwscanf __isoc99_vwscanf
# define vswscanf __isoc99_vswscanf
# endif
# 737 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# endif
# 738 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_NAMESPACE_C99
#endif /* Use ISO C99. */
# 741 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Read a character from STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern wint_t fgetwc (__FILE *__stream);
extern wint_t getwc (__FILE *__stream);
/* Read a character from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wint_t getwchar (void);
/* Write a character to STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwc (wchar_t __wc, __FILE *__stream);
/* Write a character to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wint_t putwchar (wchar_t __wc);
/* Get a newline-terminated wide character string of finite length
from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
/* Write a string to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fputws (const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
/* Push a character back onto the input buffer of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* These are defined to be equivalent to the `char' functions defined
in POSIX.1:1996.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern wint_t getwc_unlocked (__FILE *__stream);
extern wint_t getwchar_unlocked (void);
/* This is the wide character version of a GNU extension.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern wint_t fgetwc_unlocked (__FILE *__stream);
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
/* These are defined to be equivalent to the `char' functions defined
in POSIX.1:1996.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar_unlocked (wchar_t __wc);
/* This function does the same as `fgetws' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
/* This function does the same as `fputws' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputws_unlocked (const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
#endif
# 852 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_C99
/* Format TP into S according to FORMAT.
Write no more than MAXSIZE wide characters and return the number
of wide characters written, or 0 if it would exceed MAXSIZE. */
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
const wchar_t *__restrict __format,
const struct tm *__restrict __tp) __THROW;
__END_NAMESPACE_C99
# ifdef __USE_GNU
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 864 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 865 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Similar to `wcsftime' but takes the information from
the provided locale and not the global locale. */
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
const wchar_t *__restrict __format,
const struct tm *__restrict __tp,
__locale_t __loc) __THROW;
# endif
# 873 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* The X/Open standard demands that most of the functions defined in
the <wctype.h> header must also appear here. This is probably
because some X/Open members wrote their implementation before the
ISO C standard was published and introduced the better solution.
We have to provide these definitions for compliance reasons but we
do this nonsense only if really necessary. */
#if defined __USE_UNIX98 && !defined __USE_GNU
# define __need_iswxxx
#if 0 /* expanded by -frewrite-includes */
# include <wctype.h>
#endif /* expanded by -frewrite-includes */
# 882 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 883 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 884 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Define some macros helping to catch buffer overflows. */
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
#if 0 /* expanded by -frewrite-includes */
# include <bits/wchar2.h>
#endif /* expanded by -frewrite-includes */
# 887 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 888 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 889 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __LDBL_COMPAT
#if 0 /* expanded by -frewrite-includes */
# include <bits/wchar-ldbl.h>
#endif /* expanded by -frewrite-includes */
# 891 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 892 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 893 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_DECLS
#endif /* _WCHAR_H defined */
# 897 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif /* wchar.h */
# 899 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Undefine all __need_* constants in case we are included to get those
constants but the whole file was already read. */
#undef __need_mbstate_t
#undef __need_wint_t
# 91 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 2 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 94 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
#endif
# 95 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
_LIBCPP_BEGIN_NAMESPACE_STD
class _LIBCPP_TYPE_VIS ios_base;
template<class _CharT> struct _LIBCPP_TYPE_VIS_ONLY char_traits;
template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY allocator;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_ios;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_streambuf;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_istream;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_ostream;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_iostream;
template <class _CharT, class _Traits = char_traits<_CharT>,
class _Allocator = allocator<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_stringbuf;
template <class _CharT, class _Traits = char_traits<_CharT>,
class _Allocator = allocator<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_istringstream;
template <class _CharT, class _Traits = char_traits<_CharT>,
class _Allocator = allocator<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_ostringstream;
template <class _CharT, class _Traits = char_traits<_CharT>,
class _Allocator = allocator<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_stringstream;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_filebuf;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_ifstream;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_ofstream;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_fstream;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY istreambuf_iterator;
template <class _CharT, class _Traits = char_traits<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY ostreambuf_iterator;
typedef basic_ios<char> ios;
typedef basic_ios<wchar_t> wios;
typedef basic_streambuf<char> streambuf;
typedef basic_istream<char> istream;
typedef basic_ostream<char> ostream;
typedef basic_iostream<char> iostream;
typedef basic_stringbuf<char> stringbuf;
typedef basic_istringstream<char> istringstream;
typedef basic_ostringstream<char> ostringstream;
typedef basic_stringstream<char> stringstream;
typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream;
typedef basic_fstream<char> fstream;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_istream<wchar_t> wistream;
typedef basic_ostream<wchar_t> wostream;
typedef basic_iostream<wchar_t> wiostream;
typedef basic_stringbuf<wchar_t> wstringbuf;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_stringstream<wchar_t> wstringstream;
typedef basic_filebuf<wchar_t> wfilebuf;
typedef basic_ifstream<wchar_t> wifstream;
typedef basic_ofstream<wchar_t> wofstream;
typedef basic_fstream<wchar_t> wfstream;
template <class _State> class _LIBCPP_TYPE_VIS_ONLY fpos;
typedef fpos<mbstate_t> streampos;
typedef fpos<mbstate_t> wstreampos;
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
typedef fpos<mbstate_t> u16streampos;
typedef fpos<mbstate_t> u32streampos;
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
# 182 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
#if defined(_NEWLIB_VERSION)
// On newlib, off_t is 'long int'
typedef long int streamoff; // for char_traits in <string>
#else
# 187 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
typedef long long streamoff; // for char_traits in <string>
#endif
# 189 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
template <class _CharT, // for <stdexcept>
class _Traits = char_traits<_CharT>,
class _Allocator = allocator<_CharT> >
class _LIBCPP_TYPE_VIS_ONLY basic_string;
typedef basic_string<char, char_traits<char>, allocator<char> > string;
typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_IOSFWD
# 200 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/iosfwd" 3
# 48 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 2 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 51 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
#endif
# 52 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
#ifndef _LIBCPP___REFSTRING
_LIBCPP_BEGIN_NAMESPACE_STD
class _LIBCPP_HIDDEN __libcpp_refstring {
const char *__imp_ _LIBCPP_UNUSED;
};
_LIBCPP_END_NAMESPACE_STD
#endif
# 60 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
namespace std // purposefully not using versioning namespace
{
class _LIBCPP_EXCEPTION_ABI logic_error
: public exception
{
private:
_VSTD::__libcpp_refstring __imp_;
public:
explicit logic_error(const string&);
explicit logic_error(const char*);
logic_error(const logic_error&) _NOEXCEPT;
logic_error& operator=(const logic_error&) _NOEXCEPT;
virtual ~logic_error() _NOEXCEPT;
virtual const char* what() const _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI runtime_error
: public exception
{
private:
_VSTD::__libcpp_refstring __imp_;
public:
explicit runtime_error(const string&);
explicit runtime_error(const char*);
runtime_error(const runtime_error&) _NOEXCEPT;
runtime_error& operator=(const runtime_error&) _NOEXCEPT;
virtual ~runtime_error() _NOEXCEPT;
virtual const char* what() const _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI domain_error
: public logic_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit domain_error(const string& __s) : logic_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit domain_error(const char* __s) : logic_error(__s) {}
virtual ~domain_error() _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI invalid_argument
: public logic_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const string& __s) : logic_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const char* __s) : logic_error(__s) {}
virtual ~invalid_argument() _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI length_error
: public logic_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit length_error(const string& __s) : logic_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit length_error(const char* __s) : logic_error(__s) {}
virtual ~length_error() _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI out_of_range
: public logic_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit out_of_range(const string& __s) : logic_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit out_of_range(const char* __s) : logic_error(__s) {}
virtual ~out_of_range() _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI range_error
: public runtime_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit range_error(const string& __s) : runtime_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit range_error(const char* __s) : runtime_error(__s) {}
virtual ~range_error() _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI overflow_error
: public runtime_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit overflow_error(const string& __s) : runtime_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit overflow_error(const char* __s) : runtime_error(__s) {}
virtual ~overflow_error() _NOEXCEPT;
};
class _LIBCPP_EXCEPTION_ABI underflow_error
: public runtime_error
{
public:
_LIBCPP_INLINE_VISIBILITY explicit underflow_error(const string& __s) : runtime_error(__s) {}
_LIBCPP_INLINE_VISIBILITY explicit underflow_error(const char* __s) : runtime_error(__s) {}
virtual ~underflow_error() _NOEXCEPT;
};
} // std
#endif // _LIBCPP_STDEXCEPT
# 171 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/stdexcept" 3
# 246 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <cmath>
#endif /* expanded by -frewrite-includes */
# 246 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 1 3
// -*- C++ -*-
//===---------------------------- cmath -----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CMATH
#define _LIBCPP_CMATH
/*
cmath synopsis
Macros:
HUGE_VAL
HUGE_VALF // C99
HUGE_VALL // C99
INFINITY // C99
NAN // C99
FP_INFINITE // C99
FP_NAN // C99
FP_NORMAL // C99
FP_SUBNORMAL // C99
FP_ZERO // C99
FP_FAST_FMA // C99
FP_FAST_FMAF // C99
FP_FAST_FMAL // C99
FP_ILOGB0 // C99
FP_ILOGBNAN // C99
MATH_ERRNO // C99
MATH_ERREXCEPT // C99
math_errhandling // C99
namespace std
{
Types:
float_t // C99
double_t // C99
// C90
floating_point abs(floating_point x);
floating_point acos (arithmetic x);
float acosf(float x);
long double acosl(long double x);
floating_point asin (arithmetic x);
float asinf(float x);
long double asinl(long double x);
floating_point atan (arithmetic x);
float atanf(float x);
long double atanl(long double x);
floating_point atan2 (arithmetic y, arithmetic x);
float atan2f(float y, float x);
long double atan2l(long double y, long double x);
floating_point ceil (arithmetic x);
float ceilf(float x);
long double ceill(long double x);
floating_point cos (arithmetic x);
float cosf(float x);
long double cosl(long double x);
floating_point cosh (arithmetic x);
float coshf(float x);
long double coshl(long double x);
floating_point exp (arithmetic x);
float expf(float x);
long double expl(long double x);
floating_point fabs (arithmetic x);
float fabsf(float x);
long double fabsl(long double x);
floating_point floor (arithmetic x);
float floorf(float x);
long double floorl(long double x);
floating_point fmod (arithmetic x, arithmetic y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
floating_point frexp (arithmetic value, int* exp);
float frexpf(float value, int* exp);
long double frexpl(long double value, int* exp);
floating_point ldexp (arithmetic value, int exp);
float ldexpf(float value, int exp);
long double ldexpl(long double value, int exp);
floating_point log (arithmetic x);
float logf(float x);
long double logl(long double x);
floating_point log10 (arithmetic x);
float log10f(float x);
long double log10l(long double x);
floating_point modf (floating_point value, floating_point* iptr);
float modff(float value, float* iptr);
long double modfl(long double value, long double* iptr);
floating_point pow (arithmetic x, arithmetic y);
float powf(float x, float y);
long double powl(long double x, long double y);
floating_point sin (arithmetic x);
float sinf(float x);
long double sinl(long double x);
floating_point sinh (arithmetic x);
float sinhf(float x);
long double sinhl(long double x);
floating_point sqrt (arithmetic x);
float sqrtf(float x);
long double sqrtl(long double x);
floating_point tan (arithmetic x);
float tanf(float x);
long double tanl(long double x);
floating_point tanh (arithmetic x);
float tanhf(float x);
long double tanhl(long double x);
// C99
bool signbit(arithmetic x);
int fpclassify(arithmetic x);
bool isfinite(arithmetic x);
bool isinf(arithmetic x);
bool isnan(arithmetic x);
bool isnormal(arithmetic x);
bool isgreater(arithmetic x, arithmetic y);
bool isgreaterequal(arithmetic x, arithmetic y);
bool isless(arithmetic x, arithmetic y);
bool islessequal(arithmetic x, arithmetic y);
bool islessgreater(arithmetic x, arithmetic y);
bool isunordered(arithmetic x, arithmetic y);
floating_point acosh (arithmetic x);
float acoshf(float x);
long double acoshl(long double x);
floating_point asinh (arithmetic x);
float asinhf(float x);
long double asinhl(long double x);
floating_point atanh (arithmetic x);
float atanhf(float x);
long double atanhl(long double x);
floating_point cbrt (arithmetic x);
float cbrtf(float x);
long double cbrtl(long double x);
floating_point copysign (arithmetic x, arithmetic y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);
floating_point erf (arithmetic x);
float erff(float x);
long double erfl(long double x);
floating_point erfc (arithmetic x);
float erfcf(float x);
long double erfcl(long double x);
floating_point exp2 (arithmetic x);
float exp2f(float x);
long double exp2l(long double x);
floating_point expm1 (arithmetic x);
float expm1f(float x);
long double expm1l(long double x);
floating_point fdim (arithmetic x, arithmetic y);
float fdimf(float x, float y);
long double fdiml(long double x, long double y);
floating_point fma (arithmetic x, arithmetic y, arithmetic z);
float fmaf(float x, float y, float z);
long double fmal(long double x, long double y, long double z);
floating_point fmax (arithmetic x, arithmetic y);
float fmaxf(float x, float y);
long double fmaxl(long double x, long double y);
floating_point fmin (arithmetic x, arithmetic y);
float fminf(float x, float y);
long double fminl(long double x, long double y);
floating_point hypot (arithmetic x, arithmetic y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
int ilogb (arithmetic x);
int ilogbf(float x);
int ilogbl(long double x);
floating_point lgamma (arithmetic x);
float lgammaf(float x);
long double lgammal(long double x);
long long llrint (arithmetic x);
long long llrintf(float x);
long long llrintl(long double x);
long long llround (arithmetic x);
long long llroundf(float x);
long long llroundl(long double x);
floating_point log1p (arithmetic x);
float log1pf(float x);
long double log1pl(long double x);
floating_point log2 (arithmetic x);
float log2f(float x);
long double log2l(long double x);
floating_point logb (arithmetic x);
float logbf(float x);
long double logbl(long double x);
long lrint (arithmetic x);
long lrintf(float x);
long lrintl(long double x);
long lround (arithmetic x);
long lroundf(float x);
long lroundl(long double x);
double nan (const char* str);
float nanf(const char* str);
long double nanl(const char* str);
floating_point nearbyint (arithmetic x);
float nearbyintf(float x);
long double nearbyintl(long double x);
floating_point nextafter (arithmetic x, arithmetic y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);
floating_point nexttoward (arithmetic x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);
floating_point remainder (arithmetic x, arithmetic y);
float remainderf(float x, float y);
long double remainderl(long double x, long double y);
floating_point remquo (arithmetic x, arithmetic y, int* pquo);
float remquof(float x, float y, int* pquo);
long double remquol(long double x, long double y, int* pquo);
floating_point rint (arithmetic x);
float rintf(float x);
long double rintl(long double x);
floating_point round (arithmetic x);
float roundf(float x);
long double roundl(long double x);
floating_point scalbln (arithmetic x, long ex);
float scalblnf(float x, long ex);
long double scalblnl(long double x, long ex);
floating_point scalbn (arithmetic x, int ex);
float scalbnf(float x, int ex);
long double scalbnl(long double x, int ex);
floating_point tgamma (arithmetic x);
float tgammaf(float x);
long double tgammal(long double x);
floating_point trunc (arithmetic x);
float truncf(float x);
long double truncl(long double x);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 300 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
# 301 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#if 0 /* expanded by -frewrite-includes */
#include <math.h>
#endif /* expanded by -frewrite-includes */
# 301 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 1 3
/* Declarations for math functions.
Copyright (C) 1991-1993, 1995-1999, 2001, 2002, 2004, 2006, 2009, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.12 Mathematics <math.h>
*/
#ifndef _MATH_H
#define _MATH_H 1
#if 0 /* expanded by -frewrite-includes */
#include <features.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
__BEGIN_DECLS
/* Get machine-dependent HUGE_VAL value (returned on overflow).
On all IEEE754 machines, this is +Infinity. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/huge_val.h>
#endif /* expanded by -frewrite-includes */
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 1 3
/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity).
Used by <stdlib.h> and <math.h> functions for overflow.
Copyright (C) 1992, 1995, 1996, 1997, 1999, 2000, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
#endif
# 24 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
/* IEEE positive infinity (-HUGE_VAL is negative infinity). */
#if __GNUC_PREREQ(3,3)
# define HUGE_VAL (__builtin_huge_val())
#elif __GNUC_PREREQ(2,96)
# 30 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
# define HUGE_VAL (__extension__ 0x1.0p2047)
#elif defined __GNUC__
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
# define HUGE_VAL \
(__extension__ \
((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
{ __l: 0x7ff0000000000000ULL }).__d)
#else /* not GCC */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <endian.h>
#endif /* expanded by -frewrite-includes */
# 40 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
# 41 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
# if __BYTE_ORDER == __BIG_ENDIAN
# define __HUGE_VAL_bytes { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }
# endif
# 47 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }
# endif
# 50 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
# define HUGE_VAL (__huge_val.__d)
#endif /* GCC. */
# 55 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_val.h" 3
# 34 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
#ifdef __USE_ISOC99
#if 0 /* expanded by -frewrite-includes */
# include <bits/huge_valf.h>
#endif /* expanded by -frewrite-includes */
# 35 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 1 3
/* `HUGE_VALF' constant for IEEE 754 machines (where it is infinity).
Used by <stdlib.h> and <math.h> functions for overflow.
Copyright (C) 1992, 1995, 1996, 1997, 1999, 2000, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/huge_valf.h> directly; include <math.h> instead."
#endif
# 24 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
/* IEEE positive infinity (-HUGE_VAL is negative infinity). */
#if __GNUC_PREREQ(3,3)
# define HUGE_VALF (__builtin_huge_valf())
#elif __GNUC_PREREQ(2,96)
# 30 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
# define HUGE_VALF (__extension__ 0x1.0p255f)
#elif defined __GNUC__
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
# define HUGE_VALF \
(__extension__ \
((union { unsigned __l __attribute__((__mode__(__SI__))); float __d; }) \
{ __l: 0x7f800000UL }).__d)
#else /* not GCC */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
typedef union { unsigned char __c[4]; float __f; } __huge_valf_t;
# if __BYTE_ORDER == __BIG_ENDIAN
# define __HUGE_VALF_bytes { 0x7f, 0x80, 0, 0 }
# endif
# 45 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define __HUGE_VALF_bytes { 0, 0, 0x80, 0x7f }
# endif
# 48 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
static __huge_valf_t __huge_valf = { __HUGE_VALF_bytes };
# define HUGE_VALF (__huge_valf.__f)
#endif /* GCC. */
# 53 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_valf.h" 3
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
#if 0 /* expanded by -frewrite-includes */
# include <bits/huge_vall.h>
#endif /* expanded by -frewrite-includes */
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_vall.h" 1 3
/* Default `HUGE_VALL' constant.
Used by <stdlib.h> and <math.h> functions for overflow.
Copyright (C) 1992, 1996, 1997, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/huge_vall.h> directly; include <math.h> instead."
#endif
# 23 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_vall.h" 3
#if __GNUC_PREREQ(3,3)
# define HUGE_VALL (__builtin_huge_vall())
#else
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_vall.h" 3
# define HUGE_VALL ((long double) HUGE_VAL)
#endif
# 29 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/huge_vall.h" 3
# 37 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
/* Get machine-dependent INFINITY value. */
#if 0 /* expanded by -frewrite-includes */
# include <bits/inf.h>
#endif /* expanded by -frewrite-includes */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/inf.h" 1 3
/* `INFINITY' constant for IEEE 754 machines.
Copyright (C) 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/inf.h> directly; include <math.h> instead."
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/inf.h" 3
/* IEEE positive infinity. */
#if __GNUC_PREREQ(3,3)
# define INFINITY (__builtin_inff())
#else
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/inf.h" 3
# define INFINITY HUGE_VALF
#endif
# 30 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/inf.h" 3
# 40 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
/* Get machine-dependent NAN value (returned for some domain errors). */
#if 0 /* expanded by -frewrite-includes */
# include <bits/nan.h>
#endif /* expanded by -frewrite-includes */
# 42 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 1 3
/* `NAN' constant for IEEE 754 machines.
Copyright (C) 1992,1996,1997,1999,2004,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/nan.h> directly; include <math.h> instead."
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
/* IEEE Not A Number. */
#if __GNUC_PREREQ(3,3)
# define NAN (__builtin_nanf (""))
#elif defined __GNUC__
# 31 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
# define NAN \
(__extension__ \
((union { unsigned __l __attribute__ ((__mode__ (__SI__))); float __d; }) \
{ __l: 0x7fc00000UL }).__d)
#else
# 38 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <endian.h>
#endif /* expanded by -frewrite-includes */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
# 40 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
# if __BYTE_ORDER == __BIG_ENDIAN
# define __nan_bytes { 0x7f, 0xc0, 0, 0 }
# endif
# 44 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
# if __BYTE_ORDER == __LITTLE_ENDIAN
# define __nan_bytes { 0, 0, 0xc0, 0x7f }
# endif
# 47 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
static union { unsigned char __c[4]; float __d; } __nan_union
__attribute_used__ = { __nan_bytes };
# define NAN (__nan_union.__d)
#endif /* GCC. */
# 53 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/nan.h" 3
# 43 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
#endif /* __USE_ISOC99 */
# 44 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Get general and ISO C99 specific information. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/mathdef.h>
#endif /* expanded by -frewrite-includes */
# 46 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathdef.h" 1 3
/* Copyright (C) 1997,1998,1999,2000,2003,2004,2006,2010,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#if !defined _MATH_H && !defined _COMPLEX_H
# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathdef.h" 3
/* FIXME! This file describes properties of the compiler, not the machine;
it should not be part of libc!
FIXME! This file does not deal with the -fshort-double option of
gcc! */
#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
# define _MATH_H_MATHDEF 1
/* PowerPC has both `float' and `double' arithmetic. */
typedef float float_t;
typedef double double_t;
/* The values returned by `ilogb' for 0 and NaN respectively. */
# define FP_ILOGB0 (-2147483647)
# define FP_ILOGBNAN (2147483647)
/* The powerpc has a combined multiply/add instruction. */
# define FP_FAST_FMA 1
# define FP_FAST_FMAF 1
#endif /* ISO C99 */
# 46 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathdef.h" 3
# 47 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
/* The file <bits/mathcalls.h> contains the prototypes for all the
actual math functions. These macros are used for those prototypes,
so we can easily declare each function as both `name' and `__name',
and can declare the float versions `namef' and `__namef'. */
#define __MATHCALL(function,suffix, args) \
__MATHDECL (_Mdouble_,function,suffix, args)
#define __MATHDECL(type, function,suffix, args) \
__MATHDECL_1(type, function,suffix, args); \
__MATHDECL_1(type, __CONCAT(__,function),suffix, args)
#define __MATHCALLX(function,suffix, args, attrib) \
__MATHDECLX (_Mdouble_,function,suffix, args, attrib)
#define __MATHDECLX(type, function,suffix, args, attrib) \
__MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \
__MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)
#define __MATHDECL_1(type, function,suffix, args) \
extern type __MATH_PRECNAME(function,suffix) args __THROW
#define _Mdouble_ double
#define __MATH_PRECNAME(name,r) __CONCAT(name,r)
#define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_STD
#define _Mdouble_END_NAMESPACE __END_NAMESPACE_STD
#if 0 /* expanded by -frewrite-includes */
#include <bits/mathcalls.h>
#endif /* expanded by -frewrite-includes */
# 70 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 1 3
/* Prototype declarations for math functions; helper file for <math.h>.
Copyright (C) 1996-2003, 2006, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* NOTE: Because of the special way this file is used by <math.h>, this
file must NOT be protected from multiple inclusion as header files
usually are.
This file provides prototype declarations for the math functions.
Most functions are declared using the macro:
__MATHCALL (NAME,[_r], (ARGS...));
This means there is a function `NAME' returning `double' and a function
`NAMEf' returning `float'. Each place `_Mdouble_' appears in the
prototype, that is actually `double' in the prototype for `NAME' and
`float' in the prototype for `NAMEf'. Reentrant variant functions are
called `NAME_r' and `NAMEf_r'.
Functions returning other types like `int' are declared using the macro:
__MATHDECL (TYPE, NAME,[_r], (ARGS...));
This is just like __MATHCALL but for a function returning `TYPE'
instead of `_Mdouble_'. In all of these cases, there is still
both a `NAME' and a `NAMEf' that takes `float' arguments.
Note that there must be no whitespace before the argument passed for
NAME, to make token pasting work with -traditional. */
#ifndef _MATH_H
# error "Never include <bits/mathcalls.h> directly; include <math.h> instead."
#endif
# 48 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Trigonometric functions. */
_Mdouble_BEGIN_NAMESPACE
/* Arc cosine of X. */
__MATHCALL (acos,, (_Mdouble_ __x));
/* Arc sine of X. */
__MATHCALL (asin,, (_Mdouble_ __x));
/* Arc tangent of X. */
__MATHCALL (atan,, (_Mdouble_ __x));
/* Arc tangent of Y/X. */
__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x));
/* Cosine of X. */
__MATHCALL (cos,, (_Mdouble_ __x));
/* Sine of X. */
__MATHCALL (sin,, (_Mdouble_ __x));
/* Tangent of X. */
__MATHCALL (tan,, (_Mdouble_ __x));
/* Hyperbolic functions. */
/* Hyperbolic cosine of X. */
__MATHCALL (cosh,, (_Mdouble_ __x));
/* Hyperbolic sine of X. */
__MATHCALL (sinh,, (_Mdouble_ __x));
/* Hyperbolic tangent of X. */
__MATHCALL (tanh,, (_Mdouble_ __x));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
/* Cosine and sine of X. */
__MATHDECL (void,sincos,,
(_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
#endif
# 84 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Hyperbolic arc cosine of X. */
__MATHCALL (acosh,, (_Mdouble_ __x));
/* Hyperbolic arc sine of X. */
__MATHCALL (asinh,, (_Mdouble_ __x));
/* Hyperbolic arc tangent of X. */
__MATHCALL (atanh,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 95 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Exponential and logarithmic functions. */
_Mdouble_BEGIN_NAMESPACE
/* Exponential function of X. */
__MATHCALL (exp,, (_Mdouble_ __x));
/* Break VALUE into a normalized fraction and an integral power of 2. */
__MATHCALL (frexp,, (_Mdouble_ __x, int *__exponent));
/* X times (two to the EXP power). */
__MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent));
/* Natural logarithm of X. */
__MATHCALL (log,, (_Mdouble_ __x));
/* Base-ten logarithm of X. */
__MATHCALL (log10,, (_Mdouble_ __x));
/* Break VALUE into integral and fractional parts. */
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr))
__attribute__ ((__nonnull__ (2)));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
/* A function missing in all standards: compute exponent to base ten. */
__MATHCALL (exp10,, (_Mdouble_ __x));
/* Another name occasionally used. */
__MATHCALL (pow10,, (_Mdouble_ __x));
#endif
# 125 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return exp(X) - 1. */
__MATHCALL (expm1,, (_Mdouble_ __x));
/* Return log(1 + X). */
__MATHCALL (log1p,, (_Mdouble_ __x));
/* Return the base 2 signed integral exponent of X. */
__MATHCALL (logb,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 138 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Compute base-2 exponential of X. */
__MATHCALL (exp2,, (_Mdouble_ __x));
/* Compute base-2 logarithm of X. */
__MATHCALL (log2,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 148 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Power functions. */
_Mdouble_BEGIN_NAMESPACE
/* Return X to the Y power. */
__MATHCALL (pow,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return the square root of X. */
__MATHCALL (sqrt,, (_Mdouble_ __x));
_Mdouble_END_NAMESPACE
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return `sqrt(X*X + Y*Y)'. */
__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
__END_NAMESPACE_C99
#endif
# 166 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return the cube root of X. */
__MATHCALL (cbrt,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 173 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Nearest integer, absolute value, and remainder functions. */
_Mdouble_BEGIN_NAMESPACE
/* Smallest integral value not less than X. */
__MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
/* Absolute value of X. */
__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__));
/* Largest integer not greater than X. */
__MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
/* Floating-point modulo remainder of X/Y. */
__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
__MATHDECL_1 (int,__finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
_Mdouble_END_NAMESPACE
#ifdef __USE_MISC
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return the remainder of X/Y. */
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return the fractional part of X after dividing out `ilogb (X)'. */
__MATHCALL (significand,, (_Mdouble_ __x));
#endif /* Use misc. */
# 214 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return X with its signed changed to Y's. */
__MATHCALLX (copysign,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
__END_NAMESPACE_C99
#endif
# 221 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return representation of NaN for double type. */
__MATHCALLX (nan,, (const char *__tagb), (__const__));
__END_NAMESPACE_C99
#endif
# 228 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return nonzero if VALUE is not a number. */
__MATHDECL_1 (int,__isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
#if defined __USE_MISC || defined __USE_XOPEN
/* Return nonzero if VALUE is not a number. */
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Bessel functions. */
__MATHCALL (j0,, (_Mdouble_));
__MATHCALL (j1,, (_Mdouble_));
__MATHCALL (jn,, (int, _Mdouble_));
__MATHCALL (y0,, (_Mdouble_));
__MATHCALL (y1,, (_Mdouble_));
__MATHCALL (yn,, (int, _Mdouble_));
#endif
# 245 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Error and gamma functions. */
__MATHCALL (erf,, (_Mdouble_));
__MATHCALL (erfc,, (_Mdouble_));
__MATHCALL (lgamma,, (_Mdouble_));
__END_NAMESPACE_C99
#endif
# 255 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* True gamma function. */
__MATHCALL (tgamma,, (_Mdouble_));
__END_NAMESPACE_C99
#endif
# 262 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN
/* Obsolete alias for `lgamma'. */
__MATHCALL (gamma,, (_Mdouble_));
#endif
# 267 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_MISC
/* Reentrant version of lgamma. This function uses the global variable
`signgam'. The reentrant version instead takes a pointer and stores
the value through it. */
__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp));
#endif
# 274 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return the integer nearest X in the direction of the
prevailing rounding mode. */
__MATHCALL (rint,, (_Mdouble_ __x));
/* Return X + epsilon if X < Y, X - epsilon if X > Y. */
__MATHCALLX (nextafter,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
# if defined __USE_ISOC99 && !defined __LDBL_COMPAT
__MATHCALLX (nexttoward,, (_Mdouble_ __x, long double __y), (__const__));
# endif
# 287 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return the remainder of integer divison X / Y with infinite precision. */
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
# if defined __USE_MISC || defined __USE_ISOC99
/* Return X times (2 to the Nth power). */
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
# endif
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return the binary exponent of X, which must be nonzero. */
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
#endif
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
/* Return X times (2 to the Nth power). */
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
/* Round X to integral value in floating-point format using current
rounding direction, but do not raise inexact exception. */
__MATHCALL (nearbyint,, (_Mdouble_ __x));
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
/* Round X to the integral value in floating-point format nearest but
not larger in magnitude. */
__MATHCALLX (trunc,, (_Mdouble_ __x), (__const__));
/* Compute remainder of X and Y and put in *QUO a value with sign of x/y
and magnitude congruent `mod 2^n' to the magnitude of the integral
quotient x/y, with n >= 3. */
__MATHCALL (remquo,, (_Mdouble_ __x, _Mdouble_ __y, int *__quo));
/* Conversion functions. */
/* Round X to nearest integral value according to current rounding
direction. */
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHDECL (long int,lround,, (_Mdouble_ __x));
__MATHDECL (long long int,llround,, (_Mdouble_ __x));
/* Return positive difference between X and Y. */
__MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return maximum numeric value from X and Y. */
__MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
/* Return minimum numeric value from X and Y. */
__MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
/* Classify given number. */
__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
__attribute__ ((__const__));
/* Test for negative number. */
__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
__attribute__ ((__const__));
/* Multiply-add function computed as a ternary operation. */
__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
#endif /* Use ISO C99. */
# 357 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__END_NAMESPACE_C99
#endif
# 361 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
/* Return X times (2 to the Nth power). */
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
#endif
# 366 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
# 71 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
#undef _Mdouble_
#undef _Mdouble_BEGIN_NAMESPACE
#undef _Mdouble_END_NAMESPACE
#undef __MATH_PRECNAME
#if defined __USE_MISC || defined __USE_ISOC99
/* Include the file of declarations again, this time using `float'
instead of `double' and appending f to each function name. */
# ifndef _Mfloat_
# define _Mfloat_ float
# endif
# 85 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define _Mdouble_ _Mfloat_
# define __MATH_PRECNAME(name,r) name##f##r
# define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
# define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
#if 0 /* expanded by -frewrite-includes */
# include <bits/mathcalls.h>
#endif /* expanded by -frewrite-includes */
# 89 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 1 3
/* Prototype declarations for math functions; helper file for <math.h>.
Copyright (C) 1996-2003, 2006, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* NOTE: Because of the special way this file is used by <math.h>, this
file must NOT be protected from multiple inclusion as header files
usually are.
This file provides prototype declarations for the math functions.
Most functions are declared using the macro:
__MATHCALL (NAME,[_r], (ARGS...));
This means there is a function `NAME' returning `double' and a function
`NAMEf' returning `float'. Each place `_Mdouble_' appears in the
prototype, that is actually `double' in the prototype for `NAME' and
`float' in the prototype for `NAMEf'. Reentrant variant functions are
called `NAME_r' and `NAMEf_r'.
Functions returning other types like `int' are declared using the macro:
__MATHDECL (TYPE, NAME,[_r], (ARGS...));
This is just like __MATHCALL but for a function returning `TYPE'
instead of `_Mdouble_'. In all of these cases, there is still
both a `NAME' and a `NAMEf' that takes `float' arguments.
Note that there must be no whitespace before the argument passed for
NAME, to make token pasting work with -traditional. */
#ifndef _MATH_H
# error "Never include <bits/mathcalls.h> directly; include <math.h> instead."
#endif
# 48 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Trigonometric functions. */
_Mdouble_BEGIN_NAMESPACE
/* Arc cosine of X. */
__MATHCALL (acos,, (_Mdouble_ __x));
/* Arc sine of X. */
__MATHCALL (asin,, (_Mdouble_ __x));
/* Arc tangent of X. */
__MATHCALL (atan,, (_Mdouble_ __x));
/* Arc tangent of Y/X. */
__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x));
/* Cosine of X. */
__MATHCALL (cos,, (_Mdouble_ __x));
/* Sine of X. */
__MATHCALL (sin,, (_Mdouble_ __x));
/* Tangent of X. */
__MATHCALL (tan,, (_Mdouble_ __x));
/* Hyperbolic functions. */
/* Hyperbolic cosine of X. */
__MATHCALL (cosh,, (_Mdouble_ __x));
/* Hyperbolic sine of X. */
__MATHCALL (sinh,, (_Mdouble_ __x));
/* Hyperbolic tangent of X. */
__MATHCALL (tanh,, (_Mdouble_ __x));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
/* Cosine and sine of X. */
__MATHDECL (void,sincos,,
(_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
#endif
# 84 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Hyperbolic arc cosine of X. */
__MATHCALL (acosh,, (_Mdouble_ __x));
/* Hyperbolic arc sine of X. */
__MATHCALL (asinh,, (_Mdouble_ __x));
/* Hyperbolic arc tangent of X. */
__MATHCALL (atanh,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 95 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Exponential and logarithmic functions. */
_Mdouble_BEGIN_NAMESPACE
/* Exponential function of X. */
__MATHCALL (exp,, (_Mdouble_ __x));
/* Break VALUE into a normalized fraction and an integral power of 2. */
__MATHCALL (frexp,, (_Mdouble_ __x, int *__exponent));
/* X times (two to the EXP power). */
__MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent));
/* Natural logarithm of X. */
__MATHCALL (log,, (_Mdouble_ __x));
/* Base-ten logarithm of X. */
__MATHCALL (log10,, (_Mdouble_ __x));
/* Break VALUE into integral and fractional parts. */
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr))
__attribute__ ((__nonnull__ (2)));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
/* A function missing in all standards: compute exponent to base ten. */
__MATHCALL (exp10,, (_Mdouble_ __x));
/* Another name occasionally used. */
__MATHCALL (pow10,, (_Mdouble_ __x));
#endif
# 125 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return exp(X) - 1. */
__MATHCALL (expm1,, (_Mdouble_ __x));
/* Return log(1 + X). */
__MATHCALL (log1p,, (_Mdouble_ __x));
/* Return the base 2 signed integral exponent of X. */
__MATHCALL (logb,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 138 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Compute base-2 exponential of X. */
__MATHCALL (exp2,, (_Mdouble_ __x));
/* Compute base-2 logarithm of X. */
__MATHCALL (log2,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 148 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Power functions. */
_Mdouble_BEGIN_NAMESPACE
/* Return X to the Y power. */
__MATHCALL (pow,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return the square root of X. */
__MATHCALL (sqrt,, (_Mdouble_ __x));
_Mdouble_END_NAMESPACE
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return `sqrt(X*X + Y*Y)'. */
__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
__END_NAMESPACE_C99
#endif
# 166 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return the cube root of X. */
__MATHCALL (cbrt,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 173 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Nearest integer, absolute value, and remainder functions. */
_Mdouble_BEGIN_NAMESPACE
/* Smallest integral value not less than X. */
__MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
/* Absolute value of X. */
__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__));
/* Largest integer not greater than X. */
__MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
/* Floating-point modulo remainder of X/Y. */
__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
__MATHDECL_1 (int,__finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
_Mdouble_END_NAMESPACE
#ifdef __USE_MISC
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return the remainder of X/Y. */
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return the fractional part of X after dividing out `ilogb (X)'. */
__MATHCALL (significand,, (_Mdouble_ __x));
#endif /* Use misc. */
# 214 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return X with its signed changed to Y's. */
__MATHCALLX (copysign,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
__END_NAMESPACE_C99
#endif
# 221 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return representation of NaN for double type. */
__MATHCALLX (nan,, (const char *__tagb), (__const__));
__END_NAMESPACE_C99
#endif
# 228 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return nonzero if VALUE is not a number. */
__MATHDECL_1 (int,__isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
#if defined __USE_MISC || defined __USE_XOPEN
/* Return nonzero if VALUE is not a number. */
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Bessel functions. */
__MATHCALL (j0,, (_Mdouble_));
__MATHCALL (j1,, (_Mdouble_));
__MATHCALL (jn,, (int, _Mdouble_));
__MATHCALL (y0,, (_Mdouble_));
__MATHCALL (y1,, (_Mdouble_));
__MATHCALL (yn,, (int, _Mdouble_));
#endif
# 245 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Error and gamma functions. */
__MATHCALL (erf,, (_Mdouble_));
__MATHCALL (erfc,, (_Mdouble_));
__MATHCALL (lgamma,, (_Mdouble_));
__END_NAMESPACE_C99
#endif
# 255 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* True gamma function. */
__MATHCALL (tgamma,, (_Mdouble_));
__END_NAMESPACE_C99
#endif
# 262 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN
/* Obsolete alias for `lgamma'. */
__MATHCALL (gamma,, (_Mdouble_));
#endif
# 267 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_MISC
/* Reentrant version of lgamma. This function uses the global variable
`signgam'. The reentrant version instead takes a pointer and stores
the value through it. */
__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp));
#endif
# 274 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return the integer nearest X in the direction of the
prevailing rounding mode. */
__MATHCALL (rint,, (_Mdouble_ __x));
/* Return X + epsilon if X < Y, X - epsilon if X > Y. */
__MATHCALLX (nextafter,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
# if defined __USE_ISOC99 && !defined __LDBL_COMPAT
__MATHCALLX (nexttoward,, (_Mdouble_ __x, long double __y), (__const__));
# endif
# 287 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return the remainder of integer divison X / Y with infinite precision. */
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
# if defined __USE_MISC || defined __USE_ISOC99
/* Return X times (2 to the Nth power). */
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
# endif
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return the binary exponent of X, which must be nonzero. */
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
#endif
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
/* Return X times (2 to the Nth power). */
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
/* Round X to integral value in floating-point format using current
rounding direction, but do not raise inexact exception. */
__MATHCALL (nearbyint,, (_Mdouble_ __x));
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
/* Round X to the integral value in floating-point format nearest but
not larger in magnitude. */
__MATHCALLX (trunc,, (_Mdouble_ __x), (__const__));
/* Compute remainder of X and Y and put in *QUO a value with sign of x/y
and magnitude congruent `mod 2^n' to the magnitude of the integral
quotient x/y, with n >= 3. */
__MATHCALL (remquo,, (_Mdouble_ __x, _Mdouble_ __y, int *__quo));
/* Conversion functions. */
/* Round X to nearest integral value according to current rounding
direction. */
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHDECL (long int,lround,, (_Mdouble_ __x));
__MATHDECL (long long int,llround,, (_Mdouble_ __x));
/* Return positive difference between X and Y. */
__MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return maximum numeric value from X and Y. */
__MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
/* Return minimum numeric value from X and Y. */
__MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
/* Classify given number. */
__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
__attribute__ ((__const__));
/* Test for negative number. */
__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
__attribute__ ((__const__));
/* Multiply-add function computed as a ternary operation. */
__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
#endif /* Use ISO C99. */
# 357 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__END_NAMESPACE_C99
#endif
# 361 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
/* Return X times (2 to the Nth power). */
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
#endif
# 366 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
# 90 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
# undef _Mdouble_
# undef _Mdouble_BEGIN_NAMESPACE
# undef _Mdouble_END_NAMESPACE
# undef __MATH_PRECNAME
# if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \
|| defined __LDBL_COMPAT
# ifdef __LDBL_COMPAT
# ifdef __USE_ISOC99
extern float __nldbl_nexttowardf (float __x, long double __y)
__THROW __attribute__ ((__const__));
# ifdef __REDIRECT_NTH
extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y),
__nldbl_nexttowardf)
__attribute__ ((__const__));
extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
nextafter) __attribute__ ((__const__));
extern long double __REDIRECT_NTH (nexttowardl,
(long double __x, long double __y),
nextafter) __attribute__ ((__const__));
# endif
# 112 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# endif
# 113 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# undef __MATHDECL_1
# define __MATHDECL_2(type, function,suffix, args, alias) \
extern type __REDIRECT_NTH(__MATH_PRECNAME(function,suffix), \
args, alias)
# define __MATHDECL_1(type, function,suffix, args) \
__MATHDECL_2(type, function,suffix, args, __CONCAT(function,suffix))
# endif
# 121 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Include the file of declarations again, this time using `long double'
instead of `double' and appending l to each function name. */
# ifndef _Mlong_double_
# define _Mlong_double_ long double
# endif
# 128 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define _Mdouble_ _Mlong_double_
# define __MATH_PRECNAME(name,r) name##l##r
# define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
# define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
# define __MATH_DECLARE_LDOUBLE 1
#if 0 /* expanded by -frewrite-includes */
# include <bits/mathcalls.h>
#endif /* expanded by -frewrite-includes */
# 133 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 1 3
/* Prototype declarations for math functions; helper file for <math.h>.
Copyright (C) 1996-2003, 2006, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* NOTE: Because of the special way this file is used by <math.h>, this
file must NOT be protected from multiple inclusion as header files
usually are.
This file provides prototype declarations for the math functions.
Most functions are declared using the macro:
__MATHCALL (NAME,[_r], (ARGS...));
This means there is a function `NAME' returning `double' and a function
`NAMEf' returning `float'. Each place `_Mdouble_' appears in the
prototype, that is actually `double' in the prototype for `NAME' and
`float' in the prototype for `NAMEf'. Reentrant variant functions are
called `NAME_r' and `NAMEf_r'.
Functions returning other types like `int' are declared using the macro:
__MATHDECL (TYPE, NAME,[_r], (ARGS...));
This is just like __MATHCALL but for a function returning `TYPE'
instead of `_Mdouble_'. In all of these cases, there is still
both a `NAME' and a `NAMEf' that takes `float' arguments.
Note that there must be no whitespace before the argument passed for
NAME, to make token pasting work with -traditional. */
#ifndef _MATH_H
# error "Never include <bits/mathcalls.h> directly; include <math.h> instead."
#endif
# 48 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Trigonometric functions. */
_Mdouble_BEGIN_NAMESPACE
/* Arc cosine of X. */
__MATHCALL (acos,, (_Mdouble_ __x));
/* Arc sine of X. */
__MATHCALL (asin,, (_Mdouble_ __x));
/* Arc tangent of X. */
__MATHCALL (atan,, (_Mdouble_ __x));
/* Arc tangent of Y/X. */
__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x));
/* Cosine of X. */
__MATHCALL (cos,, (_Mdouble_ __x));
/* Sine of X. */
__MATHCALL (sin,, (_Mdouble_ __x));
/* Tangent of X. */
__MATHCALL (tan,, (_Mdouble_ __x));
/* Hyperbolic functions. */
/* Hyperbolic cosine of X. */
__MATHCALL (cosh,, (_Mdouble_ __x));
/* Hyperbolic sine of X. */
__MATHCALL (sinh,, (_Mdouble_ __x));
/* Hyperbolic tangent of X. */
__MATHCALL (tanh,, (_Mdouble_ __x));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
/* Cosine and sine of X. */
__MATHDECL (void,sincos,,
(_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx));
#endif
# 84 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Hyperbolic arc cosine of X. */
__MATHCALL (acosh,, (_Mdouble_ __x));
/* Hyperbolic arc sine of X. */
__MATHCALL (asinh,, (_Mdouble_ __x));
/* Hyperbolic arc tangent of X. */
__MATHCALL (atanh,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 95 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Exponential and logarithmic functions. */
_Mdouble_BEGIN_NAMESPACE
/* Exponential function of X. */
__MATHCALL (exp,, (_Mdouble_ __x));
/* Break VALUE into a normalized fraction and an integral power of 2. */
__MATHCALL (frexp,, (_Mdouble_ __x, int *__exponent));
/* X times (two to the EXP power). */
__MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent));
/* Natural logarithm of X. */
__MATHCALL (log,, (_Mdouble_ __x));
/* Base-ten logarithm of X. */
__MATHCALL (log10,, (_Mdouble_ __x));
/* Break VALUE into integral and fractional parts. */
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr))
__attribute__ ((__nonnull__ (2)));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
/* A function missing in all standards: compute exponent to base ten. */
__MATHCALL (exp10,, (_Mdouble_ __x));
/* Another name occasionally used. */
__MATHCALL (pow10,, (_Mdouble_ __x));
#endif
# 125 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return exp(X) - 1. */
__MATHCALL (expm1,, (_Mdouble_ __x));
/* Return log(1 + X). */
__MATHCALL (log1p,, (_Mdouble_ __x));
/* Return the base 2 signed integral exponent of X. */
__MATHCALL (logb,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 138 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Compute base-2 exponential of X. */
__MATHCALL (exp2,, (_Mdouble_ __x));
/* Compute base-2 logarithm of X. */
__MATHCALL (log2,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 148 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Power functions. */
_Mdouble_BEGIN_NAMESPACE
/* Return X to the Y power. */
__MATHCALL (pow,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return the square root of X. */
__MATHCALL (sqrt,, (_Mdouble_ __x));
_Mdouble_END_NAMESPACE
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return `sqrt(X*X + Y*Y)'. */
__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
__END_NAMESPACE_C99
#endif
# 166 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return the cube root of X. */
__MATHCALL (cbrt,, (_Mdouble_ __x));
__END_NAMESPACE_C99
#endif
# 173 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Nearest integer, absolute value, and remainder functions. */
_Mdouble_BEGIN_NAMESPACE
/* Smallest integral value not less than X. */
__MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
/* Absolute value of X. */
__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__));
/* Largest integer not greater than X. */
__MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
/* Floating-point modulo remainder of X/Y. */
__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
__MATHDECL_1 (int,__finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
_Mdouble_END_NAMESPACE
#ifdef __USE_MISC
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return nonzero if VALUE is finite and not NaN. */
__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Return the remainder of X/Y. */
__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return the fractional part of X after dividing out `ilogb (X)'. */
__MATHCALL (significand,, (_Mdouble_ __x));
#endif /* Use misc. */
# 214 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return X with its signed changed to Y's. */
__MATHCALLX (copysign,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
__END_NAMESPACE_C99
#endif
# 221 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return representation of NaN for double type. */
__MATHCALLX (nan,, (const char *__tagb), (__const__));
__END_NAMESPACE_C99
#endif
# 228 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return nonzero if VALUE is not a number. */
__MATHDECL_1 (int,__isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
#if defined __USE_MISC || defined __USE_XOPEN
/* Return nonzero if VALUE is not a number. */
__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__));
/* Bessel functions. */
__MATHCALL (j0,, (_Mdouble_));
__MATHCALL (j1,, (_Mdouble_));
__MATHCALL (jn,, (int, _Mdouble_));
__MATHCALL (y0,, (_Mdouble_));
__MATHCALL (y1,, (_Mdouble_));
__MATHCALL (yn,, (int, _Mdouble_));
#endif
# 245 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Error and gamma functions. */
__MATHCALL (erf,, (_Mdouble_));
__MATHCALL (erfc,, (_Mdouble_));
__MATHCALL (lgamma,, (_Mdouble_));
__END_NAMESPACE_C99
#endif
# 255 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* True gamma function. */
__MATHCALL (tgamma,, (_Mdouble_));
__END_NAMESPACE_C99
#endif
# 262 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN
/* Obsolete alias for `lgamma'. */
__MATHCALL (gamma,, (_Mdouble_));
#endif
# 267 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_MISC
/* Reentrant version of lgamma. This function uses the global variable
`signgam'. The reentrant version instead takes a pointer and stores
the value through it. */
__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp));
#endif
# 274 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Return the integer nearest X in the direction of the
prevailing rounding mode. */
__MATHCALL (rint,, (_Mdouble_ __x));
/* Return X + epsilon if X < Y, X - epsilon if X > Y. */
__MATHCALLX (nextafter,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
# if defined __USE_ISOC99 && !defined __LDBL_COMPAT
__MATHCALLX (nexttoward,, (_Mdouble_ __x, long double __y), (__const__));
# endif
# 287 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return the remainder of integer divison X / Y with infinite precision. */
__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y));
# if defined __USE_MISC || defined __USE_ISOC99
/* Return X times (2 to the Nth power). */
__MATHCALL (scalbn,, (_Mdouble_ __x, int __n));
# endif
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
/* Return the binary exponent of X, which must be nonzero. */
__MATHDECL (int,ilogb,, (_Mdouble_ __x));
#endif
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#ifdef __USE_ISOC99
/* Return X times (2 to the Nth power). */
__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n));
/* Round X to integral value in floating-point format using current
rounding direction, but do not raise inexact exception. */
__MATHCALL (nearbyint,, (_Mdouble_ __x));
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHCALLX (round,, (_Mdouble_ __x), (__const__));
/* Round X to the integral value in floating-point format nearest but
not larger in magnitude. */
__MATHCALLX (trunc,, (_Mdouble_ __x), (__const__));
/* Compute remainder of X and Y and put in *QUO a value with sign of x/y
and magnitude congruent `mod 2^n' to the magnitude of the integral
quotient x/y, with n >= 3. */
__MATHCALL (remquo,, (_Mdouble_ __x, _Mdouble_ __y, int *__quo));
/* Conversion functions. */
/* Round X to nearest integral value according to current rounding
direction. */
__MATHDECL (long int,lrint,, (_Mdouble_ __x));
__MATHDECL (long long int,llrint,, (_Mdouble_ __x));
/* Round X to nearest integral value, rounding halfway cases away from
zero. */
__MATHDECL (long int,lround,, (_Mdouble_ __x));
__MATHDECL (long long int,llround,, (_Mdouble_ __x));
/* Return positive difference between X and Y. */
__MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y));
/* Return maximum numeric value from X and Y. */
__MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
/* Return minimum numeric value from X and Y. */
__MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__));
/* Classify given number. */
__MATHDECL_1 (int, __fpclassify,, (_Mdouble_ __value))
__attribute__ ((__const__));
/* Test for negative number. */
__MATHDECL_1 (int, __signbit,, (_Mdouble_ __value))
__attribute__ ((__const__));
/* Multiply-add function computed as a ternary operation. */
__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z));
#endif /* Use ISO C99. */
# 357 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
__END_NAMESPACE_C99
#endif
# 361 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
/* Return X times (2 to the Nth power). */
__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n));
#endif
# 366 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h" 3
# 134 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
# undef _Mdouble_
# undef _Mdouble_BEGIN_NAMESPACE
# undef _Mdouble_END_NAMESPACE
# undef __MATH_PRECNAME
# endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */
# 140 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#endif /* Use misc or ISO C99. */
# 142 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#undef __MATHDECL_1
#undef __MATHDECL
#undef __MATHCALL
#if defined __USE_MISC || defined __USE_XOPEN
/* This variable is used by `gamma' and `lgamma'. */
extern int signgam;
#endif
# 151 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* ISO C99 defines some generic macros which work on any data type. */
#ifdef __USE_ISOC99
/* Get the architecture specific values describing the floating-point
evaluation. The following symbols will get defined:
float_t floating-point type at least as wide as `float' used
to evaluate `float' expressions
double_t floating-point type at least as wide as `double' used
to evaluate `double' expressions
FLT_EVAL_METHOD
Defined to
0 if `float_t' is `float' and `double_t' is `double'
1 if `float_t' and `double_t' are `double'
2 if `float_t' and `double_t' are `long double'
else `float_t' and `double_t' are unspecified
INFINITY representation of the infinity value of type `float'
FP_FAST_FMA
FP_FAST_FMAF
FP_FAST_FMAL
If defined it indicates that the `fma' function
generally executes about as fast as a multiply and an add.
This macro is defined only iff the `fma' function is
implemented directly with a hardware multiply-add instructions.
FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'.
FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'.
DECIMAL_DIG Number of decimal digits supported by conversion between
decimal and all internal floating-point formats.
*/
/* All floating-point numbers can be put in one of these categories. */
enum
{
FP_NAN =
# define FP_NAN 0
FP_NAN,
FP_INFINITE =
# define FP_INFINITE 1
FP_INFINITE,
FP_ZERO =
# define FP_ZERO 2
FP_ZERO,
FP_SUBNORMAL =
# define FP_SUBNORMAL 3
FP_SUBNORMAL,
FP_NORMAL =
# define FP_NORMAL 4
FP_NORMAL
};
/* Return number of classification appropriate for X. */
# ifdef __NO_LONG_DOUBLE_MATH
# define fpclassify(x) \
(sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
# else
# 214 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define fpclassify(x) \
(sizeof (x) == sizeof (float) \
? __fpclassifyf (x) \
: sizeof (x) == sizeof (double) \
? __fpclassify (x) : __fpclassifyl (x))
# endif
# 220 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if sign of X is negative. */
# ifdef __NO_LONG_DOUBLE_MATH
# define signbit(x) \
(sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
# else
# 226 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define signbit(x) \
(sizeof (x) == sizeof (float) \
? __signbitf (x) \
: sizeof (x) == sizeof (double) \
? __signbit (x) : __signbitl (x))
# endif
# 232 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if X is not +-Inf or NaN. */
# ifdef __NO_LONG_DOUBLE_MATH
# define isfinite(x) \
(sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
# else
# 238 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define isfinite(x) \
(sizeof (x) == sizeof (float) \
? __finitef (x) \
: sizeof (x) == sizeof (double) \
? __finite (x) : __finitel (x))
# endif
# 244 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
# define isnormal(x) (fpclassify (x) == FP_NORMAL)
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
we already have this functions `__isnan' and it is faster. */
# ifdef __NO_LONG_DOUBLE_MATH
# define isnan(x) \
(sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
# else
# 254 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define isnan(x) \
(sizeof (x) == sizeof (float) \
? __isnanf (x) \
: sizeof (x) == sizeof (double) \
? __isnan (x) : __isnanl (x))
# endif
# 260 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if X is positive or negative infinity. */
# ifdef __NO_LONG_DOUBLE_MATH
# define isinf(x) \
(sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
# else
# 266 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define isinf(x) \
(sizeof (x) == sizeof (float) \
? __isinff (x) \
: sizeof (x) == sizeof (double) \
? __isinf (x) : __isinfl (x))
# endif
# 272 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Bitmasks for the math_errhandling macro. */
# define MATH_ERRNO 1 /* errno set by math functions. */
# define MATH_ERREXCEPT 2 /* Exceptions raised by math functions. */
/* By default all functions support both errno and exception handling.
In gcc's fast math mode and if inline functions are defined this
might not be true. */
# ifndef __FAST_MATH__
# define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT)
# endif
# 283 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#endif /* Use ISO C99. */
# 285 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#ifdef __USE_MISC
/* Support for various different standard error handling behaviors. */
typedef enum
{
_IEEE_ = -1, /* According to IEEE 754/IEEE 854. */
_SVID_, /* According to System V, release 4. */
_XOPEN_, /* Nowadays also Unix98. */
_POSIX_,
_ISOC_ /* Actually this is ISO C99. */
} _LIB_VERSION_TYPE;
/* This variable can be changed at run-time to any of the values above to
affect floating point error handling behavior (it may also be necessary
to change the hardware FPU exception settings). */
extern _LIB_VERSION_TYPE _LIB_VERSION;
#endif
# 302 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#ifdef __USE_SVID
/* In SVID error handling, `matherr' is called with this description
of the exceptional condition.
We have a problem when using C++ since `exception' is a reserved
name in C++. */
# ifdef __cplusplus
struct __exception
# else
# 313 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
struct exception
# endif
# 315 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
{
int type;
char *name;
double arg1;
double arg2;
double retval;
};
# ifdef __cplusplus
extern int matherr (struct __exception *__exc) throw ();
# else
# 326 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
extern int matherr (struct exception *__exc);
# endif
# 328 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# define X_TLOSS 1.41484755040568800000e+16
/* Types of exceptions in the `type' field. */
# define DOMAIN 1
# define SING 2
# define OVERFLOW 3
# define UNDERFLOW 4
# define TLOSS 5
# define PLOSS 6
/* SVID mode specifies returning this large value instead of infinity. */
# define HUGE 3.40282347e+38F
#else /* !SVID */
# 343 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# ifdef __USE_XOPEN
/* X/Open wants another strange constant. */
# define MAXFLOAT 3.40282347e+38F
# endif
# 348 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#endif /* SVID */
# 350 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Some useful constants. */
#if defined __USE_BSD || defined __USE_XOPEN
# define M_E 2.7182818284590452354 /* e */
# define M_LOG2E 1.4426950408889634074 /* log_2 e */
# define M_LOG10E 0.43429448190325182765 /* log_10 e */
# define M_LN2 0.69314718055994530942 /* log_e 2 */
# define M_LN10 2.30258509299404568402 /* log_e 10 */
# define M_PI 3.14159265358979323846 /* pi */
# define M_PI_2 1.57079632679489661923 /* pi/2 */
# define M_PI_4 0.78539816339744830962 /* pi/4 */
# define M_1_PI 0.31830988618379067154 /* 1/pi */
# define M_2_PI 0.63661977236758134308 /* 2/pi */
# define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
# define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
# define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
#endif
# 368 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* The above constants are not adequate for computation using `long double's.
Therefore we provide as an extension constants with similar names as a
GNU extension. Provide enough digits for the 128-bit IEEE quad. */
#ifdef __USE_GNU
# define M_El 2.718281828459045235360287471352662498L /* e */
# define M_LOG2El 1.442695040888963407359924681001892137L /* log_2 e */
# define M_LOG10El 0.434294481903251827651128918916605082L /* log_10 e */
# define M_LN2l 0.693147180559945309417232121458176568L /* log_e 2 */
# define M_LN10l 2.302585092994045684017991454684364208L /* log_e 10 */
# define M_PIl 3.141592653589793238462643383279502884L /* pi */
# define M_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */
# define M_PI_4l 0.785398163397448309615660845819875721L /* pi/4 */
# define M_1_PIl 0.318309886183790671537767526745028724L /* 1/pi */
# define M_2_PIl 0.636619772367581343075535053490057448L /* 2/pi */
# define M_2_SQRTPIl 1.128379167095512573896158903121545172L /* 2/sqrt(pi) */
# define M_SQRT2l 1.414213562373095048801688724209698079L /* sqrt(2) */
# define M_SQRT1_2l 0.707106781186547524400844362104849039L /* 1/sqrt(2) */
#endif
# 387 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* When compiling in strict ISO C compatible mode we must not use the
inline functions since they, among other things, do not set the
`errno' variable correctly. */
#if defined __STRICT_ANSI__ && !defined __NO_MATH_INLINES
# define __NO_MATH_INLINES 1
#endif
# 395 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#if defined __USE_ISOC99 && __GNUC_PREREQ(2,97)
/* ISO C99 defines some macros to compare number while taking care for
unordered numbers. Many FPUs provide special instructions to support
these operations. Generic support in GCC for these as builtins went
in before 3.0.0, but not all cpus added their patterns. We define
versions that use the builtins here, and <bits/mathinline.h> will
undef/redefine as appropriate for the specific GCC version in use. */
# define isgreater(x, y) __builtin_isgreater(x, y)
# define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
# define isless(x, y) __builtin_isless(x, y)
# define islessequal(x, y) __builtin_islessequal(x, y)
# define islessgreater(x, y) __builtin_islessgreater(x, y)
# define isunordered(u, v) __builtin_isunordered(u, v)
#endif
# 410 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Get machine-dependent inline versions (if there are any). */
#ifdef __USE_EXTERN_INLINES
#if 0 /* expanded by -frewrite-includes */
# include <bits/mathinline.h>
#endif /* expanded by -frewrite-includes */
# 413 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 1 3
/* Inline math functions for powerpc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2006, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/mathinline.h> directly; include <math.h> instead."
#endif
# 23 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
#ifndef __extern_inline
# define __MATH_INLINE __inline
#else
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
# define __MATH_INLINE __extern_inline
#endif /* __cplusplus */
# 29 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
#if defined __GNUC__ && !defined _SOFT_FLOAT
#ifdef __USE_ISOC99
# if !__GNUC_PREREQ (2,97)
# define __unordered_cmp(x, y) \
(__extension__ \
({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \
unsigned __r; \
__asm__("fcmpu 7,%1,%2 ; mfcr %0" : "=r" (__r) : "f" (__x), "f"(__y) \
: "cr7"); \
__r; }))
# undef isgreater
# undef isgreaterequal
# undef isless
# undef islessequal
# undef islessgreater
# undef isunordered
# define isgreater(x, y) (__unordered_cmp (x, y) >> 2 & 1)
# define isgreaterequal(x, y) ((__unordered_cmp (x, y) & 6) != 0)
# define isless(x, y) (__unordered_cmp (x, y) >> 3 & 1)
# define islessequal(x, y) ((__unordered_cmp (x, y) & 0xA) != 0)
# define islessgreater(x, y) ((__unordered_cmp (x, y) & 0xC) != 0)
# define isunordered(x, y) (__unordered_cmp (x, y) & 1)
# endif /* __GNUC_PREREQ (2,97) */
# 57 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
/* The gcc, version 2.7 or below, has problems with all this inlining
code. So disable it for this version of the compiler. */
# if __GNUC_PREREQ (2, 8)
/* Test for negative number. Used in the signbit() macro. */
__MATH_INLINE int
__NTH (__signbitf (float __x))
{
__extension__ union { float __f; int __i; } __u = { __f: __x };
return __u.__i < 0;
}
__MATH_INLINE int
__NTH (__signbit (double __x))
{
__extension__ union { double __d; int __i[2]; } __u = { __d: __x };
return __u.__i[0] < 0;
}
# ifdef __LONG_DOUBLE_128__
__MATH_INLINE int
__NTH (__signbitl (long double __x))
{
__extension__ union { long double __d; int __i[4]; } __u = { __d: __x };
return __u.__i[0] < 0;
}
# endif
# 82 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
# endif
# 83 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
#endif /* __USE_ISOC99 */
# 84 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
#if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
#ifdef __USE_ISOC99
# ifndef __powerpc64__
__MATH_INLINE long int lrint (double __x) __THROW;
__MATH_INLINE long int
__NTH (lrint (double __x))
{
union {
double __d;
int __ll[2];
} __u;
__asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x));
return __u.__ll[1];
}
__MATH_INLINE long int lrintf (float __x) __THROW;
__MATH_INLINE long int
__NTH (lrintf (float __x))
{
union {
double __d;
int __ll[2];
} __u;
__asm__ ("fctiw %0,%1" : "=f"(__u.__d) : "f"(__x));
return __u.__ll[1];
}
# endif
# 114 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
__MATH_INLINE double fdim (double __x, double __y) __THROW;
__MATH_INLINE double
__NTH (fdim (double __x, double __y))
{
return __x <= __y ? 0 : __x - __y;
}
__MATH_INLINE float fdimf (float __x, float __y) __THROW;
__MATH_INLINE float
__NTH (fdimf (float __x, float __y))
{
return __x <= __y ? 0 : __x - __y;
}
#endif /* __USE_ISOC99 */
# 130 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
#endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
# 131 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
#endif /* __GNUC__ && !_SOFT_FLOAT */
# 132 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathinline.h" 3
# 414 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
#endif
# 415 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Define special entry points to use when the compiler got told to
only expect finite results. */
#if defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0
#if 0 /* expanded by -frewrite-includes */
# include <bits/math-finite.h>
#endif /* expanded by -frewrite-includes */
# 419 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 1 3
/* Entry points to finite-math-only compiler runs.
Copyright (C) 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_H
# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* acos. */
extern double __REDIRECT_NTH (acos, (double), __acos_finite);
extern float __REDIRECT_NTH (acosf, (float), __acosf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (acosl, (long double), __acos_finite);
# else
# 30 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (acosl, (long double), __acosl_finite);
# endif
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
/* acosh. */
extern double __REDIRECT_NTH (acosh, (double), __acosh_finite);
extern float __REDIRECT_NTH (acoshf, (float), __acoshf_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (acoshl, (long double), __acosh_finite);
# else
# 42 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (acoshl, (long double), __acoshl_finite);
# endif
# 44 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 45 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 46 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* asin. */
extern double __REDIRECT_NTH (asin, (double), __asin_finite);
extern float __REDIRECT_NTH (asinf, (float), __asinf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (asinl, (long double), __asin_finite);
# else
# 54 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (asinl, (long double), __asinl_finite);
# endif
# 56 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 57 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* atan2. */
extern double __REDIRECT_NTH (atan2, (double, double), __atan2_finite);
extern float __REDIRECT_NTH (atan2f, (float, float), __atan2f_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (atan2l, (long double, long double),
__atan2_finite);
# else
# 66 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (atan2l, (long double, long double),
__atan2l_finite);
# endif
# 69 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 70 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
/* atanh. */
extern double __REDIRECT_NTH (atanh, (double), __atanh_finite);
extern float __REDIRECT_NTH (atanhf, (float), __atanhf_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (atanhl, (long double), __atanh_finite);
# else
# 79 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (atanhl, (long double), __atanhl_finite);
# endif
# 81 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 82 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 83 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* cosh. */
extern double __REDIRECT_NTH (cosh, (double), __cosh_finite);
extern float __REDIRECT_NTH (coshf, (float), __coshf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (coshl, (long double), __cosh_finite);
# else
# 91 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (coshl, (long double), __coshl_finite);
# endif
# 93 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 94 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* exp. */
extern double __REDIRECT_NTH (exp, (double), __exp_finite);
extern float __REDIRECT_NTH (expf, (float), __expf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (expl, (long double), __exp_finite);
# else
# 102 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (expl, (long double), __expl_finite);
# endif
# 104 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 105 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#ifdef __USE_GNU
/* exp10. */
extern double __REDIRECT_NTH (exp10, (double), __exp10_finite);
extern float __REDIRECT_NTH (exp10f, (float), __exp10f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (exp10l, (long double), __exp10_finite);
# else
# 114 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (exp10l, (long double), __exp10l_finite);
# endif
# 116 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 117 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* pow10. */
extern double __REDIRECT_NTH (pow10, (double), __exp10_finite);
extern float __REDIRECT_NTH (pow10f, (float), __exp10f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (pow10l, (long double), __exp10_finite);
# else
# 125 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (pow10l, (long double), __exp10l_finite);
# endif
# 127 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 128 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 129 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#ifdef __USE_ISOC99
/* exp2. */
extern double __REDIRECT_NTH (exp2, (double), __exp2_finite);
extern float __REDIRECT_NTH (exp2f, (float), __exp2f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (exp2l, (long double), __exp2_finite);
# else
# 138 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (exp2l, (long double), __exp2l_finite);
# endif
# 140 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 141 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 142 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* fmod. */
extern double __REDIRECT_NTH (fmod, (double, double), __fmod_finite);
extern float __REDIRECT_NTH (fmodf, (float, float), __fmodf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (fmodl, (long double, long double),
__fmod_finite);
# else
# 151 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (fmodl, (long double, long double),
__fmodl_finite);
# endif
# 154 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 155 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#ifdef __USE_ISOC99
/* hypot. */
extern double __REDIRECT_NTH (hypot, (double, double), __hypot_finite);
extern float __REDIRECT_NTH (hypotf, (float, float), __hypotf_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (hypotl, (long double, long double),
__hypot_finite);
# else
# 165 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (hypotl, (long double, long double),
__hypotl_finite);
# endif
# 168 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 169 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 170 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#if defined __USE_MISC || defined __USE_XOPEN
/* j0. */
extern double __REDIRECT_NTH (j0, (double), __j0_finite);
extern float __REDIRECT_NTH (j0f, (float), __j0f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (j0l, (long double), __j0_finite);
# else
# 179 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (j0l, (long double), __j0l_finite);
# endif
# 181 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 182 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* y0. */
extern double __REDIRECT_NTH (y0, (double), __y0_finite);
extern float __REDIRECT_NTH (y0f, (float), __y0f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (y0l, (long double), __y0_finite);
# else
# 190 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (y0l, (long double), __y0l_finite);
# endif
# 192 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 193 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* j1. */
extern double __REDIRECT_NTH (j1, (double), __j1_finite);
extern float __REDIRECT_NTH (j1f, (float), __j1f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (j1l, (long double), __j1_finite);
# else
# 201 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (j1l, (long double), __j1l_finite);
# endif
# 203 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 204 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* y1. */
extern double __REDIRECT_NTH (y1, (double), __y1_finite);
extern float __REDIRECT_NTH (y1f, (float), __y1f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (y1l, (long double), __y1_finite);
# else
# 212 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (y1l, (long double), __y1l_finite);
# endif
# 214 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 215 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* jn. */
extern double __REDIRECT_NTH (jn, (int, double), __jn_finite);
extern float __REDIRECT_NTH (jnf, (int, float), __jnf_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (jnl, (int, long double), __jn_finite);
# else
# 223 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (jnl, (int, long double), __jnl_finite);
# endif
# 225 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 226 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* yn. */
extern double __REDIRECT_NTH (yn, (int, double), __yn_finite);
extern float __REDIRECT_NTH (ynf, (int, float), __ynf_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (ynl, (int, long double), __yn_finite);
# else
# 234 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (ynl, (int, long double), __ynl_finite);
# endif
# 236 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 237 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 238 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#ifdef __USE_MISC
/* lgamma_r. */
extern double __REDIRECT_NTH (lgamma_r, (double, int *), __lgamma_r_finite);
extern float __REDIRECT_NTH (lgammaf_r, (float, int *), __lgammaf_r_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (lgammal_r, (long double, int *),
__lgamma_r_finite);
# else
# 248 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (lgammal_r, (long double, int *),
__lgammal_r_finite);
# endif
# 251 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 252 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 253 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
/* lgamma. */
__extern_always_inline double __NTH (lgamma (double __d))
{
# ifdef __USE_ISOC99
int __local_signgam = 0;
return lgamma_r (__d, &__local_signgam);
# else
# 262 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return lgamma_r (__d, &signgam);
# endif
# 264 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
}
__extern_always_inline float __NTH (lgammaf (float __d))
{
# ifdef __USE_ISOC99
int __local_signgam = 0;
return lgammaf_r (__d, &__local_signgam);
# else
# 271 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return lgammaf_r (__d, &signgam);
# endif
# 273 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
}
# ifdef __MATH_DECLARE_LDOUBLE
__extern_always_inline long double __NTH (lgammal (long double __d))
{
# ifdef __USE_ISOC99
int __local_signgam = 0;
return lgammal_r (__d, &__local_signgam);
# else
# 281 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return lgammal_r (__d, &signgam);
# endif
# 283 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
}
# endif
# 285 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 286 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#if defined __USE_MISC || defined __USE_XOPEN
/* gamma. */
__extern_always_inline double __NTH (gamma (double __d))
{
# ifdef __USE_ISOC99
int __local_signgam = 0;
return lgamma_r (__d, &__local_signgam);
# else
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return lgamma_r (__d, &signgam);
# endif
# 297 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
}
__extern_always_inline float __NTH (gammaf (float __d))
{
# ifdef __USE_ISOC99
int __local_signgam = 0;
return lgammaf_r (__d, &__local_signgam);
# else
# 304 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return lgammaf_r (__d, &signgam);
# endif
# 306 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
}
# ifdef __MATH_DECLARE_LDOUBLE
__extern_always_inline long double __NTH (gammal (long double __d))
{
# ifdef __USE_ISOC99
int __local_signgam = 0;
return lgammal_r (__d, &__local_signgam);
# else
# 314 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return lgammal_r (__d, &signgam);
# endif
# 316 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
}
# endif
# 318 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 319 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* log. */
extern double __REDIRECT_NTH (log, (double), __log_finite);
extern float __REDIRECT_NTH (logf, (float), __logf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (logl, (long double), __log_finite);
# else
# 327 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (logl, (long double), __logl_finite);
# endif
# 329 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 330 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* log10. */
extern double __REDIRECT_NTH (log10, (double), __log10_finite);
extern float __REDIRECT_NTH (log10f, (float), __log10f_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (log10l, (long double), __log10_finite);
# else
# 338 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (log10l, (long double), __log10l_finite);
# endif
# 340 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 341 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#ifdef __USE_ISOC99
/* log2. */
extern double __REDIRECT_NTH (log2, (double), __log2_finite);
extern float __REDIRECT_NTH (log2f, (float), __log2f_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (log2l, (long double), __log2_finite);
# else
# 350 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (log2l, (long double), __log2l_finite);
# endif
# 352 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 353 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 354 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* ldexp. */
extern double __REDIRECT_NTH (ldexp, (double, int), scalbn);
extern float __REDIRECT_NTH (ldexpf, (float, int), scalbnf);
#ifdef __MATH_DECLARE_LDOUBLE
extern long double __REDIRECT_NTH (ldexpl, (long double, int), scalbnl);
#endif
# 361 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* pow. */
extern double __REDIRECT_NTH (pow, (double, double), __pow_finite);
extern float __REDIRECT_NTH (powf, (float, float), __powf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (powl, (long double, long double),
__pow_finite);
# else
# 370 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (powl, (long double, long double),
__powl_finite);
# endif
# 373 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 374 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* remainder. */
extern double __REDIRECT_NTH (remainder, (double, double), __remainder_finite);
extern float __REDIRECT_NTH (remainderf, (float, float), __remainderf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (remainderl, (long double, long double),
__remainder_finite);
# else
# 383 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (remainderl, (long double, long double),
__remainderl_finite);
# endif
# 386 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 387 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
/* scalb. */
extern double __REDIRECT_NTH (scalb, (double, double), __scalb_finite);
extern float __REDIRECT_NTH (scalbf, (float, float), __scalbf_finite);
# ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (scalbl, (long double, long double),
__scalb_finite);
# else
# 397 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (scalbl, (long double, long double),
__scalbl_finite);
# endif
# 400 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# endif
# 401 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 402 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* sinh. */
extern double __REDIRECT_NTH (sinh, (double), __sinh_finite);
extern float __REDIRECT_NTH (sinhf, (float), __sinhf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (sinhl, (long double), __sinh_finite);
# else
# 410 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (sinhl, (long double), __sinhl_finite);
# endif
# 412 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 413 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
/* sqrt. */
extern double __REDIRECT_NTH (sqrt, (double), __sqrt_finite);
extern float __REDIRECT_NTH (sqrtf, (float), __sqrtf_finite);
#ifdef __MATH_DECLARE_LDOUBLE
# ifdef __NO_LONG_DOUBLE_MATH
extern long double __REDIRECT_NTH (sqrtl, (long double), __sqrt_finite);
# else
# 421 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
extern long double __REDIRECT_NTH (sqrtl, (long double), __sqrtl_finite);
# endif
# 423 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 424 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#ifdef __USE_ISOC99
/* tgamma. */
extern double __gamma_r_finite (double, int *);
__extern_always_inline double __NTH (tgamma (double __d))
{
int __local_signgam = 0;
double __res = __gamma_r_finite (__d, &__local_signgam);
return __local_signgam < 0 ? -__res : __res;
}
extern float __gammaf_r_finite (float, int *);
__extern_always_inline float __NTH (tgammaf (float __d))
{
int __local_signgam = 0;
float __res = __gammaf_r_finite (__d, &__local_signgam);
return __local_signgam < 0 ? -__res : __res;
}
# ifdef __MATH_DECLARE_LDOUBLE
extern long double __gammal_r_finite (long double, int *);
__extern_always_inline long double __NTH (tgammal (long double __d))
{
int __local_signgam = 0;
# ifdef __NO_LONG_DOUBLE_MATH
long double __res = __gamma_r_finite (__d, &__local_signgam);
# else
# 449 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
long double __res = __gammal_r_finite (__d, &__local_signgam);
# endif
# 451 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
return __local_signgam < 0 ? -__res : __res;
}
# endif
# 454 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
#endif
# 455 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/math-finite.h" 3
# 420 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 2 3
#endif
# 421 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#ifdef __USE_ISOC99
/* If we've still got undefined comparison macros, provide defaults. */
/* Return nonzero value if X is greater than Y. */
# ifndef isgreater
# define isgreater(x, y) \
(__extension__ \
({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \
!isunordered (__x, __y) && __x > __y; }))
# endif
# 432 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if X is greater than or equal to Y. */
# ifndef isgreaterequal
# define isgreaterequal(x, y) \
(__extension__ \
({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \
!isunordered (__x, __y) && __x >= __y; }))
# endif
# 440 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if X is less than Y. */
# ifndef isless
# define isless(x, y) \
(__extension__ \
({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \
!isunordered (__x, __y) && __x < __y; }))
# endif
# 448 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if X is less than or equal to Y. */
# ifndef islessequal
# define islessequal(x, y) \
(__extension__ \
({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \
!isunordered (__x, __y) && __x <= __y; }))
# endif
# 456 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if either X is less than Y or Y is less than X. */
# ifndef islessgreater
# define islessgreater(x, y) \
(__extension__ \
({ __typeof__(x) __x = (x); __typeof__(y) __y = (y); \
!isunordered (__x, __y) && (__x < __y || __y < __x); }))
# endif
# 464 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
/* Return nonzero value if arguments are unordered. */
# ifndef isunordered
# define isunordered(u, v) \
(__extension__ \
({ __typeof__(u) __u = (u); __typeof__(v) __v = (v); \
fpclassify (__u) == FP_NAN || fpclassify (__v) == FP_NAN; }))
# endif
# 472 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
#endif
# 474 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
__END_DECLS
#endif /* math.h */
# 479 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h" 3
# 302 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <type_traits>
#endif /* expanded by -frewrite-includes */
# 302 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
# 303 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#ifdef _LIBCPP_MSVCRT
#if 0 /* expanded by -frewrite-includes */
#include "support/win32/math_win32.h"
#endif /* expanded by -frewrite-includes */
# 305 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
# 306 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#endif
# 307 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 310 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#endif
# 311 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// signbit
#ifdef signbit
template <class _A1>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_signbit(_A1 __lcpp_x) _NOEXCEPT
{
return signbit(__lcpp_x);
}
#undef signbit
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if<std::is_arithmetic<_A1>::value, bool>::type
signbit(_A1 __lcpp_x) _NOEXCEPT
{
return __libcpp_signbit((typename std::__promote<_A1>::type)__lcpp_x);
}
#endif // signbit
# 335 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// fpclassify
#ifdef fpclassify
template <class _A1>
_LIBCPP_ALWAYS_INLINE
int
__libcpp_fpclassify(_A1 __lcpp_x) _NOEXCEPT
{
return fpclassify(__lcpp_x);
}
#undef fpclassify
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if<std::is_arithmetic<_A1>::value, int>::type
fpclassify(_A1 __lcpp_x) _NOEXCEPT
{
return __libcpp_fpclassify((typename std::__promote<_A1>::type)__lcpp_x);
}
#endif // fpclassify
# 359 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isfinite
#ifdef isfinite
template <class _A1>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isfinite(_A1 __lcpp_x) _NOEXCEPT
{
return isfinite(__lcpp_x);
}
#undef isfinite
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if<std::is_arithmetic<_A1>::value, bool>::type
isfinite(_A1 __lcpp_x) _NOEXCEPT
{
return __libcpp_isfinite((typename std::__promote<_A1>::type)__lcpp_x);
}
#endif // isfinite
# 383 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isinf
#ifdef isinf
template <class _A1>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isinf(_A1 __lcpp_x) _NOEXCEPT
{
return isinf(__lcpp_x);
}
#undef isinf
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if<std::is_arithmetic<_A1>::value, bool>::type
isinf(_A1 __lcpp_x) _NOEXCEPT
{
return __libcpp_isinf((typename std::__promote<_A1>::type)__lcpp_x);
}
#endif // isinf
# 407 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isnan
#ifdef isnan
template <class _A1>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isnan(_A1 __lcpp_x) _NOEXCEPT
{
return isnan(__lcpp_x);
}
#undef isnan
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if<std::is_arithmetic<_A1>::value, bool>::type
isnan(_A1 __lcpp_x) _NOEXCEPT
{
return __libcpp_isnan((typename std::__promote<_A1>::type)__lcpp_x);
}
#endif // isnan
# 431 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isnormal
#ifdef isnormal
template <class _A1>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isnormal(_A1 __lcpp_x) _NOEXCEPT
{
return isnormal(__lcpp_x);
}
#undef isnormal
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if<std::is_arithmetic<_A1>::value, bool>::type
isnormal(_A1 __lcpp_x) _NOEXCEPT
{
return __libcpp_isnormal((typename std::__promote<_A1>::type)__lcpp_x);
}
#endif // isnormal
# 455 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isgreater
#ifdef isgreater
template <class _A1, class _A2>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
return isgreater(__lcpp_x, __lcpp_y);
}
#undef isgreater
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if
<
std::is_arithmetic<_A1>::value &&
std::is_arithmetic<_A2>::value,
bool
>::type
isgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename std::__promote<_A1, _A2>::type type;
return __libcpp_isgreater((type)__lcpp_x, (type)__lcpp_y);
}
#endif // isgreater
# 485 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isgreaterequal
#ifdef isgreaterequal
template <class _A1, class _A2>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isgreaterequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
return isgreaterequal(__lcpp_x, __lcpp_y);
}
#undef isgreaterequal
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if
<
std::is_arithmetic<_A1>::value &&
std::is_arithmetic<_A2>::value,
bool
>::type
isgreaterequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename std::__promote<_A1, _A2>::type type;
return __libcpp_isgreaterequal((type)__lcpp_x, (type)__lcpp_y);
}
#endif // isgreaterequal
# 515 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isless
#ifdef isless
template <class _A1, class _A2>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isless(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
return isless(__lcpp_x, __lcpp_y);
}
#undef isless
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if
<
std::is_arithmetic<_A1>::value &&
std::is_arithmetic<_A2>::value,
bool
>::type
isless(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename std::__promote<_A1, _A2>::type type;
return __libcpp_isless((type)__lcpp_x, (type)__lcpp_y);
}
#endif // isless
# 545 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// islessequal
#ifdef islessequal
template <class _A1, class _A2>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_islessequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
return islessequal(__lcpp_x, __lcpp_y);
}
#undef islessequal
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if
<
std::is_arithmetic<_A1>::value &&
std::is_arithmetic<_A2>::value,
bool
>::type
islessequal(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename std::__promote<_A1, _A2>::type type;
return __libcpp_islessequal((type)__lcpp_x, (type)__lcpp_y);
}
#endif // islessequal
# 575 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// islessgreater
#ifdef islessgreater
template <class _A1, class _A2>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_islessgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
return islessgreater(__lcpp_x, __lcpp_y);
}
#undef islessgreater
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if
<
std::is_arithmetic<_A1>::value &&
std::is_arithmetic<_A2>::value,
bool
>::type
islessgreater(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename std::__promote<_A1, _A2>::type type;
return __libcpp_islessgreater((type)__lcpp_x, (type)__lcpp_y);
}
#endif // islessgreater
# 605 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// isunordered
#ifdef isunordered
template <class _A1, class _A2>
_LIBCPP_ALWAYS_INLINE
bool
__libcpp_isunordered(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
return isunordered(__lcpp_x, __lcpp_y);
}
#undef isunordered
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename std::enable_if
<
std::is_arithmetic<_A1>::value &&
std::is_arithmetic<_A2>::value,
bool
>::type
isunordered(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename std::__promote<_A1, _A2>::type type;
return __libcpp_isunordered((type)__lcpp_x, (type)__lcpp_y);
}
#endif // isunordered
# 635 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
_LIBCPP_BEGIN_NAMESPACE_STD
using ::signbit;
using ::fpclassify;
using ::isfinite;
using ::isinf;
using ::isnan;
using ::isnormal;
using ::isgreater;
using ::isgreaterequal;
using ::isless;
using ::islessequal;
using ::islessgreater;
using ::isunordered;
using ::isunordered;
using ::float_t;
using ::double_t;
// abs
#if defined(__sun__)
using ::abs;
#endif
# 660 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#if !defined(_AIX) && !defined(__sun__)
inline _LIBCPP_INLINE_VISIBILITY
float
abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY
double
abs(double __lcpp_x) _NOEXCEPT {return fabs(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY
long double
abs(long double __lcpp_x) _NOEXCEPT {return fabsl(__lcpp_x);}
#endif // !defined(_AIX)
# 674 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#ifndef __sun__
// acos
using ::acos;
using ::acosf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return acosf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return acosl(__lcpp_x);}
#endif
# 686 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
acos(_A1 __lcpp_x) _NOEXCEPT {return acos((double)__lcpp_x);}
// asin
using ::asin;
using ::asinf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float asin(float __lcpp_x) _NOEXCEPT {return asinf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x) _NOEXCEPT {return asinl(__lcpp_x);}
#endif
# 701 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
asin(_A1 __lcpp_x) _NOEXCEPT {return asin((double)__lcpp_x);}
// atan
using ::atan;
using ::atanf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float atan(float __lcpp_x) _NOEXCEPT {return atanf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __lcpp_x) _NOEXCEPT {return atanl(__lcpp_x);}
#endif
# 716 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
atan(_A1 __lcpp_x) _NOEXCEPT {return atan((double)__lcpp_x);}
// atan2
using ::atan2;
using ::atan2f;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float atan2(float __lcpp_y, float __lcpp_x) _NOEXCEPT {return atan2f(__lcpp_y, __lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __lcpp_y, long double __lcpp_x) _NOEXCEPT {return atan2l(__lcpp_y, __lcpp_x);}
#endif
# 731 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
atan2(_A1 __lcpp_y, _A2 __lcpp_x) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return atan2((__result_type)__lcpp_y, (__result_type)__lcpp_x);
}
// ceil
using ::ceil;
using ::ceilf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float ceil(float __lcpp_x) _NOEXCEPT {return ceilf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double ceil(long double __lcpp_x) _NOEXCEPT {return ceill(__lcpp_x);}
#endif
# 757 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
ceil(_A1 __lcpp_x) _NOEXCEPT {return ceil((double)__lcpp_x);}
// cos
using ::cos;
using ::cosf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float cos(float __lcpp_x) _NOEXCEPT {return cosf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __lcpp_x) _NOEXCEPT {return cosl(__lcpp_x);}
#endif
# 772 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
cos(_A1 __lcpp_x) _NOEXCEPT {return cos((double)__lcpp_x);}
// cosh
using ::cosh;
using ::coshf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float cosh(float __lcpp_x) _NOEXCEPT {return coshf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __lcpp_x) _NOEXCEPT {return coshl(__lcpp_x);}
#endif
# 787 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
cosh(_A1 __lcpp_x) _NOEXCEPT {return cosh((double)__lcpp_x);}
#endif // __sun__
# 794 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// exp
using ::exp;
using ::expf;
#ifndef __sun__
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float exp(float __lcpp_x) _NOEXCEPT {return expf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __lcpp_x) _NOEXCEPT {return expl(__lcpp_x);}
#endif
# 805 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
exp(_A1 __lcpp_x) _NOEXCEPT {return exp((double)__lcpp_x);}
// fabs
using ::fabs;
using ::fabsf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float fabs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double fabs(long double __lcpp_x) _NOEXCEPT {return fabsl(__lcpp_x);}
#endif
# 821 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
fabs(_A1 __lcpp_x) _NOEXCEPT {return fabs((double)__lcpp_x);}
// floor
using ::floor;
using ::floorf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float floor(float __lcpp_x) _NOEXCEPT {return floorf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double floor(long double __lcpp_x) _NOEXCEPT {return floorl(__lcpp_x);}
#endif
# 836 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
floor(_A1 __lcpp_x) _NOEXCEPT {return floor((double)__lcpp_x);}
// fmod
#endif //__sun__
# 845 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::fmod;
using ::fmodf;
#ifndef __sun__
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float fmod(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return fmodf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return fmodl(__lcpp_x, __lcpp_y);}
#endif
# 853 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
fmod(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return fmod((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// frexp
using ::frexp;
using ::frexpf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float frexp(float __lcpp_x, int* __lcpp_e) _NOEXCEPT {return frexpf(__lcpp_x, __lcpp_e);}
inline _LIBCPP_INLINE_VISIBILITY long double frexp(long double __lcpp_x, int* __lcpp_e) _NOEXCEPT {return frexpl(__lcpp_x, __lcpp_e);}
#endif
# 880 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
frexp(_A1 __lcpp_x, int* __lcpp_e) _NOEXCEPT {return frexp((double)__lcpp_x, __lcpp_e);}
// ldexp
using ::ldexp;
using ::ldexpf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float ldexp(float __lcpp_x, int __lcpp_e) _NOEXCEPT {return ldexpf(__lcpp_x, __lcpp_e);}
inline _LIBCPP_INLINE_VISIBILITY long double ldexp(long double __lcpp_x, int __lcpp_e) _NOEXCEPT {return ldexpl(__lcpp_x, __lcpp_e);}
#endif
# 895 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
ldexp(_A1 __lcpp_x, int __lcpp_e) _NOEXCEPT {return ldexp((double)__lcpp_x, __lcpp_e);}
// log
#endif // __sun__
# 904 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::log;
using ::logf;
#ifndef __sun__
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float log(float __lcpp_x) _NOEXCEPT {return logf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double log(long double __lcpp_x) _NOEXCEPT {return logl(__lcpp_x);}
#endif
# 912 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
log(_A1 __lcpp_x) _NOEXCEPT {return log((double)__lcpp_x);}
// log10
using ::log10;
using ::log10f;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float log10(float __lcpp_x) _NOEXCEPT {return log10f(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __lcpp_x) _NOEXCEPT {return log10l(__lcpp_x);}
#endif
# 928 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
log10(_A1 __lcpp_x) _NOEXCEPT {return log10((double)__lcpp_x);}
// modf
using ::modf;
using ::modff;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float modf(float __lcpp_x, float* __lcpp_y) _NOEXCEPT {return modff(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __lcpp_x, long double* __lcpp_y) _NOEXCEPT {return modfl(__lcpp_x, __lcpp_y);}
#endif
# 943 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// pow
#endif // __sun__
# 947 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::pow;
using ::powf;
#ifndef __sun__
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float pow(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return powf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return powl(__lcpp_x, __lcpp_y);}
#endif
# 956 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
pow(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return pow((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// sin
using ::sin;
using ::sinf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float sin(float __lcpp_x) _NOEXCEPT {return sinf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __lcpp_x) _NOEXCEPT {return sinl(__lcpp_x);}
#endif
# 982 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
sin(_A1 __lcpp_x) _NOEXCEPT {return sin((double)__lcpp_x);}
// sinh
using ::sinh;
using ::sinhf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float sinh(float __lcpp_x) _NOEXCEPT {return sinhf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __lcpp_x) _NOEXCEPT {return sinhl(__lcpp_x);}
#endif
# 997 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
sinh(_A1 __lcpp_x) _NOEXCEPT {return sinh((double)__lcpp_x);}
// sqrt
#endif // __sun__
# 1006 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::sqrt;
using ::sqrtf;
#if !(defined(_LIBCPP_MSVCRT) || defined(__sun__) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float sqrt(float __lcpp_x) _NOEXCEPT {return sqrtf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __lcpp_x) _NOEXCEPT {return sqrtl(__lcpp_x);}
#endif
# 1014 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
sqrt(_A1 __lcpp_x) _NOEXCEPT {return sqrt((double)__lcpp_x);}
// tan
using ::tan;
using ::tanf;
#ifndef __sun__
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float tan(float __lcpp_x) _NOEXCEPT {return tanf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __lcpp_x) _NOEXCEPT {return tanl(__lcpp_x);}
#endif
# 1030 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
tan(_A1 __lcpp_x) _NOEXCEPT {return tan((double)__lcpp_x);}
// tanh
using ::tanh;
using ::tanhf;
#if !(defined(_LIBCPP_MSVCRT) || defined(_AIX))
inline _LIBCPP_INLINE_VISIBILITY float tanh(float __lcpp_x) _NOEXCEPT {return tanhf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __lcpp_x) _NOEXCEPT {return tanhl(__lcpp_x);}
#endif
# 1045 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
tanh(_A1 __lcpp_x) _NOEXCEPT {return tanh((double)__lcpp_x);}
// acosh
#ifndef _LIBCPP_MSVCRT
using ::acosh;
using ::acoshf;
inline _LIBCPP_INLINE_VISIBILITY float acosh(float __lcpp_x) _NOEXCEPT {return acoshf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double acosh(long double __lcpp_x) _NOEXCEPT {return acoshl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
acosh(_A1 __lcpp_x) _NOEXCEPT {return acosh((double)__lcpp_x);}
#endif
# 1065 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// asinh
#ifndef _LIBCPP_MSVCRT
using ::asinh;
using ::asinhf;
inline _LIBCPP_INLINE_VISIBILITY float asinh(float __lcpp_x) _NOEXCEPT {return asinhf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double asinh(long double __lcpp_x) _NOEXCEPT {return asinhl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
asinh(_A1 __lcpp_x) _NOEXCEPT {return asinh((double)__lcpp_x);}
#endif
# 1080 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// atanh
#ifndef _LIBCPP_MSVCRT
using ::atanh;
using ::atanhf;
inline _LIBCPP_INLINE_VISIBILITY float atanh(float __lcpp_x) _NOEXCEPT {return atanhf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double atanh(long double __lcpp_x) _NOEXCEPT {return atanhl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
atanh(_A1 __lcpp_x) _NOEXCEPT {return atanh((double)__lcpp_x);}
#endif
# 1095 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// cbrt
#ifndef _LIBCPP_MSVCRT
using ::cbrt;
using ::cbrtf;
inline _LIBCPP_INLINE_VISIBILITY float cbrt(float __lcpp_x) _NOEXCEPT {return cbrtf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double cbrt(long double __lcpp_x) _NOEXCEPT {return cbrtl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
cbrt(_A1 __lcpp_x) _NOEXCEPT {return cbrt((double)__lcpp_x);}
#endif
# 1110 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// copysign
using ::copysign;
using ::copysignf;
#if !defined(_VC_CRT_MAJOR_VERSION) || (_VC_CRT_MAJOR_VERSION < 12)
inline _LIBCPP_INLINE_VISIBILITY float copysign(float __lcpp_x,
float __lcpp_y) _NOEXCEPT {
return copysignf(__lcpp_x, __lcpp_y);
}
inline _LIBCPP_INLINE_VISIBILITY long double
copysign(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {
return copysignl(__lcpp_x, __lcpp_y);
}
#endif
# 1126 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
copysign(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return copysign((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
#ifndef _LIBCPP_MSVCRT
// erf
using ::erf;
using ::erff;
inline _LIBCPP_INLINE_VISIBILITY float erf(float __lcpp_x) _NOEXCEPT {return erff(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double erf(long double __lcpp_x) _NOEXCEPT {return erfl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
erf(_A1 __lcpp_x) _NOEXCEPT {return erf((double)__lcpp_x);}
// erfc
using ::erfc;
using ::erfcf;
inline _LIBCPP_INLINE_VISIBILITY float erfc(float __lcpp_x) _NOEXCEPT {return erfcf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double erfc(long double __lcpp_x) _NOEXCEPT {return erfcl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
erfc(_A1 __lcpp_x) _NOEXCEPT {return erfc((double)__lcpp_x);}
// exp2
using ::exp2;
using ::exp2f;
inline _LIBCPP_INLINE_VISIBILITY float exp2(float __lcpp_x) _NOEXCEPT {return exp2f(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double exp2(long double __lcpp_x) _NOEXCEPT {return exp2l(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
exp2(_A1 __lcpp_x) _NOEXCEPT {return exp2((double)__lcpp_x);}
// expm1
using ::expm1;
using ::expm1f;
inline _LIBCPP_INLINE_VISIBILITY float expm1(float __lcpp_x) _NOEXCEPT {return expm1f(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double expm1(long double __lcpp_x) _NOEXCEPT {return expm1l(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
expm1(_A1 __lcpp_x) _NOEXCEPT {return expm1((double)__lcpp_x);}
// fdim
using ::fdim;
using ::fdimf;
inline _LIBCPP_INLINE_VISIBILITY float fdim(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return fdimf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double fdim(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return fdiml(__lcpp_x, __lcpp_y);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
fdim(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return fdim((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// fma
using ::fmaf;
using ::fma;
inline _LIBCPP_INLINE_VISIBILITY float fma(float __lcpp_x, float __lcpp_y, float __lcpp_z) _NOEXCEPT {return fmaf(__lcpp_x, __lcpp_y, __lcpp_z);}
inline _LIBCPP_INLINE_VISIBILITY long double fma(long double __lcpp_x, long double __lcpp_y, long double __lcpp_z) _NOEXCEPT {return fmal(__lcpp_x, __lcpp_y, __lcpp_z);}
template <class _A1, class _A2, class _A3>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value &&
is_arithmetic<_A3>::value,
__promote<_A1, _A2, _A3>
>::type
fma(_A1 __lcpp_x, _A2 __lcpp_y, _A3 __lcpp_z) _NOEXCEPT
{
typedef typename __promote<_A1, _A2, _A3>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value &&
is_same<_A3, __result_type>::value)), "");
return fma((__result_type)__lcpp_x, (__result_type)__lcpp_y, (__result_type)__lcpp_z);
}
// fmax
using ::fmax;
using ::fmaxf;
inline _LIBCPP_INLINE_VISIBILITY float fmax(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return fmaxf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double fmax(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return fmaxl(__lcpp_x, __lcpp_y);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
fmax(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return fmax((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// fmin
using ::fmin;
using ::fminf;
inline _LIBCPP_INLINE_VISIBILITY float fmin(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return fminf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double fmin(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return fminl(__lcpp_x, __lcpp_y);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
fmin(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return fmin((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// hypot
using ::hypot;
using ::hypotf;
inline _LIBCPP_INLINE_VISIBILITY float hypot(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return hypotf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double hypot(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return hypotl(__lcpp_x, __lcpp_y);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
hypot(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return hypot((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// ilogb
using ::ilogb;
using ::ilogbf;
inline _LIBCPP_INLINE_VISIBILITY int ilogb(float __lcpp_x) _NOEXCEPT {return ilogbf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY int ilogb(long double __lcpp_x) _NOEXCEPT {return ilogbl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, int>::type
ilogb(_A1 __lcpp_x) _NOEXCEPT {return ilogb((double)__lcpp_x);}
// lgamma
using ::lgamma;
using ::lgammaf;
inline _LIBCPP_INLINE_VISIBILITY float lgamma(float __lcpp_x) _NOEXCEPT {return lgammaf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double lgamma(long double __lcpp_x) _NOEXCEPT {return lgammal(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
lgamma(_A1 __lcpp_x) _NOEXCEPT {return lgamma((double)__lcpp_x);}
// llrint
using ::llrint;
using ::llrintf;
inline _LIBCPP_INLINE_VISIBILITY long long llrint(float __lcpp_x) _NOEXCEPT {return llrintf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long long llrint(long double __lcpp_x) _NOEXCEPT {return llrintl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, long long>::type
llrint(_A1 __lcpp_x) _NOEXCEPT {return llrint((double)__lcpp_x);}
// llround
using ::llround;
using ::llroundf;
inline _LIBCPP_INLINE_VISIBILITY long long llround(float __lcpp_x) _NOEXCEPT {return llroundf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long long llround(long double __lcpp_x) _NOEXCEPT {return llroundl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, long long>::type
llround(_A1 __lcpp_x) _NOEXCEPT {return llround((double)__lcpp_x);}
// log1p
using ::log1p;
using ::log1pf;
inline _LIBCPP_INLINE_VISIBILITY float log1p(float __lcpp_x) _NOEXCEPT {return log1pf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double log1p(long double __lcpp_x) _NOEXCEPT {return log1pl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
log1p(_A1 __lcpp_x) _NOEXCEPT {return log1p((double)__lcpp_x);}
// log2
using ::log2;
using ::log2f;
inline _LIBCPP_INLINE_VISIBILITY float log2(float __lcpp_x) _NOEXCEPT {return log2f(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double log2(long double __lcpp_x) _NOEXCEPT {return log2l(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
log2(_A1 __lcpp_x) _NOEXCEPT {return log2((double)__lcpp_x);}
// logb
using ::logb;
using ::logbf;
inline _LIBCPP_INLINE_VISIBILITY float logb(float __lcpp_x) _NOEXCEPT {return logbf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double logb(long double __lcpp_x) _NOEXCEPT {return logbl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
logb(_A1 __lcpp_x) _NOEXCEPT {return logb((double)__lcpp_x);}
// lrint
using ::lrint;
using ::lrintf;
inline _LIBCPP_INLINE_VISIBILITY long lrint(float __lcpp_x) _NOEXCEPT {return lrintf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long lrint(long double __lcpp_x) _NOEXCEPT {return lrintl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, long>::type
lrint(_A1 __lcpp_x) _NOEXCEPT {return lrint((double)__lcpp_x);}
// lround
using ::lround;
using ::lroundf;
inline _LIBCPP_INLINE_VISIBILITY long lround(float __lcpp_x) _NOEXCEPT {return lroundf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long lround(long double __lcpp_x) _NOEXCEPT {return lroundl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, long>::type
lround(_A1 __lcpp_x) _NOEXCEPT {return lround((double)__lcpp_x);}
#endif // _LIBCPP_MSVCRT
# 1439 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#endif // __sun__
# 1440 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
// nan
#ifndef _LIBCPP_MSVCRT
using ::nan;
using ::nanf;
#endif // _LIBCPP_MSVCRT
# 1447 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#ifndef __sun__
#ifndef _LIBCPP_MSVCRT
// nearbyint
using ::nearbyint;
using ::nearbyintf;
inline _LIBCPP_INLINE_VISIBILITY float nearbyint(float __lcpp_x) _NOEXCEPT {return nearbyintf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double nearbyint(long double __lcpp_x) _NOEXCEPT {return nearbyintl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
nearbyint(_A1 __lcpp_x) _NOEXCEPT {return nearbyint((double)__lcpp_x);}
// nextafter
using ::nextafter;
using ::nextafterf;
inline _LIBCPP_INLINE_VISIBILITY float nextafter(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return nextafterf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double nextafter(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nextafterl(__lcpp_x, __lcpp_y);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
nextafter(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return nextafter((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// nexttoward
using ::nexttoward;
using ::nexttowardf;
inline _LIBCPP_INLINE_VISIBILITY float nexttoward(float __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nexttowardf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double nexttoward(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nexttowardl(__lcpp_x, __lcpp_y);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
nexttoward(_A1 __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nexttoward((double)__lcpp_x, __lcpp_y);}
// remainder
using ::remainder;
using ::remainderf;
inline _LIBCPP_INLINE_VISIBILITY float remainder(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return remainderf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double remainder(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return remainderl(__lcpp_x, __lcpp_y);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
remainder(_A1 __lcpp_x, _A2 __lcpp_y) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return remainder((__result_type)__lcpp_x, (__result_type)__lcpp_y);
}
// remquo
using ::remquo;
using ::remquof;
inline _LIBCPP_INLINE_VISIBILITY float remquo(float __lcpp_x, float __lcpp_y, int* __lcpp_z) _NOEXCEPT {return remquof(__lcpp_x, __lcpp_y, __lcpp_z);}
inline _LIBCPP_INLINE_VISIBILITY long double remquo(long double __lcpp_x, long double __lcpp_y, int* __lcpp_z) _NOEXCEPT {return remquol(__lcpp_x, __lcpp_y, __lcpp_z);}
template <class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename __lazy_enable_if
<
is_arithmetic<_A1>::value &&
is_arithmetic<_A2>::value,
__promote<_A1, _A2>
>::type
remquo(_A1 __lcpp_x, _A2 __lcpp_y, int* __lcpp_z) _NOEXCEPT
{
typedef typename __promote<_A1, _A2>::type __result_type;
static_assert((!(is_same<_A1, __result_type>::value &&
is_same<_A2, __result_type>::value)), "");
return remquo((__result_type)__lcpp_x, (__result_type)__lcpp_y, __lcpp_z);
}
// rint
using ::rint;
using ::rintf;
inline _LIBCPP_INLINE_VISIBILITY float rint(float __lcpp_x) _NOEXCEPT {return rintf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double rint(long double __lcpp_x) _NOEXCEPT {return rintl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
rint(_A1 __lcpp_x) _NOEXCEPT {return rint((double)__lcpp_x);}
// round
using ::round;
using ::roundf;
inline _LIBCPP_INLINE_VISIBILITY float round(float __lcpp_x) _NOEXCEPT {return roundf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double round(long double __lcpp_x) _NOEXCEPT {return roundl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
round(_A1 __lcpp_x) _NOEXCEPT {return round((double)__lcpp_x);}
// scalbln
using ::scalbln;
using ::scalblnf;
inline _LIBCPP_INLINE_VISIBILITY float scalbln(float __lcpp_x, long __lcpp_y) _NOEXCEPT {return scalblnf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double scalbln(long double __lcpp_x, long __lcpp_y) _NOEXCEPT {return scalblnl(__lcpp_x, __lcpp_y);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
scalbln(_A1 __lcpp_x, long __lcpp_y) _NOEXCEPT {return scalbln((double)__lcpp_x, __lcpp_y);}
// scalbn
using ::scalbn;
using ::scalbnf;
inline _LIBCPP_INLINE_VISIBILITY float scalbn(float __lcpp_x, int __lcpp_y) _NOEXCEPT {return scalbnf(__lcpp_x, __lcpp_y);}
inline _LIBCPP_INLINE_VISIBILITY long double scalbn(long double __lcpp_x, int __lcpp_y) _NOEXCEPT {return scalbnl(__lcpp_x, __lcpp_y);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
scalbn(_A1 __lcpp_x, int __lcpp_y) _NOEXCEPT {return scalbn((double)__lcpp_x, __lcpp_y);}
// tgamma
using ::tgamma;
using ::tgammaf;
inline _LIBCPP_INLINE_VISIBILITY float tgamma(float __lcpp_x) _NOEXCEPT {return tgammaf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double tgamma(long double __lcpp_x) _NOEXCEPT {return tgammal(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
tgamma(_A1 __lcpp_x) _NOEXCEPT {return tgamma((double)__lcpp_x);}
// trunc
using ::trunc;
using ::truncf;
inline _LIBCPP_INLINE_VISIBILITY float trunc(float __lcpp_x) _NOEXCEPT {return truncf(__lcpp_x);}
inline _LIBCPP_INLINE_VISIBILITY long double trunc(long double __lcpp_x) _NOEXCEPT {return truncl(__lcpp_x);}
template <class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename enable_if<is_integral<_A1>::value, double>::type
trunc(_A1 __lcpp_x) _NOEXCEPT {return trunc((double)__lcpp_x);}
#endif // !_LIBCPP_MSVCRT
# 1628 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::acosl;
using ::asinl;
using ::atanl;
using ::atan2l;
using ::ceill;
using ::cosl;
using ::coshl;
using ::expl;
using ::fabsl;
using ::floorl;
using ::fmodl;
using ::frexpl;
using ::ldexpl;
using ::logl;
using ::log10l;
using ::modfl;
using ::powl;
using ::sinl;
using ::sinhl;
using ::sqrtl;
using ::tanl;
#ifndef _LIBCPP_MSVCRT
using ::tanhl;
using ::acoshl;
using ::asinhl;
using ::atanhl;
using ::cbrtl;
#endif // !_LIBCPP_MSVCRT
# 1657 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::copysignl;
#ifndef _LIBCPP_MSVCRT
using ::erfl;
using ::erfcl;
using ::exp2l;
using ::expm1l;
using ::fdiml;
using ::fmal;
using ::fmaxl;
using ::fminl;
using ::hypotl;
using ::ilogbl;
using ::lgammal;
using ::llrintl;
using ::llroundl;
using ::log1pl;
using ::log2l;
using ::logbl;
using ::lrintl;
using ::lroundl;
using ::nanl;
using ::nearbyintl;
using ::nextafterl;
using ::nexttowardl;
using ::remainderl;
using ::remquol;
using ::rintl;
using ::roundl;
using ::scalblnl;
using ::scalbnl;
using ::tgammal;
using ::truncl;
#endif // !_LIBCPP_MSVCRT
# 1690 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
#else
# 1692 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
using ::lgamma;
using ::lgammaf;
#endif // __sun__
# 1695 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CMATH
# 1698 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cmath" 3
# 247 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <sstream>
#endif /* expanded by -frewrite-includes */
# 247 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/complex" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/sstream" 1 3
// -*- C++ -*-
//===--------------------------- sstream ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_SSTREAM
#define _LIBCPP_SSTREAM
/*
sstream synopsis
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_stringbuf
: public basic_streambuf<charT, traits>
{
public:
typedef charT char_type;
typedef traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
typedef Allocator allocator_type;
// 27.8.1.1 Constructors:
explicit basic_stringbuf(ios_base::openmode which = ios_base::in | ios_base::out);
explicit basic_stringbuf(const basic_string<char_type, traits_type, allocator_type>& str,
ios_base::openmode which = ios_base::in | ios_base::out);
basic_stringbuf(basic_stringbuf&& rhs);
// 27.8.1.2 Assign and swap:
basic_stringbuf& operator=(basic_stringbuf&& rhs);
void swap(basic_stringbuf& rhs);
// 27.8.1.3 Get and set:
basic_string<char_type, traits_type, allocator_type> str() const;
void str(const basic_string<char_type, traits_type, allocator_type>& s);
protected:
// 27.8.1.4 Overridden virtual functions:
virtual int_type underflow();
virtual int_type pbackfail(int_type c = traits_type::eof());
virtual int_type overflow (int_type c = traits_type::eof());
virtual basic_streambuf<char_type, traits_type>* setbuf(char_type*, streamsize);
virtual pos_type seekoff(off_type off, ios_base::seekdir way,
ios_base::openmode which = ios_base::in | ios_base::out);
virtual pos_type seekpos(pos_type sp,
ios_base::openmode which = ios_base::in | ios_base::out);
};
template <class charT, class traits, class Allocator>
void swap(basic_stringbuf<charT, traits, Allocator>& x,
basic_stringbuf<charT, traits, Allocator>& y);
typedef basic_stringbuf<char> stringbuf;
typedef basic_stringbuf<wchar_t> wstringbuf;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_istringstream
: public basic_istream<charT, traits>
{
public:
typedef charT char_type;
typedef traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
typedef Allocator allocator_type;
// 27.8.2.1 Constructors:
explicit basic_istringstream(ios_base::openmode which = ios_base::in);
explicit basic_istringstream(const basic_string<char_type, traits_type,allocator_type>& str,
ios_base::openmode which = ios_base::in);
basic_istringstream(basic_istringstream&& rhs);
// 27.8.2.2 Assign and swap:
basic_istringstream& operator=(basic_istringstream&& rhs);
void swap(basic_istringstream& rhs);
// 27.8.2.3 Members:
basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
basic_string<char_type, traits_type, allocator_type> str() const;
void str(const basic_string<char_type, traits_type, allocator_type>& s);
};
template <class charT, class traits, class Allocator>
void swap(basic_istringstream<charT, traits, Allocator>& x,
basic_istringstream<charT, traits, Allocator>& y);
typedef basic_istringstream<char> istringstream;
typedef basic_istringstream<wchar_t> wistringstream;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_ostringstream
: public basic_ostream<charT, traits>
{
public:
// types:
typedef charT char_type;
typedef traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
typedef Allocator allocator_type;
// 27.8.3.1 Constructors/destructor:
explicit basic_ostringstream(ios_base::openmode which = ios_base::out);
explicit basic_ostringstream(const basic_string<char_type, traits_type, allocator_type>& str,
ios_base::openmode which = ios_base::out);
basic_ostringstream(basic_ostringstream&& rhs);
// 27.8.3.2 Assign/swap:
basic_ostringstream& operator=(basic_ostringstream&& rhs);
void swap(basic_ostringstream& rhs);
// 27.8.3.3 Members:
basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
basic_string<char_type, traits_type, allocator_type> str() const;
void str(const basic_string<char_type, traits_type, allocator_type>& s);
};
template <class charT, class traits, class Allocator>
void swap(basic_ostringstream<charT, traits, Allocator>& x,
basic_ostringstream<charT, traits, Allocator>& y);
typedef basic_ostringstream<char> ostringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_stringstream
: public basic_iostream<charT, traits>
{
public:
// types:
typedef charT char_type;
typedef traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
typedef Allocator allocator_type;
// constructors/destructor
explicit basic_stringstream(ios_base::openmode which = ios_base::out|ios_base::in);
explicit basic_stringstream(const basic_string<char_type, traits_type, allocator_type>& str,
ios_base::openmode which = ios_base::out|ios_base::in);
basic_stringstream(basic_stringstream&& rhs);
// 27.8.5.1 Assign/swap:
basic_stringstream& operator=(basic_stringstream&& rhs);
void swap(basic_stringstream& rhs);
// Members:
basic_stringbuf<char_type, traits_type, allocator_type>* rdbuf() const;
basic_string<char_type, traits_type, allocator_type> str() const;
void str(const basic_string<char_type, traits_type, allocator_type>& str);
};
template <class charT, class traits, class Allocator>
void swap(basic_stringstream<charT, traits, Allocator>& x,
basic_stringstream<charT, traits, Allocator>& y);
typedef basic_stringstream<char> stringstream;
typedef basic_stringstream<wchar_t> wstringstream;
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 173 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/sstream" 3
# 174 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/sstream" 3
#if 0 /* expanded by -frewrite-includes */
#include <ostream>
#endif /* expanded by -frewrite-includes */
# 174 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/sstream" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ostream" 1 3
// -*- C++ -*-
//===-------------------------- ostream -----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_OSTREAM
#define _LIBCPP_OSTREAM
/*
ostream synopsis
template <class charT, class traits = char_traits<charT> >
class basic_ostream
: virtual public basic_ios<charT,traits>
{
public:
// types (inherited from basic_ios (27.5.4)):
typedef charT char_type;
typedef traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
// 27.7.2.2 Constructor/destructor:
explicit basic_ostream(basic_streambuf<char_type,traits>* sb);
basic_ostream(basic_ostream&& rhs);
virtual ~basic_ostream();
// 27.7.2.3 Assign/swap
basic_ostream& operator=(const basic_ostream& rhs) = delete; // C++14
basic_ostream& operator=(basic_ostream&& rhs);
void swap(basic_ostream& rhs);
// 27.7.2.4 Prefix/suffix:
class sentry;
// 27.7.2.6 Formatted output:
basic_ostream& operator<<(basic_ostream& (*pf)(basic_ostream&));
basic_ostream& operator<<(basic_ios<charT, traits>& (*pf)(basic_ios<charT,traits>&));
basic_ostream& operator<<(ios_base& (*pf)(ios_base&));
basic_ostream& operator<<(bool n);
basic_ostream& operator<<(short n);
basic_ostream& operator<<(unsigned short n);
basic_ostream& operator<<(int n);
basic_ostream& operator<<(unsigned int n);
basic_ostream& operator<<(long n);
basic_ostream& operator<<(unsigned long n);
basic_ostream& operator<<(long long n);
basic_ostream& operator<<(unsigned long long n);
basic_ostream& operator<<(float f);
basic_ostream& operator<<(double f);
basic_ostream& operator<<(long double f);
basic_ostream& operator<<(const void* p);
basic_ostream& operator<<(basic_streambuf<char_type,traits>* sb);
// 27.7.2.7 Unformatted output:
basic_ostream& put(char_type c);
basic_ostream& write(const char_type* s, streamsize n);
basic_ostream& flush();
// 27.7.2.5 seeks:
pos_type tellp();
basic_ostream& seekp(pos_type);
basic_ostream& seekp(off_type, ios_base::seekdir);
protected:
basic_ostream(const basic_ostream& rhs) = delete;
basic_ostream(basic_ostream&& rhs);
// 27.7.3.3 Assign/swap
basic_ostream& operator=(basic_ostream& rhs) = delete;
basic_ostream& operator=(const basic_ostream&& rhs);
void swap(basic_ostream& rhs);
};
// 27.7.2.6.4 character inserters
template<class charT, class traits>
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, charT);
template<class charT, class traits>
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, char);
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, char);
// signed and unsigned
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, signed char);
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, unsigned char);
// NTBS
template<class charT, class traits>
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const charT*);
template<class charT, class traits>
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>&, const char*);
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const char*);
// signed and unsigned
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const signed char*);
template<class traits>
basic_ostream<char,traits>& operator<<(basic_ostream<char,traits>&, const unsigned char*);
// swap:
template <class charT, class traits>
void swap(basic_ostream<charT, traits>& x, basic_ostream<charT, traits>& y);
template <class charT, class traits>
basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
template <class charT, class traits>
basic_ostream<charT,traits>& ends(basic_ostream<charT,traits>& os);
template <class charT, class traits>
basic_ostream<charT,traits>& flush(basic_ostream<charT,traits>& os);
// rvalue stream insertion
template <class charT, class traits, class T>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>&& os, const T& x);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 137 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ostream" 3
# 138 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ostream" 3
#if 0 /* expanded by -frewrite-includes */
#include <ios>
#endif /* expanded by -frewrite-includes */
# 138 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ostream" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ios" 1 3
// -*- C++ -*-
//===---------------------------- ios -------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_IOS
#define _LIBCPP_IOS
/*
ios synopsis
#include <iosfwd>
namespace std
{
typedef OFF_T streamoff;
typedef SZ_T streamsize;
template <class stateT> class fpos;
class ios_base
{
public:
class failure;
typedef T1 fmtflags;
static constexpr fmtflags boolalpha;
static constexpr fmtflags dec;
static constexpr fmtflags fixed;
static constexpr fmtflags hex;
static constexpr fmtflags internal;
static constexpr fmtflags left;
static constexpr fmtflags oct;
static constexpr fmtflags right;
static constexpr fmtflags scientific;
static constexpr fmtflags showbase;
static constexpr fmtflags showpoint;
static constexpr fmtflags showpos;
static constexpr fmtflags skipws;
static constexpr fmtflags unitbuf;
static constexpr fmtflags uppercase;
static constexpr fmtflags adjustfield;
static constexpr fmtflags basefield;
static constexpr fmtflags floatfield;
typedef T2 iostate;
static constexpr iostate badbit;
static constexpr iostate eofbit;
static constexpr iostate failbit;
static constexpr iostate goodbit;
typedef T3 openmode;
static constexpr openmode app;
static constexpr openmode ate;
static constexpr openmode binary;
static constexpr openmode in;
static constexpr openmode out;
static constexpr openmode trunc;
typedef T4 seekdir;
static constexpr seekdir beg;
static constexpr seekdir cur;
static constexpr seekdir end;
class Init;
// 27.5.2.2 fmtflags state:
fmtflags flags() const;
fmtflags flags(fmtflags fmtfl);
fmtflags setf(fmtflags fmtfl);
fmtflags setf(fmtflags fmtfl, fmtflags mask);
void unsetf(fmtflags mask);
streamsize precision() const;
streamsize precision(streamsize prec);
streamsize width() const;
streamsize width(streamsize wide);
// 27.5.2.3 locales:
locale imbue(const locale& loc);
locale getloc() const;
// 27.5.2.5 storage:
static int xalloc();
long& iword(int index);
void*& pword(int index);
// destructor
virtual ~ios_base();
// 27.5.2.6 callbacks;
enum event { erase_event, imbue_event, copyfmt_event };
typedef void (*event_callback)(event, ios_base&, int index);
void register_callback(event_callback fn, int index);
ios_base(const ios_base&) = delete;
ios_base& operator=(const ios_base&) = delete;
static bool sync_with_stdio(bool sync = true);
protected:
ios_base();
};
template <class charT, class traits = char_traits<charT> >
class basic_ios
: public ios_base
{
public:
// types:
typedef charT char_type;
typedef typename traits::int_type int_type;
typedef typename traits::pos_type pos_type;
typedef typename traits::off_type off_type;
typedef traits traits_type;
operator unspecified-bool-type() const;
bool operator!() const;
iostate rdstate() const;
void clear(iostate state = goodbit);
void setstate(iostate state);
bool good() const;
bool eof() const;
bool fail() const;
bool bad() const;
iostate exceptions() const;
void exceptions(iostate except);
// 27.5.4.1 Constructor/destructor:
explicit basic_ios(basic_streambuf<charT,traits>* sb);
virtual ~basic_ios();
// 27.5.4.2 Members:
basic_ostream<charT,traits>* tie() const;
basic_ostream<charT,traits>* tie(basic_ostream<charT,traits>* tiestr);
basic_streambuf<charT,traits>* rdbuf() const;
basic_streambuf<charT,traits>* rdbuf(basic_streambuf<charT,traits>* sb);
basic_ios& copyfmt(const basic_ios& rhs);
char_type fill() const;
char_type fill(char_type ch);
locale imbue(const locale& loc);
char narrow(char_type c, char dfault) const;
char_type widen(char c) const;
basic_ios(const basic_ios& ) = delete;
basic_ios& operator=(const basic_ios&) = delete;
protected:
basic_ios();
void init(basic_streambuf<charT,traits>* sb);
void move(basic_ios& rhs);
void swap(basic_ios& rhs) noexcept;
void set_rdbuf(basic_streambuf<charT, traits>* sb);
};
// 27.5.5, manipulators:
ios_base& boolalpha (ios_base& str);
ios_base& noboolalpha(ios_base& str);
ios_base& showbase (ios_base& str);
ios_base& noshowbase (ios_base& str);
ios_base& showpoint (ios_base& str);
ios_base& noshowpoint(ios_base& str);
ios_base& showpos (ios_base& str);
ios_base& noshowpos (ios_base& str);
ios_base& skipws (ios_base& str);
ios_base& noskipws (ios_base& str);
ios_base& uppercase (ios_base& str);
ios_base& nouppercase(ios_base& str);
ios_base& unitbuf (ios_base& str);
ios_base& nounitbuf (ios_base& str);
// 27.5.5.2 adjustfield:
ios_base& internal (ios_base& str);
ios_base& left (ios_base& str);
ios_base& right (ios_base& str);
// 27.5.5.3 basefield:
ios_base& dec (ios_base& str);
ios_base& hex (ios_base& str);
ios_base& oct (ios_base& str);
// 27.5.5.4 floatfield:
ios_base& fixed (ios_base& str);
ios_base& scientific (ios_base& str);
ios_base& hexfloat (ios_base& str);
ios_base& defaultfloat(ios_base& str);
// 27.5.5.5 error reporting:
enum class io_errc
{
stream = 1
};
concept_map ErrorCodeEnum<io_errc> { };
error_code make_error_code(io_errc e) noexcept;
error_condition make_error_condition(io_errc e) noexcept;
storage-class-specifier const error_category& iostream_category() noexcept;
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 214 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ios" 3
# 215 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ios" 3
#if 0 /* expanded by -frewrite-includes */
#include <iosfwd>
#endif /* expanded by -frewrite-includes */
# 215 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ios" 3
# 216 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ios" 3
#if 0 /* expanded by -frewrite-includes */
#include <__locale>
#endif /* expanded by -frewrite-includes */
# 216 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/ios" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__locale" 1 3
// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP___LOCALE
#define _LIBCPP___LOCALE
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 14 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__locale" 3
# 15 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__locale" 3
#if 0 /* expanded by -frewrite-includes */
#include <string>
#endif /* expanded by -frewrite-includes */
# 15 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/__locale" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 1 3
// -*- C++ -*-
//===--------------------------- string -----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_STRING
#define _LIBCPP_STRING
/*
string synopsis
namespace std
{
template <class stateT>
class fpos
{
private:
stateT st;
public:
fpos(streamoff = streamoff());
operator streamoff() const;
stateT state() const;
void state(stateT);
fpos& operator+=(streamoff);
fpos operator+ (streamoff) const;
fpos& operator-=(streamoff);
fpos operator- (streamoff) const;
};
template <class stateT> streamoff operator-(const fpos<stateT>& x, const fpos<stateT>& y);
template <class stateT> bool operator==(const fpos<stateT>& x, const fpos<stateT>& y);
template <class stateT> bool operator!=(const fpos<stateT>& x, const fpos<stateT>& y);
template <class charT>
struct char_traits
{
typedef charT char_type;
typedef ... int_type;
typedef streamoff off_type;
typedef streampos pos_type;
typedef mbstate_t state_type;
static void assign(char_type& c1, const char_type& c2) noexcept;
static constexpr bool eq(char_type c1, char_type c2) noexcept;
static constexpr bool lt(char_type c1, char_type c2) noexcept;
static int compare(const char_type* s1, const char_type* s2, size_t n);
static size_t length(const char_type* s);
static const char_type* find(const char_type* s, size_t n, const char_type& a);
static char_type* move(char_type* s1, const char_type* s2, size_t n);
static char_type* copy(char_type* s1, const char_type* s2, size_t n);
static char_type* assign(char_type* s, size_t n, char_type a);
static constexpr int_type not_eof(int_type c) noexcept;
static constexpr char_type to_char_type(int_type c) noexcept;
static constexpr int_type to_int_type(char_type c) noexcept;
static constexpr bool eq_int_type(int_type c1, int_type c2) noexcept;
static constexpr int_type eof() noexcept;
};
template <> struct char_traits<char>;
template <> struct char_traits<wchar_t>;
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
class basic_string
{
public:
// types:
typedef traits traits_type;
typedef typename traits_type::char_type value_type;
typedef Allocator allocator_type;
typedef typename allocator_type::size_type size_type;
typedef typename allocator_type::difference_type difference_type;
typedef typename allocator_type::reference reference;
typedef typename allocator_type::const_reference const_reference;
typedef typename allocator_type::pointer pointer;
typedef typename allocator_type::const_pointer const_pointer;
typedef implementation-defined iterator;
typedef implementation-defined const_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
static const size_type npos = -1;
basic_string()
noexcept(is_nothrow_default_constructible<allocator_type>::value);
explicit basic_string(const allocator_type& a);
basic_string(const basic_string& str);
basic_string(basic_string&& str)
noexcept(is_nothrow_move_constructible<allocator_type>::value);
basic_string(const basic_string& str, size_type pos, size_type n = npos,
const allocator_type& a = allocator_type());
basic_string(const value_type* s, const allocator_type& a = allocator_type());
basic_string(const value_type* s, size_type n, const allocator_type& a = allocator_type());
basic_string(size_type n, value_type c, const allocator_type& a = allocator_type());
template<class InputIterator>
basic_string(InputIterator begin, InputIterator end,
const allocator_type& a = allocator_type());
basic_string(initializer_list<value_type>, const Allocator& = Allocator());
basic_string(const basic_string&, const Allocator&);
basic_string(basic_string&&, const Allocator&);
~basic_string();
basic_string& operator=(const basic_string& str);
basic_string& operator=(basic_string&& str)
noexcept(
allocator_type::propagate_on_container_move_assignment::value ||
allocator_type::is_always_equal::value ); // C++17
basic_string& operator=(const value_type* s);
basic_string& operator=(value_type c);
basic_string& operator=(initializer_list<value_type>);
iterator begin() noexcept;
const_iterator begin() const noexcept;
iterator end() noexcept;
const_iterator end() const noexcept;
reverse_iterator rbegin() noexcept;
const_reverse_iterator rbegin() const noexcept;
reverse_iterator rend() noexcept;
const_reverse_iterator rend() const noexcept;
const_iterator cbegin() const noexcept;
const_iterator cend() const noexcept;
const_reverse_iterator crbegin() const noexcept;
const_reverse_iterator crend() const noexcept;
size_type size() const noexcept;
size_type length() const noexcept;
size_type max_size() const noexcept;
size_type capacity() const noexcept;
void resize(size_type n, value_type c);
void resize(size_type n);
void reserve(size_type res_arg = 0);
void shrink_to_fit();
void clear() noexcept;
bool empty() const noexcept;
const_reference operator[](size_type pos) const;
reference operator[](size_type pos);
const_reference at(size_type n) const;
reference at(size_type n);
basic_string& operator+=(const basic_string& str);
basic_string& operator+=(const value_type* s);
basic_string& operator+=(value_type c);
basic_string& operator+=(initializer_list<value_type>);
basic_string& append(const basic_string& str);
basic_string& append(const basic_string& str, size_type pos, size_type n=npos); //C++14
basic_string& append(const value_type* s, size_type n);
basic_string& append(const value_type* s);
basic_string& append(size_type n, value_type c);
template<class InputIterator>
basic_string& append(InputIterator first, InputIterator last);
basic_string& append(initializer_list<value_type>);
void push_back(value_type c);
void pop_back();
reference front();
const_reference front() const;
reference back();
const_reference back() const;
basic_string& assign(const basic_string& str);
basic_string& assign(basic_string&& str);
basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++14
basic_string& assign(const value_type* s, size_type n);
basic_string& assign(const value_type* s);
basic_string& assign(size_type n, value_type c);
template<class InputIterator>
basic_string& assign(InputIterator first, InputIterator last);
basic_string& assign(initializer_list<value_type>);
basic_string& insert(size_type pos1, const basic_string& str);
basic_string& insert(size_type pos1, const basic_string& str,
size_type pos2, size_type n);
basic_string& insert(size_type pos, const value_type* s, size_type n=npos); //C++14
basic_string& insert(size_type pos, const value_type* s);
basic_string& insert(size_type pos, size_type n, value_type c);
iterator insert(const_iterator p, value_type c);
iterator insert(const_iterator p, size_type n, value_type c);
template<class InputIterator>
iterator insert(const_iterator p, InputIterator first, InputIterator last);
iterator insert(const_iterator p, initializer_list<value_type>);
basic_string& erase(size_type pos = 0, size_type n = npos);
iterator erase(const_iterator position);
iterator erase(const_iterator first, const_iterator last);
basic_string& replace(size_type pos1, size_type n1, const basic_string& str);
basic_string& replace(size_type pos1, size_type n1, const basic_string& str,
size_type pos2, size_type n2=npos); // C++14
basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2);
basic_string& replace(size_type pos, size_type n1, const value_type* s);
basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c);
basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str);
basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s, size_type n);
basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s);
basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c);
template<class InputIterator>
basic_string& replace(const_iterator i1, const_iterator i2, InputIterator j1, InputIterator j2);
basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>);
size_type copy(value_type* s, size_type n, size_type pos = 0) const;
basic_string substr(size_type pos = 0, size_type n = npos) const;
void swap(basic_string& str)
noexcept(allocator_traits<allocator_type>::propagate_on_container_swap::value ||
allocator_traits<allocator_type>::is_always_equal::value); // C++17
const value_type* c_str() const noexcept;
const value_type* data() const noexcept;
allocator_type get_allocator() const noexcept;
size_type find(const basic_string& str, size_type pos = 0) const noexcept;
size_type find(const value_type* s, size_type pos, size_type n) const noexcept;
size_type find(const value_type* s, size_type pos = 0) const noexcept;
size_type find(value_type c, size_type pos = 0) const noexcept;
size_type rfind(const basic_string& str, size_type pos = npos) const noexcept;
size_type rfind(const value_type* s, size_type pos, size_type n) const noexcept;
size_type rfind(const value_type* s, size_type pos = npos) const noexcept;
size_type rfind(value_type c, size_type pos = npos) const noexcept;
size_type find_first_of(const basic_string& str, size_type pos = 0) const noexcept;
size_type find_first_of(const value_type* s, size_type pos, size_type n) const noexcept;
size_type find_first_of(const value_type* s, size_type pos = 0) const noexcept;
size_type find_first_of(value_type c, size_type pos = 0) const noexcept;
size_type find_last_of(const basic_string& str, size_type pos = npos) const noexcept;
size_type find_last_of(const value_type* s, size_type pos, size_type n) const noexcept;
size_type find_last_of(const value_type* s, size_type pos = npos) const noexcept;
size_type find_last_of(value_type c, size_type pos = npos) const noexcept;
size_type find_first_not_of(const basic_string& str, size_type pos = 0) const noexcept;
size_type find_first_not_of(const value_type* s, size_type pos, size_type n) const noexcept;
size_type find_first_not_of(const value_type* s, size_type pos = 0) const noexcept;
size_type find_first_not_of(value_type c, size_type pos = 0) const noexcept;
size_type find_last_not_of(const basic_string& str, size_type pos = npos) const noexcept;
size_type find_last_not_of(const value_type* s, size_type pos, size_type n) const noexcept;
size_type find_last_not_of(const value_type* s, size_type pos = npos) const noexcept;
size_type find_last_not_of(value_type c, size_type pos = npos) const noexcept;
int compare(const basic_string& str) const noexcept;
int compare(size_type pos1, size_type n1, const basic_string& str) const;
int compare(size_type pos1, size_type n1, const basic_string& str,
size_type pos2, size_type n2=npos) const; // C++14
int compare(const value_type* s) const noexcept;
int compare(size_type pos1, size_type n1, const value_type* s) const;
int compare(size_type pos1, size_type n1, const value_type* s, size_type n2) const;
bool __invariants() const;
};
template<class charT, class traits, class Allocator>
basic_string<charT, traits, Allocator>
operator+(const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs);
template<class charT, class traits, class Allocator>
basic_string<charT, traits, Allocator>
operator+(const charT* lhs , const basic_string<charT,traits,Allocator>&rhs);
template<class charT, class traits, class Allocator>
basic_string<charT, traits, Allocator>
operator+(charT lhs, const basic_string<charT,traits,Allocator>& rhs);
template<class charT, class traits, class Allocator>
basic_string<charT, traits, Allocator>
operator+(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs);
template<class charT, class traits, class Allocator>
basic_string<charT, traits, Allocator>
operator+(const basic_string<charT, traits, Allocator>& lhs, charT rhs);
template<class charT, class traits, class Allocator>
bool operator==(const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator!=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator!=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator< (const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator< (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator< (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator> (const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator> (const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator> (const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator<=(const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator<=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator<=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator>=(const basic_string<charT, traits, Allocator>& lhs,
const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator>=(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs) noexcept;
template<class charT, class traits, class Allocator>
bool operator>=(const charT* lhs, const basic_string<charT, traits, Allocator>& rhs) noexcept;
template<class charT, class traits, class Allocator>
void swap(basic_string<charT, traits, Allocator>& lhs,
basic_string<charT, traits, Allocator>& rhs)
noexcept(noexcept(lhs.swap(rhs)));
template<class charT, class traits, class Allocator>
basic_istream<charT, traits>&
operator>>(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
template<class charT, class traits, class Allocator>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
template<class charT, class traits, class Allocator>
basic_istream<charT, traits>&
getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
charT delim);
template<class charT, class traits, class Allocator>
basic_istream<charT, traits>&
getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str);
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
typedef basic_string<char16_t> u16string;
typedef basic_string<char32_t> u32string;
int stoi (const string& str, size_t* idx = 0, int base = 10);
long stol (const string& str, size_t* idx = 0, int base = 10);
unsigned long stoul (const string& str, size_t* idx = 0, int base = 10);
long long stoll (const string& str, size_t* idx = 0, int base = 10);
unsigned long long stoull(const string& str, size_t* idx = 0, int base = 10);
float stof (const string& str, size_t* idx = 0);
double stod (const string& str, size_t* idx = 0);
long double stold(const string& str, size_t* idx = 0);
string to_string(int val);
string to_string(unsigned val);
string to_string(long val);
string to_string(unsigned long val);
string to_string(long long val);
string to_string(unsigned long long val);
string to_string(float val);
string to_string(double val);
string to_string(long double val);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
long stol (const wstring& str, size_t* idx = 0, int base = 10);
unsigned long stoul (const wstring& str, size_t* idx = 0, int base = 10);
long long stoll (const wstring& str, size_t* idx = 0, int base = 10);
unsigned long long stoull(const wstring& str, size_t* idx = 0, int base = 10);
float stof (const wstring& str, size_t* idx = 0);
double stod (const wstring& str, size_t* idx = 0);
long double stold(const wstring& str, size_t* idx = 0);
wstring to_wstring(int val);
wstring to_wstring(unsigned val);
wstring to_wstring(long val);
wstring to_wstring(unsigned long val);
wstring to_wstring(long long val);
wstring to_wstring(unsigned long long val);
wstring to_wstring(float val);
wstring to_wstring(double val);
wstring to_wstring(long double val);
template <> struct hash<string>;
template <> struct hash<u16string>;
template <> struct hash<u32string>;
template <> struct hash<wstring>;
basic_string<char> operator "" s( const char *str, size_t len ); // C++14
basic_string<wchar_t> operator "" s( const wchar_t *str, size_t len ); // C++14
basic_string<char16_t> operator "" s( const char16_t *str, size_t len ); // C++14
basic_string<char32_t> operator "" s( const char32_t *str, size_t len ); // C++14
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 434 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
# 435 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
#if 0 /* expanded by -frewrite-includes */
#include <iosfwd>
#endif /* expanded by -frewrite-includes */
# 435 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
# 436 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
#if 0 /* expanded by -frewrite-includes */
#include <cstring>
#endif /* expanded by -frewrite-includes */
# 436 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 1 3
// -*- C++ -*-
//===--------------------------- cstring ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CSTRING
#define _LIBCPP_CSTRING
/*
cstring synopsis
Macros:
NULL
namespace std
{
Types:
size_t
void* memcpy(void* restrict s1, const void* restrict s2, size_t n);
void* memmove(void* s1, const void* s2, size_t n);
char* strcpy (char* restrict s1, const char* restrict s2);
char* strncpy(char* restrict s1, const char* restrict s2, size_t n);
char* strcat (char* restrict s1, const char* restrict s2);
char* strncat(char* restrict s1, const char* restrict s2, size_t n);
int memcmp(const void* s1, const void* s2, size_t n);
int strcmp (const char* s1, const char* s2);
int strncmp(const char* s1, const char* s2, size_t n);
int strcoll(const char* s1, const char* s2);
size_t strxfrm(char* restrict s1, const char* restrict s2, size_t n);
const void* memchr(const void* s, int c, size_t n);
void* memchr( void* s, int c, size_t n);
const char* strchr(const char* s, int c);
char* strchr( char* s, int c);
size_t strcspn(const char* s1, const char* s2);
const char* strpbrk(const char* s1, const char* s2);
char* strpbrk( char* s1, const char* s2);
const char* strrchr(const char* s, int c);
char* strrchr( char* s, int c);
size_t strspn(const char* s1, const char* s2);
const char* strstr(const char* s1, const char* s2);
char* strstr( char* s1, const char* s2);
char* strtok(char* restrict s1, const char* restrict s2);
void* memset(void* s, int c, size_t n);
char* strerror(int errnum);
size_t strlen(const char* s);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 60 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
# 61 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
#if 0 /* expanded by -frewrite-includes */
#include <string.h>
#endif /* expanded by -frewrite-includes */
# 61 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 1 3
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.21 String handling <string.h>
*/
#ifndef _STRING_H
#define _STRING_H 1
#if 0 /* expanded by -frewrite-includes */
#include <features.h>
#endif /* expanded by -frewrite-includes */
# 25 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 26 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_DECLS
/* Get size_t and NULL from <stddef.h>. */
#define __need_size_t
#define __need_NULL
#if 0 /* expanded by -frewrite-includes */
#include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 1 3
/*===---- stddef.h - Basic type definitions --------------------------------===
*
* Copyright (c) 2008 Eli Friedman
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
defined(__need_size_t) || defined(__need_wchar_t) || \
defined(__need_NULL) || defined(__need_wint_t)
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
!defined(__need_wchar_t) && !defined(__need_NULL) && \
!defined(__need_wint_t)
/* Always define miscellaneous pieces when modules are available. */
#if !__has_feature(modules)
#define __STDDEF_H
#endif
# 37 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define __need_ptrdiff_t
#define __need_size_t
#define __need_wchar_t
#define __need_NULL
#define __need_STDDEF_H_misc
/* __need_wint_t is intentionally not defined here. */
#endif
# 44 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_ptrdiff_t)
#if !defined(_PTRDIFF_T) || __has_feature(modules)
/* Always define ptrdiff_t when modules are available. */
#if !__has_feature(modules)
#define _PTRDIFF_T
#endif
# 51 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#endif
# 53 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_ptrdiff_t
#endif /* defined(__need_ptrdiff_t) */
# 55 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_size_t)
#if !defined(_SIZE_T) || __has_feature(modules)
/* Always define size_t when modules are available. */
#if !__has_feature(modules)
#define _SIZE_T
#endif
# 62 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ size_t;
#endif
# 64 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_size_t
#endif /*defined(__need_size_t) */
# 66 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
* enabled. */
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
!defined(_RSIZE_T)) || __has_feature(modules)
/* Always define rsize_t when modules are available. */
#if !__has_feature(modules)
#define _RSIZE_T
#endif
# 76 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ rsize_t;
#endif
# 78 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif /* defined(__need_STDDEF_H_misc) */
# 79 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_wchar_t)
#ifndef __cplusplus
/* Always define wchar_t when modules are available. */
#if !defined(_WCHAR_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WCHAR_T
#if defined(_MSC_EXTENSIONS)
#define _WCHAR_T_DEFINED
#endif
# 89 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 90 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WCHAR_TYPE__ wchar_t;
#endif
# 92 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 93 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wchar_t
#endif /* defined(__need_wchar_t) */
# 95 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_NULL)
#undef NULL
#ifdef __cplusplus
# if !defined(__MINGW32__) && !defined(_MSC_VER)
# define NULL __null
# else
# 102 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL 0
# endif
# 104 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#else
# 105 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL ((void*)0)
#endif
# 107 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#ifdef __cplusplus
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
namespace std { typedef decltype(nullptr) nullptr_t; }
using ::std::nullptr_t;
#endif
# 112 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 113 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_NULL
#endif /* defined(__need_NULL) */
# 115 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
#if 0 /* expanded by -frewrite-includes */
#include "__stddef_max_align_t.h"
#endif /* expanded by -frewrite-includes */
# 118 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 119 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 120 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define offsetof(t, d) __builtin_offsetof(t, d)
#undef __need_STDDEF_H_misc
#endif /* defined(__need_STDDEF_H_misc) */
# 123 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
#if defined(__need_wint_t)
/* Always define wint_t when modules are available. */
#if !defined(_WINT_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WINT_T
#endif
# 132 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WINT_TYPE__ wint_t;
#endif
# 134 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wint_t
#endif /* __need_wint_t */
# 136 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 138 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 2 3
/* Tell the caller that we provide correct C++ prototypes. */
#if defined __cplusplus && __GNUC_PREREQ (4, 4)
# define __CORRECT_ISO_CPP_STRING_H_PROTO
#endif
# 38 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Copy N bytes of SRC to DEST. */
extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
size_t __n) __THROW __nonnull ((1, 2));
/* Copy N bytes of SRC to DEST, guaranteeing
correct behavior for overlapping strings. */
extern void *memmove (void *__dest, const void *__src, size_t __n)
__THROW __nonnull ((1, 2));
__END_NAMESPACE_STD
/* Copy no more than N bytes of SRC to DEST, stopping when C is found.
Return the position in DEST one byte past where C was copied,
or NULL if C was not found in the first N bytes of SRC. */
#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN
extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
int __c, size_t __n)
__THROW __nonnull ((1, 2));
#endif /* SVID. */
# 58 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Set N bytes of S to C. */
extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
/* Compare N bytes of S1 and S2. */
extern int memcmp (const void *__s1, const void *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Search N bytes of S for C. */
#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern void *memchr (void *__s, int __c, size_t __n)
__THROW __asm ("memchr") __attribute_pure__ __nonnull ((1));
extern const void *memchr (const void *__s, int __c, size_t __n)
__THROW __asm ("memchr") __attribute_pure__ __nonnull ((1));
# ifdef __OPTIMIZE__
__extern_always_inline void *
memchr (void *__s, int __c, size_t __n) __THROW
{
return __builtin_memchr (__s, __c, __n);
}
__extern_always_inline const void *
memchr (const void *__s, int __c, size_t __n) __THROW
{
return __builtin_memchr (__s, __c, __n);
}
# endif
# 90 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
#else
# 92 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern void *memchr (const void *__s, int __c, size_t __n)
__THROW __attribute_pure__ __nonnull ((1));
#endif
# 95 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* Search in S for C. This is similar to `memchr' but there is no
length limit. */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++" void *rawmemchr (void *__s, int __c)
__THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1));
extern "C++" const void *rawmemchr (const void *__s, int __c)
__THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1));
# else
# 106 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern void *rawmemchr (const void *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
# endif
# 109 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Search N bytes of S for the final occurrence of C. */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++" void *memrchr (void *__s, int __c, size_t __n)
__THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
__THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
# else
# 117 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern void *memrchr (const void *__s, int __c, size_t __n)
__THROW __attribute_pure__ __nonnull ((1));
# endif
# 120 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#endif
# 121 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Copy SRC to DEST. */
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Copy no more than N characters of SRC to DEST. */
extern char *strncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
/* Append SRC onto DEST. */
extern char *strcat (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Append no more than N characters from SRC onto DEST. */
extern char *strncat (char *__restrict __dest, const char *__restrict __src,
size_t __n) __THROW __nonnull ((1, 2));
/* Compare S1 and S2. */
extern int strcmp (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare N characters of S1 and S2. */
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare the collated forms of S1 and S2. */
extern int strcoll (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t strxfrm (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((2));
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* The following functions are equivalent to the both above but they
take the locale they use for the collation as an extra argument.
This is not standardsized but something like will come. */
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 159 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 160 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Compare the collated forms of S1 and S2 using rules from L. */
extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l)
__THROW __attribute_pure__ __nonnull ((1, 2, 3));
/* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
__locale_t __l) __THROW __nonnull ((2, 4));
#endif
# 168 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED \
|| defined __USE_XOPEN2K8
/* Duplicate S, returning an identical malloc'd string. */
extern char *strdup (const char *__s)
__THROW __attribute_malloc__ __nonnull ((1));
#endif
# 175 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Return a malloc'd copy of at most N bytes of STRING. The
resultant string is terminated even if no null terminator
appears before STRING[N]. */
#if defined __USE_XOPEN2K8
extern char *strndup (const char *__string, size_t __n)
__THROW __attribute_malloc__ __nonnull ((1));
#endif
# 183 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#if defined __USE_GNU && defined __GNUC__
/* Duplicate S, returning an identical alloca'd string. */
# define strdupa(s) \
(__extension__ \
({ \
const char *__old = (s); \
size_t __len = strlen (__old) + 1; \
char *__new = (char *) __builtin_alloca (__len); \
(char *) memcpy (__new, __old, __len); \
}))
/* Return an alloca'd copy of at most N bytes of string. */
# define strndupa(s, n) \
(__extension__ \
({ \
const char *__old = (s); \
size_t __len = strnlen (__old, (n)); \
char *__new = (char *) __builtin_alloca (__len + 1); \
__new[__len] = '\0'; \
(char *) memcpy (__new, __old, __len); \
}))
#endif
# 206 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Find the first occurrence of C in S. */
#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *strchr (char *__s, int __c)
__THROW __asm ("strchr") __attribute_pure__ __nonnull ((1));
extern const char *strchr (const char *__s, int __c)
__THROW __asm ("strchr") __attribute_pure__ __nonnull ((1));
# ifdef __OPTIMIZE__
__extern_always_inline char *
strchr (char *__s, int __c) __THROW
{
return __builtin_strchr (__s, __c);
}
__extern_always_inline const char *
strchr (const char *__s, int __c) __THROW
{
return __builtin_strchr (__s, __c);
}
# endif
# 230 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
#else
# 232 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *strchr (const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
#endif
# 235 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Find the last occurrence of C in S. */
#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *strrchr (char *__s, int __c)
__THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
extern const char *strrchr (const char *__s, int __c)
__THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
# ifdef __OPTIMIZE__
__extern_always_inline char *
strrchr (char *__s, int __c) __THROW
{
return __builtin_strrchr (__s, __c);
}
__extern_always_inline const char *
strrchr (const char *__s, int __c) __THROW
{
return __builtin_strrchr (__s, __c);
}
# endif
# 257 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
#else
# 259 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *strrchr (const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
#endif
# 262 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function is similar to `strchr'. But it returns a pointer to
the closing NUL byte in case C is not found in S. */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++" char *strchrnul (char *__s, int __c)
__THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1));
extern "C++" const char *strchrnul (const char *__s, int __c)
__THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1));
# else
# 273 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *strchrnul (const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
# endif
# 276 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#endif
# 277 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Return the length of the initial segment of S which
consists entirely of characters not in REJECT. */
extern size_t strcspn (const char *__s, const char *__reject)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Return the length of the initial segment of S which
consists entirely of characters in ACCEPT. */
extern size_t strspn (const char *__s, const char *__accept)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Find the first occurrence in S of any character in ACCEPT. */
#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *strpbrk (char *__s, const char *__accept)
__THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
extern const char *strpbrk (const char *__s, const char *__accept)
__THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
# ifdef __OPTIMIZE__
__extern_always_inline char *
strpbrk (char *__s, const char *__accept) __THROW
{
return __builtin_strpbrk (__s, __accept);
}
__extern_always_inline const char *
strpbrk (const char *__s, const char *__accept) __THROW
{
return __builtin_strpbrk (__s, __accept);
}
# endif
# 309 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
#else
# 311 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *strpbrk (const char *__s, const char *__accept)
__THROW __attribute_pure__ __nonnull ((1, 2));
#endif
# 314 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Find the first occurrence of NEEDLE in HAYSTACK. */
#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *strstr (char *__haystack, const char *__needle)
__THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2));
extern const char *strstr (const char *__haystack, const char *__needle)
__THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2));
# ifdef __OPTIMIZE__
__extern_always_inline char *
strstr (char *__haystack, const char *__needle) __THROW
{
return __builtin_strstr (__haystack, __needle);
}
__extern_always_inline const char *
strstr (const char *__haystack, const char *__needle) __THROW
{
return __builtin_strstr (__haystack, __needle);
}
# endif
# 336 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
#else
# 338 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *strstr (const char *__haystack, const char *__needle)
__THROW __attribute_pure__ __nonnull ((1, 2));
#endif
# 341 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Divide S into tokens separated by characters in DELIM. */
extern char *strtok (char *__restrict __s, const char *__restrict __delim)
__THROW __nonnull ((2));
__END_NAMESPACE_STD
/* Divide S into tokens separated by characters in DELIM. Information
passed between calls are stored in SAVE_PTR. */
extern char *__strtok_r (char *__restrict __s,
const char *__restrict __delim,
char **__restrict __save_ptr)
__THROW __nonnull ((2, 3));
#if defined __USE_POSIX || defined __USE_MISC
extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
char **__restrict __save_ptr)
__THROW __nonnull ((2, 3));
#endif
# 359 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_GNU
/* Similar to `strstr' but this function ignores the case of both strings. */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++" char *strcasestr (char *__haystack, const char *__needle)
__THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2));
extern "C++" const char *strcasestr (const char *__haystack,
const char *__needle)
__THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2));
# else
# 369 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *strcasestr (const char *__haystack, const char *__needle)
__THROW __attribute_pure__ __nonnull ((1, 2));
# endif
# 372 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#endif
# 373 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_GNU
/* Find the first occurrence of NEEDLE in HAYSTACK.
NEEDLE is NEEDLELEN bytes long;
HAYSTACK is HAYSTACKLEN bytes long. */
extern void *memmem (const void *__haystack, size_t __haystacklen,
const void *__needle, size_t __needlelen)
__THROW __attribute_pure__ __nonnull ((1, 3));
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
last written byte. */
extern void *__mempcpy (void *__restrict __dest,
const void *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
extern void *mempcpy (void *__restrict __dest,
const void *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
#endif
# 391 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Return the length of S. */
extern size_t strlen (const char *__s)
__THROW __attribute_pure__ __nonnull ((1));
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Find the length of STRING, but scan at most MAXLEN characters.
If no '\0' terminator is found in that many characters, return MAXLEN. */
extern size_t strnlen (const char *__string, size_t __maxlen)
__THROW __attribute_pure__ __nonnull ((1));
#endif
# 405 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__BEGIN_NAMESPACE_STD
/* Return a string describing the meaning of the `errno' code in ERRNUM. */
extern char *strerror (int __errnum) __THROW;
__END_NAMESPACE_STD
#if defined __USE_XOPEN2K || defined __USE_MISC
/* Reentrant version of `strerror'.
There are 2 flavors of `strerror_r', GNU which returns the string
and may or may not use the supplied temporary buffer and POSIX one
which fills the string into the buffer.
To use the POSIX version, -D_XOPEN_SOURCE=600 or -D_POSIX_C_SOURCE=200112L
without -D_GNU_SOURCE is needed, otherwise the GNU version is
preferred. */
# if defined __USE_XOPEN2K && !defined __USE_GNU
/* Fill BUF with a string describing the meaning of the `errno' code in
ERRNUM. */
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (strerror_r,
(int __errnum, char *__buf, size_t __buflen),
__xpg_strerror_r) __nonnull ((2));
# else
# 427 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen)
__THROW __nonnull ((2));
# define strerror_r __xpg_strerror_r
# endif
# 431 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# else
# 432 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be
used. */
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
__THROW __nonnull ((2)) __wur;
# endif
# 437 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#endif
# 438 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_XOPEN2K8
/* Translate error number to string according to the locale L. */
extern char *strerror_l (int __errnum, __locale_t __l) __THROW;
#endif
# 443 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* We define this function always since `bzero' is sometimes needed when
the namespace rules does not allow this. */
extern void __bzero (void *__s, size_t __n) __THROW __nonnull ((1));
#ifdef __USE_BSD
/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */
extern void bcopy (const void *__src, void *__dest, size_t __n)
__THROW __nonnull ((1, 2));
/* Set N bytes of S to 0. */
extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1));
/* Compare N bytes of S1 and S2 (same as memcmp). */
extern int bcmp (const void *__s1, const void *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Find the first occurrence of C in S (same as strchr). */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *index (char *__s, int __c)
__THROW __asm ("index") __attribute_pure__ __nonnull ((1));
extern const char *index (const char *__s, int __c)
__THROW __asm ("index") __attribute_pure__ __nonnull ((1));
# if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRINGS_H_PROTO
__extern_always_inline char *
index (char *__s, int __c) __THROW
{
return __builtin_index (__s, __c);
}
__extern_always_inline const char *
index (const char *__s, int __c) __THROW
{
return __builtin_index (__s, __c);
}
# endif
# 483 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
# else
# 485 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *index (const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
# endif
# 488 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Find the last occurrence of C in S (same as strrchr). */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *rindex (char *__s, int __c)
__THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
extern const char *rindex (const char *__s, int __c)
__THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
# if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRINGS_H_PROTO
__extern_always_inline char *
rindex (char *__s, int __c) __THROW
{
return __builtin_rindex (__s, __c);
}
__extern_always_inline const char *
rindex (const char *__s, int __c) __THROW
{
return __builtin_rindex (__s, __c);
}
#endif
# 511 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
}
# else
# 513 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *rindex (const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
# endif
# 516 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Return the position of the first bit set in I, or 0 if none are set.
The least-significant bit is position 1, the most-significant 32. */
extern int ffs (int __i) __THROW __attribute__ ((__const__));
/* The following two functions are non-standard but necessary for non-32 bit
platforms. */
# ifdef __USE_GNU
extern int ffsl (long int __l) __THROW __attribute__ ((__const__));
# ifdef __GNUC__
__extension__ extern int ffsll (long long int __ll)
__THROW __attribute__ ((__const__));
# endif
# 529 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# endif
# 530 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* Compare S1 and S2, ignoring case. */
extern int strcasecmp (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare no more than N chars of S1 and S2, ignoring case. */
extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
#endif /* Use BSD. */
# 539 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_GNU
/* Again versions of a few functions which use the given locale instead
of the global one. */
extern int strcasecmp_l (const char *__s1, const char *__s2,
__locale_t __loc)
__THROW __attribute_pure__ __nonnull ((1, 2, 3));
extern int strncasecmp_l (const char *__s1, const char *__s2,
size_t __n, __locale_t __loc)
__THROW __attribute_pure__ __nonnull ((1, 2, 4));
#endif
# 551 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_BSD
/* Return the next DELIM-delimited token from *STRINGP,
terminating it with a '\0', and update *STRINGP to point past it. */
extern char *strsep (char **__restrict __stringp,
const char *__restrict __delim)
__THROW __nonnull ((1, 2));
#endif
# 559 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_XOPEN2K8
/* Return a string describing the meaning of the signal number in SIG. */
extern char *strsignal (int __sig) __THROW;
/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Copy no more than N characters of SRC to DEST, returning the address of
the last character written into DEST. */
extern char *__stpncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
extern char *stpncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
#endif
# 579 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#ifdef __USE_GNU
/* Compare S1 and S2 as strings holding name & indices/version numbers. */
extern int strverscmp (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Sautee STRING briskly. */
extern char *strfry (char *__string) __THROW __nonnull ((1));
/* Frobnicate N bytes of S. */
extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1));
# ifndef basename
/* Return the file name within directory of FILENAME. We don't
declare the function if the `basename' macro is available (defined
in <libgen.h>) which makes the XPG version of this function
available. */
# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++" char *basename (char *__filename)
__THROW __asm ("basename") __nonnull ((1));
extern "C++" const char *basename (const char *__filename)
__THROW __asm ("basename") __nonnull ((1));
# else
# 602 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
extern char *basename (const char *__filename) __THROW __nonnull ((1));
# endif
# 604 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# endif
# 605 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#endif
# 606 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#if defined __GNUC__ && __GNUC__ >= 2
# if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ \
&& !defined __NO_INLINE__ && !defined __cplusplus
/* When using GNU CC we provide some optimized versions of selected
functions from this header. There are two kinds of optimizations:
- machine-dependent optimizations, most probably using inline
assembler code; these might be quite expensive since the code
size can increase significantly.
These optimizations are not used unless the symbol
__USE_STRING_INLINES
is defined before including this header.
- machine-independent optimizations which do not increase the
code size significantly and which optimize mainly situations
where one or more arguments are compile-time constants.
These optimizations are used always when the compiler is
taught to optimize.
One can inhibit all optimizations by defining __NO_STRING_INLINES. */
/* Get the machine-dependent optimizations (if any). */
#if 0 /* expanded by -frewrite-includes */
# include <bits/string.h>
#endif /* expanded by -frewrite-includes */
# 630 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 631 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
/* These are generic optimizations which do not add too much inline code. */
#if 0 /* expanded by -frewrite-includes */
# include <bits/string2.h>
#endif /* expanded by -frewrite-includes */
# 633 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 634 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# endif
# 635 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
/* Functions with security checks. */
#if 0 /* expanded by -frewrite-includes */
# include <bits/string3.h>
#endif /* expanded by -frewrite-includes */
# 638 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 639 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# endif
# 640 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
#endif
# 641 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
__END_DECLS
#endif /* string.h */
# 645 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/string.h" 3
# 62 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 2 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 65 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
#endif
# 66 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
_LIBCPP_BEGIN_NAMESPACE_STD
using ::size_t;
using ::memcpy;
using ::memmove;
using ::strcpy;
using ::strncpy;
using ::strcat;
using ::strncat;
using ::memcmp;
using ::strcmp;
using ::strncmp;
using ::strcoll;
using ::strxfrm;
using ::memchr;
using ::strchr;
using ::strcspn;
using ::strpbrk;
using ::strrchr;
using ::strspn;
using ::strstr;
// MSVCRT, GNU libc and its derivates already have the correct prototype in <string.h> #ifdef __cplusplus
#if !defined(__GLIBC__) && !defined(_LIBCPP_MSVCRT) && !defined(__sun__) && !defined(_STRING_H_CPLUSPLUS_98_CONFORMANCE_)
inline _LIBCPP_INLINE_VISIBILITY char* strchr( char* __s, int __c) {return ::strchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY char* strpbrk( char* __s1, const char* __s2) {return ::strpbrk(__s1, __s2);}
inline _LIBCPP_INLINE_VISIBILITY char* strrchr( char* __s, int __c) {return ::strrchr(__s, __c);}
inline _LIBCPP_INLINE_VISIBILITY void* memchr( void* __s, int __c, size_t __n) {return ::memchr(__s, __c, __n);}
inline _LIBCPP_INLINE_VISIBILITY char* strstr( char* __s1, const char* __s2) {return ::strstr(__s1, __s2);}
#endif
# 104 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
#ifndef _LIBCPP_HAS_NO_THREAD_UNSAFE_C_FUNCTIONS
using ::strtok;
#endif
# 108 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
using ::memset;
using ::strerror;
using ::strlen;
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CSTRING
# 115 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstring" 3
# 437 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <cstdio> // For EOF.
#endif /* expanded by -frewrite-includes */
# 437 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 1 3
// -*- C++ -*-
//===---------------------------- cstdio ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CSTDIO
#define _LIBCPP_CSTDIO
/*
cstdio synopsis
Macros:
BUFSIZ
EOF
FILENAME_MAX
FOPEN_MAX
L_tmpnam
NULL
SEEK_CUR
SEEK_END
SEEK_SET
TMP_MAX
_IOFBF
_IOLBF
_IONBF
stderr
stdin
stdout
namespace std
{
Types:
FILE
fpos_t
size_t
int remove(const char* filename);
int rename(const char* old, const char* new);
FILE* tmpfile(void);
char* tmpnam(char* s);
int fclose(FILE* stream);
int fflush(FILE* stream);
FILE* fopen(const char* restrict filename, const char* restrict mode);
FILE* freopen(const char* restrict filename, const char * restrict mode,
FILE * restrict stream);
void setbuf(FILE* restrict stream, char* restrict buf);
int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size);
int fprintf(FILE* restrict stream, const char* restrict format, ...);
int fscanf(FILE* restrict stream, const char * restrict format, ...);
int printf(const char* restrict format, ...);
int scanf(const char* restrict format, ...);
int snprintf(char* restrict s, size_t n, const char* restrict format, ...); // C99
int sprintf(char* restrict s, const char* restrict format, ...);
int sscanf(const char* restrict s, const char* restrict format, ...);
int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg);
int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); // C99
int vprintf(const char* restrict format, va_list arg);
int vscanf(const char* restrict format, va_list arg); // C99
int vsnprintf(char* restrict s, size_t n, const char* restrict format, // C99
va_list arg);
int vsprintf(char* restrict s, const char* restrict format, va_list arg);
int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99
int fgetc(FILE* stream);
char* fgets(char* restrict s, int n, FILE* restrict stream);
int fputc(int c, FILE* stream);
int fputs(const char* restrict s, FILE* restrict stream);
int getc(FILE* stream);
int getchar(void);
char* gets(char* s); // removed in C++14
int putc(int c, FILE* stream);
int putchar(int c);
int puts(const char* s);
int ungetc(int c, FILE* stream);
size_t fread(void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb,
FILE* restrict stream);
int fgetpos(FILE* restrict stream, fpos_t* restrict pos);
int fseek(FILE* stream, long offset, int whence);
int fsetpos(FILE*stream, const fpos_t* pos);
long ftell(FILE* stream);
void rewind(FILE* stream);
void clearerr(FILE* stream);
int feof(FILE* stream);
int ferror(FILE* stream);
void perror(const char* s);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 99 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
# 100 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#if 0 /* expanded by -frewrite-includes */
#include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 100 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 1 3
/* Define ISO C stdio on top of C++ iostreams.
Copyright (C) 1991, 1994-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.19 Input/output <stdio.h>
*/
#ifndef _STDIO_H
#if !defined __need_FILE && !defined __need___FILE
# define _STDIO_H 1
#if 0 /* expanded by -frewrite-includes */
# include <features.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_DECLS
# define __need_size_t
# define __need_NULL
#if 0 /* expanded by -frewrite-includes */
# include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 1 3
/*===---- stddef.h - Basic type definitions --------------------------------===
*
* Copyright (c) 2008 Eli Friedman
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
defined(__need_size_t) || defined(__need_wchar_t) || \
defined(__need_NULL) || defined(__need_wint_t)
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
!defined(__need_wchar_t) && !defined(__need_NULL) && \
!defined(__need_wint_t)
/* Always define miscellaneous pieces when modules are available. */
#if !__has_feature(modules)
#define __STDDEF_H
#endif
# 37 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define __need_ptrdiff_t
#define __need_size_t
#define __need_wchar_t
#define __need_NULL
#define __need_STDDEF_H_misc
/* __need_wint_t is intentionally not defined here. */
#endif
# 44 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_ptrdiff_t)
#if !defined(_PTRDIFF_T) || __has_feature(modules)
/* Always define ptrdiff_t when modules are available. */
#if !__has_feature(modules)
#define _PTRDIFF_T
#endif
# 51 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#endif
# 53 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_ptrdiff_t
#endif /* defined(__need_ptrdiff_t) */
# 55 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_size_t)
#if !defined(_SIZE_T) || __has_feature(modules)
/* Always define size_t when modules are available. */
#if !__has_feature(modules)
#define _SIZE_T
#endif
# 62 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ size_t;
#endif
# 64 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_size_t
#endif /*defined(__need_size_t) */
# 66 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
* enabled. */
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
!defined(_RSIZE_T)) || __has_feature(modules)
/* Always define rsize_t when modules are available. */
#if !__has_feature(modules)
#define _RSIZE_T
#endif
# 76 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ rsize_t;
#endif
# 78 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif /* defined(__need_STDDEF_H_misc) */
# 79 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_wchar_t)
#ifndef __cplusplus
/* Always define wchar_t when modules are available. */
#if !defined(_WCHAR_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WCHAR_T
#if defined(_MSC_EXTENSIONS)
#define _WCHAR_T_DEFINED
#endif
# 89 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 90 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WCHAR_TYPE__ wchar_t;
#endif
# 92 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 93 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wchar_t
#endif /* defined(__need_wchar_t) */
# 95 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_NULL)
#undef NULL
#ifdef __cplusplus
# if !defined(__MINGW32__) && !defined(_MSC_VER)
# define NULL __null
# else
# 102 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL 0
# endif
# 104 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#else
# 105 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL ((void*)0)
#endif
# 107 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#ifdef __cplusplus
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
namespace std { typedef decltype(nullptr) nullptr_t; }
using ::std::nullptr_t;
#endif
# 112 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 113 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_NULL
#endif /* defined(__need_NULL) */
# 115 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
#if 0 /* expanded by -frewrite-includes */
#include "__stddef_max_align_t.h"
#endif /* expanded by -frewrite-includes */
# 118 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 119 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 120 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define offsetof(t, d) __builtin_offsetof(t, d)
#undef __need_STDDEF_H_misc
#endif /* defined(__need_STDDEF_H_misc) */
# 123 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
#if defined(__need_wint_t)
/* Always define wint_t when modules are available. */
#if !defined(_WINT_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WINT_T
#endif
# 132 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WINT_TYPE__ wint_t;
#endif
# 134 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wint_t
#endif /* __need_wint_t */
# 136 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 138 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 34 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 2 3
#if 0 /* expanded by -frewrite-includes */
# include <bits/types.h>
#endif /* expanded by -frewrite-includes */
# 35 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 1 3
/* bits/types.h -- definitions of __*_t types underlying *_t types.
Copyright (C) 2002-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* Never include this file directly; use <sys/types.h> instead.
*/
#ifndef _BITS_TYPES_H
#define _BITS_TYPES_H 1
#if 0 /* expanded by -frewrite-includes */
#include <features.h>
#endif /* expanded by -frewrite-includes */
# 26 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
#if 0 /* expanded by -frewrite-includes */
#include <bits/wordsize.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 1 3
/* Determine the wordsize from the preprocessor defines. */
#if defined __powerpc64__
# define __WORDSIZE 64
# define __WORDSIZE_TIME64_COMPAT32 1
#else
# 7 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
# define __WORDSIZE 32
#endif
# 9 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
/* Signal the glibc ABI didn't used to have a `long double'.
The changes all the `long double' function variants to be redirects
to the double functions. */
# define __LONG_DOUBLE_MATH_OPTIONAL 1
# ifndef __LONG_DOUBLE_128__
# define __NO_LONG_DOUBLE_MATH 1
# endif
# 19 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
#endif
# 20 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/wordsize.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 2 3
/* Convenience types. */
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
/* Fixed-size types, underlying types depend on word size and compiler. */
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
#if __WORDSIZE == 64
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
#elif defined __GLIBC_HAVE_LONG_LONG
# 46 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
#endif
# 49 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
/* quad_t is also 64 bits. */
#if __WORDSIZE == 64
typedef long int __quad_t;
typedef unsigned long int __u_quad_t;
#elif defined __GLIBC_HAVE_LONG_LONG
# 55 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
#else
# 58 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
typedef struct
{
long __val[2];
} __quad_t;
typedef struct
{
__u_long __val[2];
} __u_quad_t;
#endif
# 67 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
macros for each of the OS types we define below. The definitions
of those macros must use the following macros for underlying types.
We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
variants of each of the following integer types on this machine.
16 -- "natural" 16-bit type (always short)
32 -- "natural" 32-bit type (always int)
64 -- "natural" 64-bit type (long or long long)
LONG32 -- 32-bit type, traditionally long
QUAD -- 64-bit type, always long long
WORD -- natural type of __WORDSIZE bits (int or long)
LONGWORD -- type of __WORDSIZE bits, traditionally long
We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
conventional uses of `long' or `long long' type modifiers match the
types we define, even when a less-adorned type would be the same size.
This matters for (somewhat) portably writing printf/scanf formats for
these types, where using the appropriate l or ll format modifiers can
make the typedefs and the formats match up across all GNU platforms. If
we used `long' when it's 64 bits where `long long' is expected, then the
compiler would warn about the formats not matching the argument types,
and the programmer changing them to shut up the compiler would break the
program's portability.
Here we assume what is presently the case in all the GCC configurations
we support: long long is always 64 bits, long is always word/address size,
and int is always 32 bits. */
#define __S16_TYPE short int
#define __U16_TYPE unsigned short int
#define __S32_TYPE int
#define __U32_TYPE unsigned int
#define __SLONGWORD_TYPE long int
#define __ULONGWORD_TYPE unsigned long int
#if __WORDSIZE == 32
# define __SQUAD_TYPE __quad_t
# define __UQUAD_TYPE __u_quad_t
# define __SWORD_TYPE int
# define __UWORD_TYPE unsigned int
# define __SLONG32_TYPE long int
# define __ULONG32_TYPE unsigned long int
# define __S64_TYPE __quad_t
# define __U64_TYPE __u_quad_t
/* We want __extension__ before typedef's that use nonstandard base types
such as `long long' in C89 mode. */
# define __STD_TYPE __extension__ typedef
#elif __WORDSIZE == 64
# 117 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
# define __SQUAD_TYPE long int
# define __UQUAD_TYPE unsigned long int
# define __SWORD_TYPE long int
# define __UWORD_TYPE unsigned long int
# define __SLONG32_TYPE int
# define __ULONG32_TYPE unsigned int
# define __S64_TYPE long int
# define __U64_TYPE unsigned long int
/* No need to mark the typedef with __extension__. */
# define __STD_TYPE typedef
#else
# 128 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
# error
#endif
# 130 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
#if 0 /* expanded by -frewrite-includes */
#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
#endif /* expanded by -frewrite-includes */
# 130 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/typesizes.h" 1 3
/* bits/typesizes.h -- underlying types for *_t. Generic version.
Copyright (C) 2002-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _BITS_TYPES_H
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/typesizes.h" 3
#ifndef _BITS_TYPESIZES_H
#define _BITS_TYPESIZES_H 1
/* See <bits/types.h> for the meaning of these macros. This file exists so
that <bits/types.h> need not vary across different GNU platforms. */
#define __DEV_T_TYPE __UQUAD_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
#define __INO64_T_TYPE __UQUAD_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __UWORD_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
#define __OFF64_T_TYPE __SQUAD_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
#define __RLIM64_T_TYPE __UQUAD_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
#define __TIME_T_TYPE __SLONGWORD_TYPE
#define __USECONDS_T_TYPE __U32_TYPE
#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
#define __DADDR_T_TYPE __S32_TYPE
#define __KEY_T_TYPE __S32_TYPE
#define __CLOCKID_T_TYPE __S32_TYPE
#define __TIMER_T_TYPE void *
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
#define __FSID_T_TYPE struct { int __val[2]; }
#define __SSIZE_T_TYPE __SWORD_TYPE
#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
#ifdef __LP64__
/* Tell the libc code that off_t and off64_t are actually the same type
for all ABI purposes, even if possibly expressed as different base types
for C type-checking purposes. */
# define __OFF_T_MATCHES_OFF64_T 1
/* Same for ino_t and ino64_t. */
# define __INO_T_MATCHES_INO64_T 1
#endif
# 72 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/typesizes.h" 3
/* Number of descriptors that can fit in an `fd_set'. */
#define __FD_SETSIZE 1024
#endif /* bits/typesizes.h */
# 78 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/typesizes.h" 3
# 131 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 2 3
__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
/* Clock ID used in clock and timer functions. */
__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
/* Timer ID returned by `timer_create'. */
__STD_TYPE __TIMER_T_TYPE __timer_t;
/* Type to represent block size. */
__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
/* Types from the Large File Support interface. */
/* Type to count number of disk blocks. */
__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
/* Type to count file system blocks. */
__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
/* Type to count file system nodes. */
__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
/* Type of miscellaneous file system fields. */
__STD_TYPE __FSWORD_T_TYPE __fsword_t;
__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
/* Signed long type used in system calls. */
__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t;
/* Unsigned long type used in system calls. */
__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t;
/* These few don't really vary by system, they always correspond
to one of the other defined types. */
typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
/* Duplicates info from stdint.h but this is used in unistd.h. */
__STD_TYPE __SWORD_TYPE __intptr_t;
/* Duplicate info from sys/socket.h. */
__STD_TYPE __U32_TYPE __socklen_t;
#undef __STD_TYPE
#endif /* bits/types.h */
# 204 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/types.h" 3
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 2 3
# define __need_FILE
# define __need___FILE
#endif /* Don't need FILE. */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if !defined __FILE_defined && defined __need_FILE
/* Define outside of namespace so the C++ is happy. */
struct _IO_FILE;
__BEGIN_NAMESPACE_STD
/* The opaque type of streams. This is the definition used elsewhere. */
typedef struct _IO_FILE FILE;
__END_NAMESPACE_STD
#if defined __USE_LARGEFILE64 || defined __USE_SVID || defined __USE_POSIX \
|| defined __USE_BSD || defined __USE_ISOC99 || defined __USE_XOPEN \
|| defined __USE_POSIX2
__USING_NAMESPACE_STD(FILE)
#endif
# 55 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define __FILE_defined 1
#endif /* FILE not defined. */
# 58 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#undef __need_FILE
#if !defined ____FILE_defined && defined __need___FILE
/* The opaque type of streams. This is the definition used elsewhere. */
typedef struct _IO_FILE __FILE;
# define ____FILE_defined 1
#endif /* __FILE not defined. */
# 68 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#undef __need___FILE
#ifdef _STDIO_H
#define _STDIO_USES_IOSTREAM
#if 0 /* expanded by -frewrite-includes */
#include <libio.h>
#endif /* expanded by -frewrite-includes */
# 74 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 1 3
/* Copyright (C) 1991-1995,1997-2007,2009,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Per Bothner <bothner@cygnus.com>.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>.
As a special exception, if you link the code in this file with
files compiled with a GNU compiler to produce an executable,
that does not cause the resulting executable to be covered by
the GNU Lesser General Public License. This exception does not
however invalidate any other reasons why the executable file
might be covered by the GNU Lesser General Public License.
This exception applies to code released by its copyright holders
in files containing the exception. */
#ifndef _IO_STDIO_H
#define _IO_STDIO_H
#if 0 /* expanded by -frewrite-includes */
#include <_G_config.h>
#endif /* expanded by -frewrite-includes */
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 1 3
/* This file is needed by libio to define various configuration parameters.
These are always the same in the GNU C library. */
#ifndef _G_config_h
#define _G_config_h 1
/* Define types for libio in terms of the standard internal type names. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/types.h>
#endif /* expanded by -frewrite-includes */
# 9 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
# 10 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
#define __need_size_t
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
# define __need_wchar_t
#endif
# 14 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
#define __need_NULL
#if 0 /* expanded by -frewrite-includes */
#include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 15 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
# 1 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 1 3
/*===---- stddef.h - Basic type definitions --------------------------------===
*
* Copyright (c) 2008 Eli Friedman
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
defined(__need_size_t) || defined(__need_wchar_t) || \
defined(__need_NULL) || defined(__need_wint_t)
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
!defined(__need_wchar_t) && !defined(__need_NULL) && \
!defined(__need_wint_t)
/* Always define miscellaneous pieces when modules are available. */
#if !__has_feature(modules)
#define __STDDEF_H
#endif
# 37 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define __need_ptrdiff_t
#define __need_size_t
#define __need_wchar_t
#define __need_NULL
#define __need_STDDEF_H_misc
/* __need_wint_t is intentionally not defined here. */
#endif
# 44 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_ptrdiff_t)
#if !defined(_PTRDIFF_T) || __has_feature(modules)
/* Always define ptrdiff_t when modules are available. */
#if !__has_feature(modules)
#define _PTRDIFF_T
#endif
# 51 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#endif
# 53 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_ptrdiff_t
#endif /* defined(__need_ptrdiff_t) */
# 55 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_size_t)
#if !defined(_SIZE_T) || __has_feature(modules)
/* Always define size_t when modules are available. */
#if !__has_feature(modules)
#define _SIZE_T
#endif
# 62 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ size_t;
#endif
# 64 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_size_t
#endif /*defined(__need_size_t) */
# 66 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
* enabled. */
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
!defined(_RSIZE_T)) || __has_feature(modules)
/* Always define rsize_t when modules are available. */
#if !__has_feature(modules)
#define _RSIZE_T
#endif
# 76 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __SIZE_TYPE__ rsize_t;
#endif
# 78 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif /* defined(__need_STDDEF_H_misc) */
# 79 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_wchar_t)
#ifndef __cplusplus
/* Always define wchar_t when modules are available. */
#if !defined(_WCHAR_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WCHAR_T
#if defined(_MSC_EXTENSIONS)
#define _WCHAR_T_DEFINED
#endif
# 89 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 90 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WCHAR_TYPE__ wchar_t;
#endif
# 92 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 93 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wchar_t
#endif /* defined(__need_wchar_t) */
# 95 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_NULL)
#undef NULL
#ifdef __cplusplus
# if !defined(__MINGW32__) && !defined(_MSC_VER)
# define NULL __null
# else
# 102 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL 0
# endif
# 104 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#else
# 105 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# define NULL ((void*)0)
#endif
# 107 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#ifdef __cplusplus
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
namespace std { typedef decltype(nullptr) nullptr_t; }
using ::std::nullptr_t;
#endif
# 112 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 113 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_NULL
#endif /* defined(__need_NULL) */
# 115 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#if defined(__need_STDDEF_H_misc)
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
#if 0 /* expanded by -frewrite-includes */
#include "__stddef_max_align_t.h"
#endif /* expanded by -frewrite-includes */
# 118 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 119 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 120 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#define offsetof(t, d) __builtin_offsetof(t, d)
#undef __need_STDDEF_H_misc
#endif /* defined(__need_STDDEF_H_misc) */
# 123 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
#if defined(__need_wint_t)
/* Always define wint_t when modules are available. */
#if !defined(_WINT_T) || __has_feature(modules)
#if !__has_feature(modules)
#define _WINT_T
#endif
# 132 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
typedef __WINT_TYPE__ wint_t;
#endif
# 134 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#undef __need_wint_t
#endif /* __need_wint_t */
# 136 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
#endif
# 138 "/gpfs/home/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/bin/../lib/clang/3.8.0/include/stddef.h" 3
# 16 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 2 3
#define __need_mbstate_t
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
# define __need_wint_t
#endif
# 20 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
#if 0 /* expanded by -frewrite-includes */
#include <wchar.h>
#endif /* expanded by -frewrite-includes */
# 20 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 1 3
/* Copyright (C) 1995-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard: 7.24
* Extended multibyte and wide character utilities <wchar.h>
*/
#ifndef _WCHAR_H
#if !defined __need_mbstate_t && !defined __need_wint_t
# define _WCHAR_H 1
#if 0 /* expanded by -frewrite-includes */
# include <features.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 29 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef _WCHAR_H
/* Get FILE definition. */
# define __need___FILE
# if defined __USE_UNIX98 || defined __USE_XOPEN2K
# define __need_FILE
# endif
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <stdio.h>
#endif /* expanded by -frewrite-includes */
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 37 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Get va_list definition. */
# define __need___va_list
#if 0 /* expanded by -frewrite-includes */
# include <stdarg.h>
#endif /* expanded by -frewrite-includes */
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 40 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <bits/wchar.h>
#endif /* expanded by -frewrite-includes */
# 41 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 42 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Get size_t, wchar_t, wint_t and NULL from <stddef.h>. */
# define __need_size_t
# define __need_wchar_t
# define __need_NULL
#endif
# 48 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if defined _WCHAR_H || defined __need_wint_t || !defined __WINT_TYPE__
# undef __need_wint_t
# define __need_wint_t
#if 0 /* expanded by -frewrite-includes */
# include <stddef.h>
#endif /* expanded by -frewrite-includes */
# 51 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 52 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* We try to get wint_t from <stddef.h>, but not all GCC versions define it
there. So define it ourselves if it remains undefined. */
# ifndef _WINT_T
/* Integral type unchanged by default argument promotions that can
hold any value corresponding to members of the extended character
set, as well as at least one value that does not correspond to any
member of the extended character set. */
# define _WINT_T
typedef unsigned int wint_t;
# else
# 63 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Work around problems with the <stddef.h> file which doesn't put
wint_t in the std namespace. */
# if defined __cplusplus && defined _GLIBCPP_USE_NAMESPACES \
&& defined __WINT_TYPE__
__BEGIN_NAMESPACE_STD
typedef __WINT_TYPE__ wint_t;
__END_NAMESPACE_STD
# endif
# 71 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# endif
# 72 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Tell the caller that we provide correct C++ prototypes. */
# if defined __cplusplus && __GNUC_PREREQ (4, 4)
# define __CORRECT_ISO_CPP_WCHAR_H_PROTO
# endif
# 77 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 78 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if (defined _WCHAR_H || defined __need_mbstate_t) && !defined ____mbstate_t_defined
# define ____mbstate_t_defined 1
/* Conversion state information. */
typedef struct
{
int __count;
union
{
# ifdef __WINT_TYPE__
__WINT_TYPE__ __wch;
# else
# 90 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
wint_t __wch;
# endif
# 92 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
char __wchb[4];
} __value; /* Value so far. */
} __mbstate_t;
#endif
# 96 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#undef __need_mbstate_t
/* The rest of the file is only used if used if __need_mbstate_t is not
defined. */
#ifdef _WCHAR_H
# ifndef __mbstate_t_defined
__BEGIN_NAMESPACE_C99
/* Public type. */
typedef __mbstate_t mbstate_t;
__END_NAMESPACE_C99
# define __mbstate_t_defined 1
# endif
# 110 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_GNU
__USING_NAMESPACE_C99(mbstate_t)
#endif
# 114 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifndef WCHAR_MIN
/* These constants might also be defined in <inttypes.h>. */
# define WCHAR_MIN __WCHAR_MIN
# define WCHAR_MAX __WCHAR_MAX
#endif
# 120 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifndef WEOF
# define WEOF (0xffffffffu)
#endif
# 124 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* For XPG4 compliance we have to define the stuff from <wctype.h> here
as well. */
#if defined __USE_XOPEN && !defined __USE_UNIX98
#if 0 /* expanded by -frewrite-includes */
# include <wctype.h>
#endif /* expanded by -frewrite-includes */
# 128 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 129 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 130 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_DECLS
__BEGIN_NAMESPACE_STD
/* This incomplete type is defined in <time.h> but needed here because
of `wcsftime'. */
struct tm;
__END_NAMESPACE_STD
/* XXX We have to clean this up at some point. Since tm is in the std
namespace but wcsftime is in __c99 the type wouldn't be found
without inserting it in the global namespace. */
__USING_NAMESPACE_STD(tm)
__BEGIN_NAMESPACE_STD
/* Copy SRC to DEST. */
extern wchar_t *wcscpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
/* Copy no more than N wide-characters of SRC to DEST. */
extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
__THROW;
/* Append SRC onto DEST. */
extern wchar_t *wcscat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
/* Append no more than N wide-characters of SRC onto DEST. */
extern wchar_t *wcsncat (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
__THROW;
/* Compare S1 and S2. */
extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
__THROW __attribute_pure__;
/* Compare N wide-characters of S1 and S2. */
extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
__THROW __attribute_pure__;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Compare S1 and S2, ignoring case. */
extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW;
/* Compare no more than N chars of S1 and S2, ignoring case. */
extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
size_t __n) __THROW;
/* Similar to the two functions above but take the information from
the provided locale and not the global locale. */
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 180 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 181 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
__locale_t __loc) __THROW;
extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW;
#endif
# 188 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Compare S1 and S2, both interpreted as appropriate to the
LC_COLLATE category of the current locale. */
extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __THROW;
/* Transform S2 into array pointed to by S1 such that if wcscmp is
applied to two transformed strings the result is the as applying
`wcscoll' to the original strings. */
extern size_t wcsxfrm (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Similar to the two functions above but take the information from
the provided locale and not the global locale. */
/* Compare S1 and S2, both interpreted as appropriate to the
LC_COLLATE category of the given locale. */
extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
__locale_t __loc) __THROW;
/* Transform S2 into array pointed to by S1 such that if wcscmp is
applied to two transformed strings the result is the as applying
`wcscoll' to the original strings. */
extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW;
/* Duplicate S, returning an identical malloc'd string. */
extern wchar_t *wcsdup (const wchar_t *__s) __THROW __attribute_malloc__;
#endif
# 218 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Find the first occurrence of WC in WCS. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcschr") __attribute_pure__;
extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcschr") __attribute_pure__;
#else
# 227 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
__THROW __attribute_pure__;
#endif
# 230 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Find the last occurrence of WC in WCS. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcsrchr") __attribute_pure__;
extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
__THROW __asm ("wcsrchr") __attribute_pure__;
#else
# 237 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
__THROW __attribute_pure__;
#endif
# 240 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function is similar to `wcschr'. But it returns a pointer to
the closing NUL wide character in case C is not found in S. */
extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
__THROW __attribute_pure__;
#endif
# 248 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Return the length of the initial segmet of WCS which
consists entirely of wide characters not in REJECT. */
extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
__THROW __attribute_pure__;
/* Return the length of the initial segmet of WCS which
consists entirely of wide characters in ACCEPT. */
extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
__THROW __attribute_pure__;
/* Find the first occurrence in WCS of any character in ACCEPT. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
__THROW __asm ("wcspbrk") __attribute_pure__;
extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
const wchar_t *__accept)
__THROW __asm ("wcspbrk") __attribute_pure__;
#else
# 266 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept)
__THROW __attribute_pure__;
#endif
# 269 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Find the first occurrence of NEEDLE in HAYSTACK. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
__THROW __asm ("wcsstr") __attribute_pure__;
extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
const wchar_t *__needle)
__THROW __asm ("wcsstr") __attribute_pure__;
#else
# 277 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle)
__THROW __attribute_pure__;
#endif
# 280 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Divide WCS into tokens separated by characters in DELIM. */
extern wchar_t *wcstok (wchar_t *__restrict __s,
const wchar_t *__restrict __delim,
wchar_t **__restrict __ptr) __THROW;
/* Return the number of wide characters in S. */
extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN
/* Another name for `wcsstr' from XPG4. */
# ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
__THROW __asm ("wcswcs") __attribute_pure__;
extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
const wchar_t *__needle)
__THROW __asm ("wcswcs") __attribute_pure__;
# else
# 299 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle)
__THROW __attribute_pure__;
# endif
# 302 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 303 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_XOPEN2K8
/* Return the number of wide characters in S, but at most MAXLEN. */
extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
__THROW __attribute_pure__;
#endif
# 309 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Search N wide characters of S for C. */
#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
__THROW __asm ("wmemchr") __attribute_pure__;
extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
size_t __n)
__THROW __asm ("wmemchr") __attribute_pure__;
#else
# 320 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
__THROW __attribute_pure__;
#endif
# 323 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Compare N wide characters of S1 and S2. */
extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
__THROW __attribute_pure__;
/* Copy N wide characters of SRC to DEST. */
extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n) __THROW;
/* Copy N wide characters of SRC to DEST, guaranteeing
correct behavior for overlapping strings. */
extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
__THROW;
/* Set N wide characters of S to C. */
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* Copy N wide characters of SRC to DEST and return pointer to following
wide character. */
extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
const wchar_t *__restrict __s2, size_t __n)
__THROW;
#endif
# 348 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Determine whether C constitutes a valid (one-byte) multibyte
character. */
extern wint_t btowc (int __c) __THROW;
/* Determine whether C corresponds to a member of the extended
character set whose multibyte representation is a single byte. */
extern int wctob (wint_t __c) __THROW;
/* Determine whether PS points to an object representing the initial
state. */
extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__;
/* Write wide character representation of multibyte character pointed
to by S to PWC. */
extern size_t mbrtowc (wchar_t *__restrict __pwc,
const char *__restrict __s, size_t __n,
mbstate_t *__restrict __p) __THROW;
/* Write multibyte representation of wide character WC to S. */
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
mbstate_t *__restrict __ps) __THROW;
/* Return number of bytes in multibyte character pointed to by S. */
extern size_t __mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) __THROW;
extern size_t mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_EXTERN_INLINES
/* Define inline function as optimization. */
/* Added for bug fix */
#ifndef __cplusplus
/* We can use the BTOWC and WCTOB optimizations since we know that all
locales must use ASCII encoding for the values in the ASCII range
and because the wchar_t encoding is always ISO 10646. */
extern wint_t __btowc_alias (int __c) __asm ("btowc");
__extern_inline wint_t
__NTH (btowc (int __c))
{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
? (wint_t) __c : __btowc_alias (__c)); }
extern int __wctob_alias (wint_t __c) __asm ("wctob");
__extern_inline int
__NTH (wctob (wint_t __wc))
{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
? (int) __wc : __wctob_alias (__wc)); }
#endif
# 401 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__extern_inline size_t
__NTH (mbrlen (const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps))
{ return (__ps != NULL
? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); }
#endif
# 407 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Write wide character representation of multibyte character string
SRC to DST. */
extern size_t mbsrtowcs (wchar_t *__restrict __dst,
const char **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) __THROW;
/* Write multibyte character representation of wide character string
SRC to DST. */
extern size_t wcsrtombs (char *__restrict __dst,
const wchar_t **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_XOPEN2K8
/* Write wide character representation of at most NMC bytes of the
multibyte character string SRC to DST. */
extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
const char **__restrict __src, size_t __nmc,
size_t __len, mbstate_t *__restrict __ps) __THROW;
/* Write multibyte character representation of at most NWC characters
from the wide character string SRC to DST. */
extern size_t wcsnrtombs (char *__restrict __dst,
const wchar_t **__restrict __src,
size_t __nwc, size_t __len,
mbstate_t *__restrict __ps) __THROW;
#endif /* use POSIX 2008 */
# 437 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* The following functions are extensions found in X/Open CAE. */
#ifdef __USE_XOPEN
/* Determine number of column positions required for C. */
extern int wcwidth (wchar_t __c) __THROW;
/* Determine number of column positions required for first N wide
characters (or fewer if S ends before this) in S. */
extern int wcswidth (const wchar_t *__s, size_t __n) __THROW;
#endif /* Use X/Open. */
# 448 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Convert initial portion of the wide string NPTR to `double'
representation. */
extern double wcstod (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Likewise for `float' and `long double' sizes of floating-point numbers. */
extern float wcstof (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW;
extern long double wcstold (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW;
__END_NAMESPACE_C99
#endif /* C99 */
# 466 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Convert initial portion of wide string NPTR to `long int'
representation. */
extern long int wcstol (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base) __THROW;
/* Convert initial portion of wide string NPTR to `unsigned long int'
representation. */
extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
__THROW;
__END_NAMESPACE_STD
#if defined __USE_ISOC99 || (defined __GNUC__ && defined __USE_GNU)
__BEGIN_NAMESPACE_C99
/* Convert initial portion of wide string NPTR to `long long int'
representation. */
__extension__
extern long long int wcstoll (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
__THROW;
/* Convert initial portion of wide string NPTR to `unsigned long long int'
representation. */
__extension__
extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) __THROW;
__END_NAMESPACE_C99
#endif /* ISO C99 or GCC and GNU. */
# 498 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if defined __GNUC__ && defined __USE_GNU
/* Convert initial portion of wide string NPTR to `long long int'
representation. */
__extension__
extern long long int wcstoq (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
__THROW;
/* Convert initial portion of wide string NPTR to `unsigned long long int'
representation. */
__extension__
extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) __THROW;
#endif /* GCC and use GNU. */
# 514 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_GNU
/* The concept of one static locale per category is not very well
thought out. Many applications will need to process its data using
information from several different locales. Another application is
the implementation of the internationalization handling in the
upcoming ISO C++ standard library. To support this another set of
the functions using locale data exist which have an additional
argument.
Attention: all these functions are *not* standardized in any form.
This is a proof-of-concept implementation. */
/* Structure for reentrant locale using functions. This is an
(almost) opaque type for the user level programs. */
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 529 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 530 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Special versions of the functions above which take the locale to
use as an additional parameter. */
extern long int wcstol_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base,
__locale_t __loc) __THROW;
extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__
extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__
extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc)
__THROW;
extern double wcstod_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
__THROW;
extern float wcstof_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
__THROW;
extern long double wcstold_l (const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) __THROW;
#endif /* use GNU */
# 564 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_XOPEN2K8
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
DEST. */
extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src) __THROW;
/* Copy no more than N characters of SRC to DEST, returning the address of
the last character written into DEST. */
extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
const wchar_t *__restrict __src, size_t __n)
__THROW;
/* Wide character I/O functions. */
/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces
a wide character string. */
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW;
#endif
# 585 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#if defined __USE_ISOC95 || defined __USE_UNIX98
__BEGIN_NAMESPACE_STD
/* Select orientation for stream. */
extern int fwide (__FILE *__fp, int __mode) __THROW;
/* Write formatted output to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fwprintf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wprintf__, 2, 3))) */;
/* Write formatted output to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int wprintf (const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wprintf__, 1, 2))) */;
/* Write formatted output of at most N characters to S. */
extern int swprintf (wchar_t *__restrict __s, size_t __n,
const wchar_t *__restrict __format, ...)
__THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */;
/* Write formatted output to S from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfwprintf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wprintf__, 2, 0))) */;
/* Write formatted output to stdout from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vwprintf (const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wprintf__, 1, 0))) */;
/* Write formatted output of at most N character to S from argument
list ARG. */
extern int vswprintf (wchar_t *__restrict __s, size_t __n,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
/* Read formatted input from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fwscanf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
/* Read formatted input from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int wscanf (const wchar_t *__restrict __format, ...)
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
/* Read formatted input from S. */
extern int swscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format, ...)
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
# if defined __USE_ISOC99 && !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
GNU extension which conflicts with valid %a followed by letter
s, S or [. */
extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...),
__isoc99_fwscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...),
__isoc99_wscanf)
/* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
...), __isoc99_swscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
# else
# 671 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern int __isoc99_fwscanf (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...);
extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...);
extern int __isoc99_swscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format, ...)
__THROW;
# define fwscanf __isoc99_fwscanf
# define wscanf __isoc99_wscanf
# define swscanf __isoc99_swscanf
# endif
# 681 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# endif
# 682 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_NAMESPACE_STD
#endif /* Use ISO C95, C99 and Unix98. */
# 685 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Read formatted input from S into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfwscanf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
/* Read formatted input from stdin into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vwscanf (const wchar_t *__restrict __format,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
/* Read formatted input from S into argument list ARG. */
extern int vswscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
# if !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg), __isoc99_vfwscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format,
__gnuc_va_list __arg), __isoc99_vwscanf)
/* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg), __isoc99_vswscanf)
/* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
# else
# 725 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
extern int __isoc99_vfwscanf (__FILE *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg);
extern int __isoc99_vwscanf (const wchar_t *__restrict __format,
__gnuc_va_list __arg);
extern int __isoc99_vswscanf (const wchar_t *__restrict __s,
const wchar_t *__restrict __format,
__gnuc_va_list __arg) __THROW;
# define vfwscanf __isoc99_vfwscanf
# define vwscanf __isoc99_vwscanf
# define vswscanf __isoc99_vswscanf
# endif
# 737 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# endif
# 738 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_NAMESPACE_C99
#endif /* Use ISO C99. */
# 741 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_STD
/* Read a character from STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern wint_t fgetwc (__FILE *__stream);
extern wint_t getwc (__FILE *__stream);
/* Read a character from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wint_t getwchar (void);
/* Write a character to STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwc (wchar_t __wc, __FILE *__stream);
/* Write a character to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wint_t putwchar (wchar_t __wc);
/* Get a newline-terminated wide character string of finite length
from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
/* Write a string to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fputws (const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
/* Push a character back onto the input buffer of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* These are defined to be equivalent to the `char' functions defined
in POSIX.1:1996.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern wint_t getwc_unlocked (__FILE *__stream);
extern wint_t getwchar_unlocked (void);
/* This is the wide character version of a GNU extension.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern wint_t fgetwc_unlocked (__FILE *__stream);
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
/* These are defined to be equivalent to the `char' functions defined
in POSIX.1:1996.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar_unlocked (wchar_t __wc);
/* This function does the same as `fgetws' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
/* This function does the same as `fputws' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputws_unlocked (const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
#endif
# 852 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__BEGIN_NAMESPACE_C99
/* Format TP into S according to FORMAT.
Write no more than MAXSIZE wide characters and return the number
of wide characters written, or 0 if it would exceed MAXSIZE. */
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
const wchar_t *__restrict __format,
const struct tm *__restrict __tp) __THROW;
__END_NAMESPACE_C99
# ifdef __USE_GNU
#if 0 /* expanded by -frewrite-includes */
# include <xlocale.h>
#endif /* expanded by -frewrite-includes */
# 864 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 865 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Similar to `wcsftime' but takes the information from
the provided locale and not the global locale. */
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
const wchar_t *__restrict __format,
const struct tm *__restrict __tp,
__locale_t __loc) __THROW;
# endif
# 873 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* The X/Open standard demands that most of the functions defined in
the <wctype.h> header must also appear here. This is probably
because some X/Open members wrote their implementation before the
ISO C standard was published and introduced the better solution.
We have to provide these definitions for compliance reasons but we
do this nonsense only if really necessary. */
#if defined __USE_UNIX98 && !defined __USE_GNU
# define __need_iswxxx
#if 0 /* expanded by -frewrite-includes */
# include <wctype.h>
#endif /* expanded by -frewrite-includes */
# 882 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 883 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 884 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Define some macros helping to catch buffer overflows. */
#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
#if 0 /* expanded by -frewrite-includes */
# include <bits/wchar2.h>
#endif /* expanded by -frewrite-includes */
# 887 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 888 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 889 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#ifdef __LDBL_COMPAT
#if 0 /* expanded by -frewrite-includes */
# include <bits/wchar-ldbl.h>
#endif /* expanded by -frewrite-includes */
# 891 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
# 892 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif
# 893 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
__END_DECLS
#endif /* _WCHAR_H defined */
# 897 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
#endif /* wchar.h */
# 899 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/wchar.h" 3
/* Undefine all __need_* constants in case we are included to get those
constants but the whole file was already read. */
#undef __need_mbstate_t
#undef __need_wint_t
# 21 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 2 3
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
#if 0 /* expanded by -frewrite-includes */
# include <gconv.h>
#endif /* expanded by -frewrite-includes */
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
typedef union
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
} _G_iconv_t;
#endif
# 43 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
/* These library features are always available in the GNU C library. */
#define _G_va_list __gnuc_va_list
#define _G_HAVE_MMAP 1
#define _G_HAVE_MREMAP 1
#define _G_IO_IO_FILE_VERSION 0x20001
/* This is defined by <bits/stat.h> if `st_blksize' exists. */
#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
#define _G_BUFSIZ 8192
#endif /* _G_config.h */
# 59 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/_G_config.h" 3
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 2 3
/* ALL of these should be defined in _G_config.h */
#define _IO_fpos_t _G_fpos_t
#define _IO_fpos64_t _G_fpos64_t
#define _IO_size_t size_t
#define _IO_ssize_t __ssize_t
#define _IO_off_t __off_t
#define _IO_off64_t __off64_t
#define _IO_pid_t __pid_t
#define _IO_uid_t __uid_t
#define _IO_iconv_t _G_iconv_t
#define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
#define _IO_BUFSIZ _G_BUFSIZ
#define _IO_va_list _G_va_list
#define _IO_wint_t wint_t
/* This define avoids name pollution if we're using GNU stdarg.h */
#define __need___va_list
#if 0 /* expanded by -frewrite-includes */
#include <stdarg.h>
#endif /* expanded by -frewrite-includes */
# 50 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 51 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#ifdef __GNUC_VA_LIST
# undef _IO_va_list
# define _IO_va_list __gnuc_va_list
#endif /* __GNUC_VA_LIST */
# 55 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#ifndef __P
#if 0 /* expanded by -frewrite-includes */
# include <sys/cdefs.h>
#endif /* expanded by -frewrite-includes */
# 57 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 58 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#endif /*!__P*/
# 59 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#define _IO_UNIFIED_JUMPTABLES 1
#ifndef EOF
# define EOF (-1)
#endif
# 65 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#ifndef NULL
# if defined __GNUG__ && \
(__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
# define NULL (__null)
# else
# 70 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# if !defined(__cplusplus)
# define NULL ((void*)0)
# else
# 73 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# define NULL (0)
# endif
# 75 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# endif
# 76 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#endif
# 77 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#define _IOS_INPUT 1
#define _IOS_OUTPUT 2
#define _IOS_ATEND 4
#define _IOS_APPEND 8
#define _IOS_TRUNC 16
#define _IOS_NOCREATE 32
#define _IOS_NOREPLACE 64
#define _IOS_BIN 128
/* Magic numbers and bits for the _flags field.
The magic numbers use the high-order bits of _flags;
the remaining bits are available for variable flags.
Note: The magic numbers must all be negative if stdio
emulation is desired. */
#define _IO_MAGIC 0xFBAD0000 /* Magic number */
#define _OLD_STDIO_MAGIC 0xFABC0000 /* Emulate old stdio. */
#define _IO_MAGIC_MASK 0xFFFF0000
#define _IO_USER_BUF 1 /* User owns buffer; don't delete it on close. */
#define _IO_UNBUFFERED 2
#define _IO_NO_READS 4 /* Reading not allowed */
#define _IO_NO_WRITES 8 /* Writing not allowd */
#define _IO_EOF_SEEN 0x10
#define _IO_ERR_SEEN 0x20
#define _IO_DELETE_DONT_CLOSE 0x40 /* Don't call close(_fileno) on cleanup. */
#define _IO_LINKED 0x80 /* Set if linked (using _chain) to streambuf::_list_all.*/
#define _IO_IN_BACKUP 0x100
#define _IO_LINE_BUF 0x200
#define _IO_TIED_PUT_GET 0x400 /* Set if put and get pointer logicly tied. */
#define _IO_CURRENTLY_PUTTING 0x800
#define _IO_IS_APPENDING 0x1000
#define _IO_IS_FILEBUF 0x2000
#define _IO_BAD_SEEN 0x4000
#define _IO_USER_LOCK 0x8000
#define _IO_FLAGS2_MMAP 1
#define _IO_FLAGS2_NOTCANCEL 2
#ifdef _LIBC
# define _IO_FLAGS2_FORTIFY 4
#endif
# 118 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#define _IO_FLAGS2_USER_WBUF 8
#ifdef _LIBC
# define _IO_FLAGS2_SCANF_STD 16
# define _IO_FLAGS2_NOCLOSE 32
# define _IO_FLAGS2_CLOEXEC 64
#endif
# 124 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
/* These are "formatting flags" matching the iostream fmtflags enum values. */
#define _IO_SKIPWS 01
#define _IO_LEFT 02
#define _IO_RIGHT 04
#define _IO_INTERNAL 010
#define _IO_DEC 020
#define _IO_OCT 040
#define _IO_HEX 0100
#define _IO_SHOWBASE 0200
#define _IO_SHOWPOINT 0400
#define _IO_UPPERCASE 01000
#define _IO_SHOWPOS 02000
#define _IO_SCIENTIFIC 04000
#define _IO_FIXED 010000
#define _IO_UNITBUF 020000
#define _IO_STDIO 040000
#define _IO_DONT_CLOSE 0100000
#define _IO_BOOLALPHA 0200000
struct _IO_jump_t; struct _IO_FILE;
/* Handle lock. */
#ifdef _IO_MTSAFE_IO
# if defined __GLIBC__ && __GLIBC__ >= 2
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio-lock.h>
#endif /* expanded by -frewrite-includes */
# 150 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 151 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# else
# 152 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
/*# include <comthread.h>*/
# endif
# 154 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#else
# 155 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
typedef void _IO_lock_t;
#endif
# 157 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
/* A streammarker remembers a position in a buffer. */
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
/* If _pos >= 0
it points to _buf->Gbase()+_pos. FIXME comment */
/* if _pos < 0, it points to _buf->eBptr()+_pos. FIXME comment */
int _pos;
#if 0
void set_streampos(streampos sp) { _spos = sp; }
void set_offset(int offset) { _pos = offset; _spos = (streampos)(-2); }
public:
streammarker(streambuf *sb);
~streammarker();
int saving() { return _spos == -2; }
int delta(streammarker&);
int delta();
#endif
# 178 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
};
/* This is the structure from the libstdc++ codecvt class. */
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
/* The order of the elements in the following struct must match the order
of the virtual functions in the libstdc++ codecvt class. */
struct _IO_codecvt
{
void (*__codecvt_destr) (struct _IO_codecvt *);
enum __codecvt_result (*__codecvt_do_out) (struct _IO_codecvt *,
__mbstate_t *,
const wchar_t *,
const wchar_t *,
const wchar_t **, char *,
char *, char **);
enum __codecvt_result (*__codecvt_do_unshift) (struct _IO_codecvt *,
__mbstate_t *, char *,
char *, char **);
enum __codecvt_result (*__codecvt_do_in) (struct _IO_codecvt *,
__mbstate_t *,
const char *, const char *,
const char **, wchar_t *,
wchar_t *, wchar_t **);
int (*__codecvt_do_encoding) (struct _IO_codecvt *);
int (*__codecvt_do_always_noconv) (struct _IO_codecvt *);
int (*__codecvt_do_length) (struct _IO_codecvt *, __mbstate_t *,
const char *, const char *, _IO_size_t);
int (*__codecvt_do_max_length) (struct _IO_codecvt *);
_IO_iconv_t __cd_in;
_IO_iconv_t __cd_out;
};
/* Extra data for wide character streams. */
struct _IO_wide_data
{
wchar_t *_IO_read_ptr; /* Current read pointer */
wchar_t *_IO_read_end; /* End of get area. */
wchar_t *_IO_read_base; /* Start of putback+get area. */
wchar_t *_IO_write_base; /* Start of put area. */
wchar_t *_IO_write_ptr; /* Current put pointer. */
wchar_t *_IO_write_end; /* End of put area. */
wchar_t *_IO_buf_base; /* Start of reserve area. */
wchar_t *_IO_buf_end; /* End of reserve area. */
/* The following fields are used to support backing up and undo. */
wchar_t *_IO_save_base; /* Pointer to start of non-current get area. */
wchar_t *_IO_backup_base; /* Pointer to first valid character of
backup area */
wchar_t *_IO_save_end; /* Pointer to end of non-current get area. */
__mbstate_t _IO_state;
__mbstate_t _IO_last_state;
struct _IO_codecvt _codecvt;
wchar_t _shortbuf[1];
const struct _IO_jump_t *_wide_vtable;
};
#endif
# 245 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
struct _IO_FILE {
int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
#define _IO_file_flags _flags
/* The following pointers correspond to the C++ streambuf protocol. */
/* Note: Tk uses the _IO_read_ptr and _IO_read_end fields directly. */
char* _IO_read_ptr; /* Current read pointer */
char* _IO_read_end; /* End of get area. */
char* _IO_read_base; /* Start of putback+get area. */
char* _IO_write_base; /* Start of put area. */
char* _IO_write_ptr; /* Current put pointer. */
char* _IO_write_end; /* End of put area. */
char* _IO_buf_base; /* Start of reserve area. */
char* _IO_buf_end; /* End of reserve area. */
/* The following fields are used to support backing up and undo. */
char *_IO_save_base; /* Pointer to start of non-current get area. */
char *_IO_backup_base; /* Pointer to first valid character of backup area */
char *_IO_save_end; /* Pointer to end of non-current get area. */
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
#if 0
int _blksize;
#else
# 273 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
int _flags2;
#endif
# 275 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
_IO_off_t _old_offset; /* This used to be _offset but it's too small. */
#define __HAVE_COLUMN /* temporary */
/* 1+column number of pbase(); 0 is unknown. */
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
/* char* _save_gptr; char* _save_egptr; */
_IO_lock_t *_lock;
#ifdef _IO_USE_OLD_IO_FILE
};
struct _IO_FILE_complete
{
struct _IO_FILE _file;
#endif
# 293 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#if defined _G_IO_IO_FILE_VERSION && _G_IO_IO_FILE_VERSION == 0x20001
_IO_off64_t _offset;
# if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
/* Wide character stream stuff. */
struct _IO_codecvt *_codecvt;
struct _IO_wide_data *_wide_data;
struct _IO_FILE *_freeres_list;
void *_freeres_buf;
size_t _freeres_size;
# else
# 303 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
void *__pad1;
void *__pad2;
void *__pad3;
void *__pad4;
size_t __pad5;
# endif
# 309 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
int _mode;
/* Make sure we don't get into trouble again. */
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
#endif
# 313 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
};
#ifndef __cplusplus
typedef struct _IO_FILE _IO_FILE;
#endif
# 318 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
#ifndef _LIBC
#define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))
#define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))
#define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))
#else
# 329 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
extern _IO_FILE *_IO_stdin attribute_hidden;
extern _IO_FILE *_IO_stdout attribute_hidden;
extern _IO_FILE *_IO_stderr attribute_hidden;
#endif
# 333 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
/* Functions to do I/O and file management for a stream. */
/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF.
Return number of bytes read. */
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
/* Write N bytes pointed to by BUF to COOKIE. Write all N bytes
unless there is an error. Return number of bytes written. If
there is an error, return 0 and do not write anything. If the file
has been opened for append (__mode.__append set), then set the file
pointer to the end of the file and then do the write; if not, just
write at the current file pointer. */
typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
size_t __n);
/* Move COOKIE's file position to *POS bytes from the
beginning of the file (if W is SEEK_SET),
the current position (if W is SEEK_CUR),
or the end of the file (if W is SEEK_END).
Set *POS to the new file position.
Returns zero if successful, nonzero if not. */
typedef int __io_seek_fn (void *__cookie, _IO_off64_t *__pos, int __w);
/* Close COOKIE. */
typedef int __io_close_fn (void *__cookie);
#ifdef _GNU_SOURCE
/* User-visible names for the above. */
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
/* The structure with the cookie function pointers. */
typedef struct
{
__io_read_fn *read; /* Read bytes. */
__io_write_fn *write; /* Write bytes. */
__io_seek_fn *seek; /* Seek/tell file position. */
__io_close_fn *close; /* Close file. */
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
/* Initialize one of those. */
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
void *__cookie, _IO_cookie_io_functions_t __fns);
#endif
# 385 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#ifdef __cplusplus
extern "C" {
#endif
# 390 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
extern int __underflow (_IO_FILE *);
extern int __uflow (_IO_FILE *);
extern int __overflow (_IO_FILE *, int);
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
extern _IO_wint_t __wunderflow (_IO_FILE *);
extern _IO_wint_t __wuflow (_IO_FILE *);
extern _IO_wint_t __woverflow (_IO_FILE *, _IO_wint_t);
#endif
# 399 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#if __GNUC__ >= 3
# define _IO_BE(expr, res) __builtin_expect ((expr), res)
#else
# 403 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# define _IO_BE(expr, res) (expr)
#endif
# 405 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#define _IO_getc_unlocked(_fp) \
(_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \
? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
#define _IO_peekc_unlocked(_fp) \
(_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) \
&& __underflow (_fp) == EOF ? EOF \
: *(unsigned char *) (_fp)->_IO_read_ptr)
#define _IO_putc_unlocked(_ch, _fp) \
(_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) \
? __overflow (_fp, (unsigned char) (_ch)) \
: (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
# define _IO_getwc_unlocked(_fp) \
(_IO_BE ((_fp)->_wide_data == NULL \
|| ((_fp)->_wide_data->_IO_read_ptr \
>= (_fp)->_wide_data->_IO_read_end), 0) \
? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++)
# define _IO_putwc_unlocked(_wch, _fp) \
(_IO_BE ((_fp)->_wide_data == NULL \
|| ((_fp)->_wide_data->_IO_write_ptr \
>= (_fp)->_wide_data->_IO_write_end), 0) \
? __woverflow (_fp, _wch) \
: (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))
#endif
# 431 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
#define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
extern int _IO_getc (_IO_FILE *__fp);
extern int _IO_putc (int __c, _IO_FILE *__fp);
extern int _IO_feof (_IO_FILE *__fp) __THROW;
extern int _IO_ferror (_IO_FILE *__fp) __THROW;
extern int _IO_peekc_locked (_IO_FILE *__fp);
/* This one is for Emacs. */
#define _IO_PENDING_OUTPUT_COUNT(_fp) \
((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
extern void _IO_flockfile (_IO_FILE *) __THROW;
extern void _IO_funlockfile (_IO_FILE *) __THROW;
extern int _IO_ftrylockfile (_IO_FILE *) __THROW;
#ifdef _IO_MTSAFE_IO
# define _IO_peekc(_fp) _IO_peekc_locked (_fp)
# define _IO_flockfile(_fp) \
if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_flockfile (_fp)
# define _IO_funlockfile(_fp) \
if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_funlockfile (_fp)
#else
# 457 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
# define _IO_flockfile(_fp) /**/
# define _IO_funlockfile(_fp) /**/
# define _IO_ftrylockfile(_fp) /**/
# define _IO_cleanup_region_start(_fct, _fp) /**/
# define _IO_cleanup_region_end(_Doit) /**/
#endif /* !_IO_MTSAFE_IO */
# 464 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
_IO_va_list, int *__restrict);
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
_IO_va_list);
extern _IO_ssize_t _IO_padn (_IO_FILE *, int, _IO_ssize_t);
extern _IO_size_t _IO_sgetn (_IO_FILE *, void *, _IO_size_t);
extern _IO_off64_t _IO_seekoff (_IO_FILE *, _IO_off64_t, int, int);
extern _IO_off64_t _IO_seekpos (_IO_FILE *, _IO_off64_t, int);
extern void _IO_free_backup_area (_IO_FILE *) __THROW;
#if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
extern _IO_wint_t _IO_getwc (_IO_FILE *__fp);
extern _IO_wint_t _IO_putwc (wchar_t __wc, _IO_FILE *__fp);
extern int _IO_fwide (_IO_FILE *__fp, int __mode) __THROW;
# if __GNUC__ >= 2
/* While compiling glibc we have to handle compatibility with very old
versions. */
# if defined _LIBC && defined SHARED
#if 0 /* expanded by -frewrite-includes */
# include <shlib-compat.h>
#endif /* expanded by -frewrite-includes */
# 485 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 486 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
# define _IO_fwide_maybe_incompatible \
(__builtin_expect (&_IO_stdin_used == NULL, 0))
extern const int _IO_stdin_used;
weak_extern (_IO_stdin_used);
# endif
# 492 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# endif
# 493 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# ifndef _IO_fwide_maybe_incompatible
# define _IO_fwide_maybe_incompatible (0)
# endif
# 496 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
/* A special optimized version of the function above. It optimizes the
case of initializing an unoriented byte stream. */
# define _IO_fwide(__fp, __mode) \
({ int __result = (__mode); \
if (__result < 0 && ! _IO_fwide_maybe_incompatible) \
{ \
if ((__fp)->_mode == 0) \
/* We know that all we have to do is to set the flag. */ \
(__fp)->_mode = -1; \
__result = (__fp)->_mode; \
} \
else if (__builtin_constant_p (__mode) && (__mode) == 0) \
__result = _IO_fwide_maybe_incompatible ? -1 : (__fp)->_mode; \
else \
__result = _IO_fwide (__fp, __result); \
__result; })
# endif
# 513 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
extern int _IO_vfwscanf (_IO_FILE * __restrict, const wchar_t * __restrict,
_IO_va_list, int *__restrict);
extern int _IO_vfwprintf (_IO_FILE *__restrict, const wchar_t *__restrict,
_IO_va_list);
extern _IO_ssize_t _IO_wpadn (_IO_FILE *, wint_t, _IO_ssize_t);
extern void _IO_free_wbackup_area (_IO_FILE *) __THROW;
#endif
# 521 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#ifdef __LDBL_COMPAT
#if 0 /* expanded by -frewrite-includes */
# include <bits/libio-ldbl.h>
#endif /* expanded by -frewrite-includes */
# 523 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 524 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#endif
# 525 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#ifdef __cplusplus
}
#endif
# 529 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
#endif /* _IO_STDIO_H */
# 531 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/libio.h" 3
# 75 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 2 3
#if defined __USE_XOPEN || defined __USE_XOPEN2K8
# ifdef __GNUC__
# ifndef _VA_LIST_DEFINED
typedef _G_va_list va_list;
# define _VA_LIST_DEFINED
# endif
# 82 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# else
# 83 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if 0 /* expanded by -frewrite-includes */
# include <stdarg.h>
#endif /* expanded by -frewrite-includes */
# 83 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 84 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# endif
# 85 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 86 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
# ifndef __off_t_defined
# ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
# else
# 92 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
typedef __off64_t off_t;
# endif
# 94 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define __off_t_defined
# endif
# 96 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# if defined __USE_LARGEFILE64 && !defined __off64_t_defined
typedef __off64_t off64_t;
# define __off64_t_defined
# endif
# 100 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifndef __ssize_t_defined
typedef __ssize_t ssize_t;
# define __ssize_t_defined
# endif
# 105 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 106 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* The type of the second argument to `fgetpos' and `fsetpos'. */
__BEGIN_NAMESPACE_STD
#ifndef __USE_FILE_OFFSET64
typedef _G_fpos_t fpos_t;
#else
# 112 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
typedef _G_fpos64_t fpos_t;
#endif
# 114 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_LARGEFILE64
typedef _G_fpos64_t fpos64_t;
#endif
# 118 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* The possibilities for the third argument to `setvbuf'. */
#define _IOFBF 0 /* Fully buffered. */
#define _IOLBF 1 /* Line buffered. */
#define _IONBF 2 /* No buffering. */
/* Default buffer size. */
#ifndef BUFSIZ
# define BUFSIZ _IO_BUFSIZ
#endif
# 129 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* End of file character.
Some things throughout the library rely on this being -1. */
#ifndef EOF
# define EOF (-1)
#endif
# 136 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* The possibilities for the third argument to `fseek'.
These values should not be changed. */
#define SEEK_SET 0 /* Seek from beginning of file. */
#define SEEK_CUR 1 /* Seek from current position. */
#define SEEK_END 2 /* Seek from end of file. */
#ifdef __USE_GNU
# define SEEK_DATA 3 /* Seek to next data. */
# define SEEK_HOLE 4 /* Seek to next hole. */
#endif
# 147 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_SVID || defined __USE_XOPEN
/* Default path prefix for `tempnam' and `tmpnam'. */
# define P_tmpdir "/tmp"
#endif
# 153 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* Get the values:
L_tmpnam How long an array of chars must be to be passed to `tmpnam'.
TMP_MAX The minimum number of unique filenames generated by tmpnam
(and tempnam when it uses tmpnam's name space),
or tempnam (the two are separate).
L_ctermid How long an array to pass to `ctermid'.
L_cuserid How long an array to pass to `cuserid'.
FOPEN_MAX Minimum number of files that can be open at once.
FILENAME_MAX Maximum length of a filename. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/stdio_lim.h>
#endif /* expanded by -frewrite-includes */
# 164 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 1 3
/* Copyright (C) 1994, 1997, 1998, 1999, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX
# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
#endif
# 21 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 3
#ifdef _STDIO_H
# define L_tmpnam 20
# define TMP_MAX 238328
# define FILENAME_MAX 4096
# ifdef __USE_POSIX
# define L_ctermid 9
# if !defined __USE_XOPEN2K || defined __USE_GNU
# define L_cuserid 9
# endif
# 32 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 3
# endif
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 3
#endif
# 34 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 3
#if defined __need_FOPEN_MAX || defined _STDIO_H
# undef FOPEN_MAX
# define FOPEN_MAX 16
#endif
# 39 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 3
#if defined __need_IOV_MAX && !defined IOV_MAX
# define IOV_MAX 1024
#endif
# 43 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio_lim.h" 3
# 165 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 2 3
/* Standard streams. */
extern struct _IO_FILE *stdin; /* Standard input stream. */
extern struct _IO_FILE *stdout; /* Standard output stream. */
extern struct _IO_FILE *stderr; /* Standard error output stream. */
/* C89/C99 say they're macros. Make them happy. */
#define stdin stdin
#define stdout stdout
#define stderr stderr
__BEGIN_NAMESPACE_STD
/* Remove file FILENAME. */
extern int remove (const char *__filename) __THROW;
/* Rename file OLD to NEW. */
extern int rename (const char *__old, const char *__new) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_ATFILE
/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */
extern int renameat (int __oldfd, const char *__old, int __newfd,
const char *__new) __THROW;
#endif
# 188 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Create a temporary file and open it read/write.
This function is a possible cancellation point and therefore not
marked with __THROW. */
#ifndef __USE_FILE_OFFSET64
extern FILE *tmpfile (void) __wur;
#else
# 197 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) __wur;
# else
# 200 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define tmpfile tmpfile64
# endif
# 202 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 203 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_LARGEFILE64
extern FILE *tmpfile64 (void) __wur;
#endif
# 207 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* Generate a temporary filename. */
extern char *tmpnam (char *__s) __THROW __wur;
__END_NAMESPACE_STD
#ifdef __USE_MISC
/* This is the reentrant variant of `tmpnam'. The only difference is
that it does not allow S to be NULL. */
extern char *tmpnam_r (char *__s) __THROW __wur;
#endif
# 217 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_SVID || defined __USE_XOPEN
/* Generate a unique temporary filename using up to five characters of PFX
if it is not NULL. The directory to put this file in is searched for
as follows: First the environment variable "TMPDIR" is checked.
If it contains the name of a writable directory, that directory is used.
If not and if DIR is not NULL, that value is checked. If that fails,
P_tmpdir is tried and finally "/tmp". The storage for the filename
is allocated by `malloc'. */
extern char *tempnam (const char *__dir, const char *__pfx)
__THROW __attribute_malloc__ __wur;
#endif
# 230 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Close STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fclose (FILE *__stream);
/* Flush STREAM, or all streams if STREAM is NULL.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fflush (FILE *__stream);
__END_NAMESPACE_STD
#ifdef __USE_MISC
/* Faster versions when locking is not required.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fflush_unlocked (FILE *__stream);
#endif
# 254 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
/* Close all streams.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fcloseall (void);
#endif
# 264 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
#ifndef __USE_FILE_OFFSET64
/* Open a file and create a new stream for it.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern FILE *fopen (const char *__restrict __filename,
const char *__restrict __modes) __wur;
/* Open a file, replacing an existing stream with it.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern FILE *freopen (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) __wur;
#else
# 282 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern FILE *__REDIRECT (fopen, (const char *__restrict __filename,
const char *__restrict __modes), fopen64)
__wur;
extern FILE *__REDIRECT (freopen, (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream), freopen64)
__wur;
# else
# 291 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define fopen fopen64
# define freopen freopen64
# endif
# 294 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 295 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_LARGEFILE64
extern FILE *fopen64 (const char *__restrict __filename,
const char *__restrict __modes) __wur;
extern FILE *freopen64 (const char *__restrict __filename,
const char *__restrict __modes,
FILE *__restrict __stream) __wur;
#endif
# 303 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_POSIX
/* Create a new stream that refers to an existing system file descriptor. */
extern FILE *fdopen (int __fd, const char *__modes) __THROW __wur;
#endif
# 308 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
/* Create a new stream that refers to the given magic cookie,
and uses the given functions for input and output. */
extern FILE *fopencookie (void *__restrict __magic_cookie,
const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) __THROW __wur;
#endif
# 316 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
/* Create a new stream that refers to a memory buffer. */
extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
__THROW __wur;
/* Open a stream that writes into a malloc'd buffer that is expanded as
necessary. *BUFLOC and *SIZELOC are updated with the buffer's location
and the number of characters written on fflush or fclose. */
extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW __wur;
#endif
# 327 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* If BUF is NULL, make STREAM unbuffered.
Else make it use buffer BUF, of size BUFSIZ. */
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW;
/* Make STREAM use buffering mode MODE.
If BUF is not NULL, use N bytes of it for buffering;
else allocate an internal buffer N bytes long. */
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) __THROW;
__END_NAMESPACE_STD
#ifdef __USE_BSD
/* If BUF is NULL, make STREAM unbuffered.
Else make it use SIZE bytes of BUF for buffering. */
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) __THROW;
/* Make STREAM line-buffered. */
extern void setlinebuf (FILE *__stream) __THROW;
#endif
# 349 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Write formatted output to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fprintf (FILE *__restrict __stream,
const char *__restrict __format, ...);
/* Write formatted output to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int printf (const char *__restrict __format, ...);
/* Write formatted output to S. */
extern int sprintf (char *__restrict __s,
const char *__restrict __format, ...) __THROWNL;
/* Write formatted output to S from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
_G_va_list __arg);
/* Write formatted output to stdout from argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vprintf (const char *__restrict __format, _G_va_list __arg);
/* Write formatted output to S from argument list ARG. */
extern int vsprintf (char *__restrict __s, const char *__restrict __format,
_G_va_list __arg) __THROWNL;
__END_NAMESPACE_STD
#if defined __USE_BSD || defined __USE_ISOC99 || defined __USE_UNIX98
__BEGIN_NAMESPACE_C99
/* Maximum chars of output to write in MAXLEN. */
extern int snprintf (char *__restrict __s, size_t __maxlen,
const char *__restrict __format, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
const char *__restrict __format, _G_va_list __arg)
__THROWNL __attribute__ ((__format__ (__printf__, 3, 0)));
__END_NAMESPACE_C99
#endif
# 395 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
/* Write formatted output to a string dynamically allocated with `malloc'.
Store the address of the string in *PTR. */
extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
_G_va_list __arg)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur;
extern int __asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
extern int asprintf (char **__restrict __ptr,
const char *__restrict __fmt, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
#endif
# 409 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
/* Write formatted output to a file descriptor. */
extern int vdprintf (int __fd, const char *__restrict __fmt,
_G_va_list __arg)
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, const char *__restrict __fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
#endif
# 418 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Read formatted input from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fscanf (FILE *__restrict __stream,
const char *__restrict __format, ...) __wur;
/* Read formatted input from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int scanf (const char *__restrict __format, ...) __wur;
/* Read formatted input from S. */
extern int sscanf (const char *__restrict __s,
const char *__restrict __format, ...) __THROW;
#if defined __USE_ISOC99 && !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
GNU extension which conflicts with valid %a followed by letter
s, S or [. */
extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
const char *__restrict __format, ...),
__isoc99_fscanf) __wur;
extern int __REDIRECT (scanf, (const char *__restrict __format, ...),
__isoc99_scanf) __wur;
extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s,
const char *__restrict __format, ...),
__isoc99_sscanf);
# else
# 452 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
extern int __isoc99_fscanf (FILE *__restrict __stream,
const char *__restrict __format, ...) __wur;
extern int __isoc99_scanf (const char *__restrict __format, ...) __wur;
extern int __isoc99_sscanf (const char *__restrict __s,
const char *__restrict __format, ...) __THROW;
# define fscanf __isoc99_fscanf
# define scanf __isoc99_scanf
# define sscanf __isoc99_sscanf
# endif
# 461 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 462 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
/* Read formatted input from S into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
_G_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
/* Read formatted input from stdin into argument list ARG.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int vscanf (const char *__restrict __format, _G_va_list __arg)
__attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
/* Read formatted input from S into argument list ARG. */
extern int vsscanf (const char *__restrict __s,
const char *__restrict __format, _G_va_list __arg)
__THROW __attribute__ ((__format__ (__scanf__, 2, 0)));
# if !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
GNU extension which conflicts with valid %a followed by letter
s, S or [. */
extern int __REDIRECT (vfscanf,
(FILE *__restrict __s,
const char *__restrict __format, _G_va_list __arg),
__isoc99_vfscanf)
__attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
extern int __REDIRECT (vscanf, (const char *__restrict __format,
_G_va_list __arg), __isoc99_vscanf)
__attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
extern int __REDIRECT_NTH (vsscanf,
(const char *__restrict __s,
const char *__restrict __format,
_G_va_list __arg), __isoc99_vsscanf)
__attribute__ ((__format__ (__scanf__, 2, 0)));
# else
# 508 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
extern int __isoc99_vfscanf (FILE *__restrict __s,
const char *__restrict __format,
_G_va_list __arg) __wur;
extern int __isoc99_vscanf (const char *__restrict __format,
_G_va_list __arg) __wur;
extern int __isoc99_vsscanf (const char *__restrict __s,
const char *__restrict __format,
_G_va_list __arg) __THROW;
# define vfscanf __isoc99_vfscanf
# define vscanf __isoc99_vscanf
# define vsscanf __isoc99_vsscanf
# endif
# 520 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# endif
# 521 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_C99
#endif /* Use ISO C9x. */
# 524 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Read a character from STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
/* Read a character from stdin.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int getchar (void);
__END_NAMESPACE_STD
/* The C standard explicitly says this is a macro, so we always do the
optimization for it. */
#define getc(_fp) _IO_getc (_fp)
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
#endif /* Use POSIX or MISC. */
# 553 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_MISC
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fgetc_unlocked (FILE *__stream);
#endif /* Use MISC. */
# 563 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Write a character to STREAM.
These functions are possible cancellation points and therefore not
marked with __THROW.
These functions is a possible cancellation point and therefore not
marked with __THROW. */
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
/* Write a character to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int putchar (int __c);
__END_NAMESPACE_STD
/* The C standard explicitly says this can be a macro,
so we always do the optimization for it. */
#define putc(_ch, _fp) _IO_putc (_ch, _fp)
#ifdef __USE_MISC
/* Faster version when locking is not necessary.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputc_unlocked (int __c, FILE *__stream);
#endif /* Use MISC. */
# 596 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996.
These functions are possible cancellation points and therefore not
marked with __THROW. */
extern int putc_unlocked (int __c, FILE *__stream);
extern int putchar_unlocked (int __c);
#endif /* Use POSIX or MISC. */
# 605 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_SVID || defined __USE_MISC \
|| (defined __USE_XOPEN && !defined __USE_XOPEN2K)
/* Get a word (int) from STREAM. */
extern int getw (FILE *__stream);
/* Write a word (int) to STREAM. */
extern int putw (int __w, FILE *__stream);
#endif
# 615 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Get a newline-terminated string of finite length from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
__wur;
#if !defined __USE_ISOC11 \
|| (defined __cplusplus && __cplusplus <= 201103L)
/* Get a newline-terminated string from stdin, removing the newline.
DO NOT USE THIS FUNCTION!! There is no limit on how much it will read.
The function has been officially removed in ISO C11. This opportunity
is used to also remove it from the GNU feature list. It is now only
available when explicitly using an old ISO C, Unix, or POSIX standard.
GCC defines _GNU_SOURCE when building C++ code and the function is still
in C++11, so it is also available for C++.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern char *gets (char *__s) __wur __attribute_deprecated__;
#endif
# 640 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function does the same as `fgets' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) __wur;
#endif
# 652 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN2K8
/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR
(and null-terminate it). *LINEPTR is a pointer returned from malloc (or
NULL), pointing to *N characters of space. It is realloc'd as
necessary. Returns the number of characters read (not including the
null terminator), or -1 on error or EOF.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern _IO_ssize_t __getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) __wur;
extern _IO_ssize_t getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) __wur;
/* Like `getdelim', but reads up to a newline.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern _IO_ssize_t getline (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) __wur;
#endif
# 682 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Write a string to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
/* Write a string, followed by a newline, to stdout.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int puts (const char *__s);
/* Push a character back onto the input buffer of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int ungetc (int __c, FILE *__stream);
/* Read chunks of generic data from STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) __wur;
/* Write chunks of generic data to STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern size_t fwrite (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s);
__END_NAMESPACE_STD
#ifdef __USE_GNU
/* This function does the same as `fputs' but does not lock the stream.
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int fputs_unlocked (const char *__restrict __s,
FILE *__restrict __stream);
#endif
# 729 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_MISC
/* Faster versions when locking is not necessary.
These functions are not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) __wur;
extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream);
#endif
# 742 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Seek to a certain position on STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fseek (FILE *__stream, long int __off, int __whence);
/* Return the current position of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern long int ftell (FILE *__stream) __wur;
/* Rewind to the beginning of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern void rewind (FILE *__stream);
__END_NAMESPACE_STD
/* The Single Unix Specification, Version 2, specifies an alternative,
more adequate interface for the two functions above which deal with
file offset. `long int' is not the right type. These definitions
are originally defined in the Large File Support API. */
#if defined __USE_LARGEFILE || defined __USE_XOPEN2K
# ifndef __USE_FILE_OFFSET64
/* Seek to a certain position on STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fseeko (FILE *__stream, __off_t __off, int __whence);
/* Return the current position of STREAM.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern __off_t ftello (FILE *__stream) __wur;
# else
# 780 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern int __REDIRECT (fseeko,
(FILE *__stream, __off64_t __off, int __whence),
fseeko64);
extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64);
# else
# 786 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define fseeko fseeko64
# define ftello ftello64
# endif
# 789 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# endif
# 790 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 791 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
#ifndef __USE_FILE_OFFSET64
/* Get STREAM's position.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
/* Set STREAM's position.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int fsetpos (FILE *__stream, const fpos_t *__pos);
#else
# 805 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# ifdef __REDIRECT
extern int __REDIRECT (fgetpos, (FILE *__restrict __stream,
fpos_t *__restrict __pos), fgetpos64);
extern int __REDIRECT (fsetpos,
(FILE *__stream, const fpos_t *__pos), fsetpos64);
# else
# 811 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# define fgetpos fgetpos64
# define fsetpos fsetpos64
# endif
# 814 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 815 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_NAMESPACE_STD
#ifdef __USE_LARGEFILE64
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
extern __off64_t ftello64 (FILE *__stream) __wur;
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
#endif
# 823 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Clear the error and EOF indicators for STREAM. */
extern void clearerr (FILE *__stream) __THROW;
/* Return the EOF indicator for STREAM. */
extern int feof (FILE *__stream) __THROW __wur;
/* Return the error indicator for STREAM. */
extern int ferror (FILE *__stream) __THROW __wur;
__END_NAMESPACE_STD
#ifdef __USE_MISC
/* Faster versions when locking is not required. */
extern void clearerr_unlocked (FILE *__stream) __THROW;
extern int feof_unlocked (FILE *__stream) __THROW __wur;
extern int ferror_unlocked (FILE *__stream) __THROW __wur;
#endif
# 839 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__BEGIN_NAMESPACE_STD
/* Print a message describing the meaning of the value of errno.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern void perror (const char *__s);
__END_NAMESPACE_STD
/* Provide the declarations for `sys_errlist' and `sys_nerr' if they
are available on this system. Even if available, these variables
should not be used directly. The `strerror' function provides
all the necessary functionality. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/sys_errlist.h>
#endif /* expanded by -frewrite-includes */
# 853 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/sys_errlist.h" 1 3
/* Declare sys_errlist and sys_nerr, or don't. Compatibility (do) version.
Copyright (C) 2002, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _STDIO_H
# error "Never include <bits/sys_errlist.h> directly; use <stdio.h> instead."
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/sys_errlist.h" 3
/* sys_errlist and sys_nerr are deprecated. Use strerror instead. */
#ifdef __USE_BSD
extern int sys_nerr;
extern const char *const sys_errlist[];
#endif
# 29 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/sys_errlist.h" 3
#ifdef __USE_GNU
extern int _sys_nerr;
extern const char *const _sys_errlist[];
#endif
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/sys_errlist.h" 3
# 854 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 2 3
#ifdef __USE_POSIX
/* Return the system file descriptor for STREAM. */
extern int fileno (FILE *__stream) __THROW __wur;
#endif /* Use POSIX. */
# 860 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_MISC
/* Faster version when locking is not required. */
extern int fileno_unlocked (FILE *__stream) __THROW __wur;
#endif
# 865 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if (defined __USE_POSIX2 || defined __USE_SVID || defined __USE_BSD || \
defined __USE_MISC)
/* Create a new stream connected to a pipe running the given command.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern FILE *popen (const char *__command, const char *__modes) __wur;
/* Close a stream opened by popen and return the status of its child.
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern int pclose (FILE *__stream);
#endif
# 881 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_POSIX
/* Return the name of the controlling terminal. */
extern char *ctermid (char *__s) __THROW;
#endif /* Use POSIX. */
# 887 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_XOPEN
/* Return the name of the current user. */
extern char *cuserid (char *__s);
#endif /* Use X/Open, but not issue 6. */
# 893 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __USE_GNU
struct obstack; /* See <obstack.h>. */
/* Write formatted output to an obstack. */
extern int obstack_printf (struct obstack *__restrict __obstack,
const char *__restrict __format, ...)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 3)));
extern int obstack_vprintf (struct obstack *__restrict __obstack,
const char *__restrict __format,
_G_va_list __args)
__THROWNL __attribute__ ((__format__ (__printf__, 2, 0)));
#endif /* Use GNU. */
# 907 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996. */
/* Acquire ownership of STREAM. */
extern void flockfile (FILE *__stream) __THROW;
/* Try to acquire ownership of STREAM but do not block if it is not
possible. */
extern int ftrylockfile (FILE *__stream) __THROW __wur;
/* Relinquish the ownership granted for STREAM. */
extern void funlockfile (FILE *__stream) __THROW;
#endif /* POSIX || misc */
# 922 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU
/* The X/Open standard requires some functions and variables to be
declared here which do not belong into this header. But we have to
follow. In GNU mode we don't do this nonsense. */
# define __need_getopt
#if 0 /* expanded by -frewrite-includes */
# include <getopt.h>
#endif /* expanded by -frewrite-includes */
# 928 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 929 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif /* X/Open, but not issue 6 and not for GNU. */
# 930 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
/* If we are compiling with optimizing read this file. It contains
several optimizing inline functions and macros. */
#ifdef __USE_EXTERN_INLINES
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio.h>
#endif /* expanded by -frewrite-includes */
# 934 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 1 3
/* Optimizing macros and inline functions for stdio functions.
Copyright (C) 1998,2000,2001,2004,2007,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _STDIO_H
# error "Never include <bits/stdio.h> directly; use <stdio.h> instead."
#endif
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
#ifndef __extern_inline
# define __STDIO_INLINE inline
#else
# 26 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
# define __STDIO_INLINE __extern_inline
#endif
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
#ifdef __USE_EXTERN_INLINES
/* For -D_FORTIFY_SOURCE{,=2} bits/stdio2.h will define a different
inline. */
# if !(__USE_FORTIFY_LEVEL > 0 && defined __fortify_function)
/* Write formatted output to stdout from argument list ARG. */
__STDIO_INLINE int
vprintf (const char *__restrict __fmt, _G_va_list __arg)
{
return vfprintf (stdout, __fmt, __arg);
}
# endif
# 41 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
/* Read a character from stdin. */
__STDIO_INLINE int
getchar (void)
{
return _IO_getc (stdin);
}
# ifdef __USE_MISC
/* Faster version when locking is not necessary. */
__STDIO_INLINE int
fgetc_unlocked (FILE *__fp)
{
return _IO_getc_unlocked (__fp);
}
# endif /* misc */
# 58 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
# if defined __USE_POSIX || defined __USE_MISC
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
getc_unlocked (FILE *__fp)
{
return _IO_getc_unlocked (__fp);
}
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
getchar_unlocked (void)
{
return _IO_getc_unlocked (stdin);
}
# endif /* POSIX || misc */
# 75 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
/* Write a character to stdout. */
__STDIO_INLINE int
putchar (int __c)
{
return _IO_putc (__c, stdout);
}
# ifdef __USE_MISC
/* Faster version when locking is not necessary. */
__STDIO_INLINE int
fputc_unlocked (int __c, FILE *__stream)
{
return _IO_putc_unlocked (__c, __stream);
}
# endif /* misc */
# 93 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
# if defined __USE_POSIX || defined __USE_MISC
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
putc_unlocked (int __c, FILE *__stream)
{
return _IO_putc_unlocked (__c, __stream);
}
/* This is defined in POSIX.1:1996. */
__STDIO_INLINE int
putchar_unlocked (int __c)
{
return _IO_putc_unlocked (__c, stdout);
}
# endif /* POSIX || misc */
# 110 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
# ifdef __USE_GNU
/* Like `getdelim', but reads up to a newline. */
__STDIO_INLINE _IO_ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
return __getdelim (__lineptr, __n, '\n', __stream);
}
# endif /* GNU */
# 120 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
# ifdef __USE_MISC
/* Faster versions when locking is not required. */
__STDIO_INLINE int
__NTH (feof_unlocked (FILE *__stream))
{
return _IO_feof_unlocked (__stream);
}
/* Faster versions when locking is not required. */
__STDIO_INLINE int
__NTH (ferror_unlocked (FILE *__stream))
{
return _IO_ferror_unlocked (__stream);
}
# endif /* misc */
# 137 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
#endif /* Use extern inlines. */
# 139 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
#if defined __USE_MISC && defined __GNUC__ && defined __OPTIMIZE__ \
&& !defined __cplusplus
/* Perform some simple optimizations. */
# define fread_unlocked(ptr, size, n, stream) \
(__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \
&& (size_t) (size) * (size_t) (n) <= 8 \
&& (size_t) (size) != 0) \
? ({ char *__ptr = (char *) (ptr); \
FILE *__stream = (stream); \
size_t __cnt; \
for (__cnt = (size_t) (size) * (size_t) (n); \
__cnt > 0; --__cnt) \
{ \
int __c = _IO_getc_unlocked (__stream); \
if (__c == EOF) \
break; \
*__ptr++ = __c; \
} \
((size_t) (size) * (size_t) (n) - __cnt) \
/ (size_t) (size); }) \
: (((__builtin_constant_p (size) && (size_t) (size) == 0) \
|| (__builtin_constant_p (n) && (size_t) (n) == 0)) \
/* Evaluate all parameters once. */ \
? ((void) (ptr), (void) (stream), (void) (size), \
(void) (n), (size_t) 0) \
: fread_unlocked (ptr, size, n, stream))))
# define fwrite_unlocked(ptr, size, n, stream) \
(__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \
&& (size_t) (size) * (size_t) (n) <= 8 \
&& (size_t) (size) != 0) \
? ({ const char *__ptr = (const char *) (ptr); \
FILE *__stream = (stream); \
size_t __cnt; \
for (__cnt = (size_t) (size) * (size_t) (n); \
__cnt > 0; --__cnt) \
if (_IO_putc_unlocked (*__ptr++, __stream) == EOF) \
break; \
((size_t) (size) * (size_t) (n) - __cnt) \
/ (size_t) (size); }) \
: (((__builtin_constant_p (size) && (size_t) (size) == 0) \
|| (__builtin_constant_p (n) && (size_t) (n) == 0)) \
/* Evaluate all parameters once. */ \
? ((void) (ptr), (void) (stream), (void) (size), \
(void) (n), (size_t) 0) \
: fwrite_unlocked (ptr, size, n, stream))))
#endif
# 188 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/stdio.h" 3
/* Define helper macro. */
#undef __STDIO_INLINE
# 935 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 2 3
#endif
# 936 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio2.h>
#endif /* expanded by -frewrite-includes */
# 937 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 938 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 939 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#ifdef __LDBL_COMPAT
#if 0 /* expanded by -frewrite-includes */
# include <bits/stdio-ldbl.h>
#endif /* expanded by -frewrite-includes */
# 940 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 941 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif
# 942 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
__END_DECLS
#endif /* <stdio.h> included. */
# 946 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
#endif /* !_STDIO_H */
# 948 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/stdio.h" 3
# 101 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 2 3
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#if 0 /* expanded by -frewrite-includes */
#pragma GCC system_header
#endif /* expanded by -frewrite-includes */
# 104 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#endif
# 105 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
// snprintf
#if defined(_LIBCPP_MSVCRT)
#if 0 /* expanded by -frewrite-includes */
#include "support/win32/support.h"
#endif /* expanded by -frewrite-includes */
# 108 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
# 109 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#endif
# 110 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifdef getc
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_getc(FILE* __stream) {return getc(__stream);}
#undef getc
inline _LIBCPP_INLINE_VISIBILITY int getc(FILE* __stream) {return __libcpp_getc(__stream);}
#endif // getc
# 116 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifdef putc
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_putc(int __c, FILE* __stream) {return putc(__c, __stream);}
#undef putc
inline _LIBCPP_INLINE_VISIBILITY int putc(int __c, FILE* __stream) {return __libcpp_putc(__c, __stream);}
#endif // putc
# 122 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifdef clearerr
inline _LIBCPP_INLINE_VISIBILITY void __libcpp_clearerr(FILE* __stream) { return clearerr(__stream); }
#undef clearerr
inline _LIBCPP_INLINE_VISIBILITY void clearerr(FILE* __stream) { return __libcpp_clearerr(__stream); }
#endif // clearerr
# 128 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifdef feof
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_feof(FILE* __stream) { return feof(__stream); }
#undef feof
inline _LIBCPP_INLINE_VISIBILITY int feof(FILE* __stream) { return __libcpp_feof(__stream); }
#endif // feof
# 134 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifdef ferror
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_ferror(FILE* __stream) { return ferror(__stream); }
#undef ferror
inline _LIBCPP_INLINE_VISIBILITY int ferror(FILE* __stream) { return __libcpp_ferror(__stream); }
#endif // ferror
# 140 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
_LIBCPP_BEGIN_NAMESPACE_STD
using ::FILE;
using ::fpos_t;
using ::size_t;
using ::fclose;
using ::fflush;
using ::setbuf;
using ::setvbuf;
using ::fprintf;
using ::fscanf;
using ::snprintf;
using ::sprintf;
using ::sscanf;
#ifndef _LIBCPP_MSVCRT
using ::vfprintf;
using ::vfscanf;
using ::vsscanf;
#endif // _LIBCPP_MSVCRT
# 161 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
using ::vsnprintf;
using ::vsprintf;
using ::fgetc;
using ::fgets;
using ::fputc;
using ::fputs;
using ::getc;
using ::putc;
using ::ungetc;
using ::fread;
using ::fwrite;
using ::fgetpos;
using ::fseek;
using ::fsetpos;
using ::ftell;
using ::rewind;
using ::clearerr;
using ::feof;
using ::ferror;
using ::perror;
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
using ::fopen;
using ::freopen;
using ::remove;
using ::rename;
using ::tmpfile;
using ::tmpnam;
#endif
# 190 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifndef _LIBCPP_HAS_NO_STDIN
using ::getchar;
#if _LIBCPP_STD_VER <= 11
using ::gets;
#endif
# 196 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
using ::scanf;
using ::vscanf;
#endif
# 199 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
#ifndef _LIBCPP_HAS_NO_STDOUT
using ::printf;
using ::putchar;
using ::puts;
using ::vprintf;
#endif
# 206 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CSTDIO
# 210 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cstdio" 3
# 438 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 2 3
#if 0 /* expanded by -frewrite-includes */
#include <cwchar>
#endif /* expanded by -frewrite-includes */
# 438 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/string" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwchar" 1 3
// -*- C++ -*-
//===--------------------------- cwchar -----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CWCHAR
#define _LIBCPP_CWCHAR
/*
cwchar synopsis
Macros:
NULL
WCHAR_MAX
WCHAR_MIN
WEOF
namespace std
{
Types:
mbstate_t
size_t
tm
wint_t
int fwprintf(FILE* restrict stream, const wchar_t* restrict format, ...);
int fwscanf(FILE* restrict stream, const wchar_t* restrict format, ...);
int swprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, ...);
int swscanf(const wchar_t* restrict s, const wchar_t* restrict format, ...);
int vfwprintf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
int vfwscanf(FILE* restrict stream, const wchar_t* restrict format, va_list arg); // C99
int vswprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, va_list arg);
int vswscanf(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg); // C99
int vwprintf(const wchar_t* restrict format, va_list arg);
int vwscanf(const wchar_t* restrict format, va_list arg); // C99
int wprintf(const wchar_t* restrict format, ...);
int wscanf(const wchar_t* restrict format, ...);
wint_t fgetwc(FILE* stream);
wchar_t* fgetws(wchar_t* restrict s, int n, FILE* restrict stream);
wint_t fputwc(wchar_t c, FILE* stream);
int fputws(const wchar_t* restrict s, FILE* restrict stream);
int fwide(FILE* stream, int mode);
wint_t getwc(FILE* stream);
wint_t getwchar();
wint_t putwc(wchar_t c, FILE* stream);
wint_t putwchar(wchar_t c);
wint_t ungetwc(wint_t c, FILE* stream);
double wcstod(const wchar_t* restrict nptr, wchar_t** restrict endptr);
float wcstof(const wchar_t* restrict nptr, wchar_t** restrict endptr); // C99
long double wcstold(const wchar_t* restrict nptr, wchar_t** restrict endptr); // C99
long wcstol(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
long long wcstoll(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); // C99
unsigned long wcstoul(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
unsigned long long wcstoull(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base); // C99
wchar_t* wcscpy(wchar_t* restrict s1, const wchar_t* restrict s2);
wchar_t* wcsncpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
wchar_t* wcscat(wchar_t* restrict s1, const wchar_t* restrict s2);
wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
int wcscmp(const wchar_t* s1, const wchar_t* s2);
int wcscoll(const wchar_t* s1, const wchar_t* s2);
int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n);
size_t wcsxfrm(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
const wchar_t* wcschr(const wchar_t* s, wchar_t c);
wchar_t* wcschr( wchar_t* s, wchar_t c);
size_t wcscspn(const wchar_t* s1, const wchar_t* s2);
size_t wcslen(const wchar_t* s);
const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2);
wchar_t* wcspbrk( wchar_t* s1, const wchar_t* s2);
const wchar_t* wcsrchr(const wchar_t* s, wchar_t c);
wchar_t* wcsrchr( wchar_t* s, wchar_t c);
size_t wcsspn(const wchar_t* s1, const wchar_t* s2);
const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2);
wchar_t* wcsstr( wchar_t* s1, const wchar_t* s2);
wchar_t* wcstok(wchar_t* restrict s1, const wchar_t* restrict s2, wchar_t** restrict ptr);
const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
wchar_t* wmemchr( wchar_t* s, wchar_t c, size_t n);
int wmemcmp(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
wchar_t* wmemcpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
size_t wcsftime(wchar_t* restrict s, size_t maxsize, const wchar_t* restrict format,
const tm* restrict timeptr);
wint_t btowc(int c);
int wctob(wint_t c);
int mbsinit(const mbstate_t* ps);
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps);
size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
mbstate_t* restrict ps);
size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
mbstate_t* restrict ps);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 106 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwchar" 3
# 107 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwchar" 3
#if 0 /* expanded by -frewrite-includes */
#include <cwctype>
#endif /* expanded by -frewrite-includes */
# 107 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwchar" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwctype" 1 3
// -*- C++ -*-
//===--------------------------- cwctype ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CWCTYPE
#define _LIBCPP_CWCTYPE
/*
cwctype synopsis
Macros:
WEOF
namespace std
{
Types:
wint_t
wctrans_t
wctype_t
int iswalnum(wint_t wc);
int iswalpha(wint_t wc);
int iswblank(wint_t wc); // C99
int iswcntrl(wint_t wc);
int iswdigit(wint_t wc);
int iswgraph(wint_t wc);
int iswlower(wint_t wc);
int iswprint(wint_t wc);
int iswpunct(wint_t wc);
int iswspace(wint_t wc);
int iswupper(wint_t wc);
int iswxdigit(wint_t wc);
int iswctype(wint_t wc, wctype_t desc);
wctype_t wctype(const char* property);
wint_t towlower(wint_t wc);
wint_t towupper(wint_t wc);
wint_t towctrans(wint_t wc, wctrans_t desc);
wctrans_t wctrans(const char* property);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 53 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwctype" 3
# 54 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwctype" 3
#if 0 /* expanded by -frewrite-includes */
#include <cctype>
#endif /* expanded by -frewrite-includes */
# 54 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cwctype" 3
# 1 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cctype" 1 3
// -*- C++ -*-
//===---------------------------- cctype ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CCTYPE
#define _LIBCPP_CCTYPE
/*
cctype synopsis
namespace std
{
int isalnum(int c);
int isalpha(int c);
int isblank(int c); // C99
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int tolower(int c);
int toupper(int c);
} // std
*/
#if 0 /* expanded by -frewrite-includes */
#include <__config>
#endif /* expanded by -frewrite-includes */
# 38 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cctype" 3
# 39 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cctype" 3
#if 0 /* expanded by -frewrite-includes */
#include <ctype.h>
#endif /* expanded by -frewrite-includes */
# 39 "/scinet/bgq/compilers/bgclang/r248407-20150924/r248407-20150924/libc++/include/cctype" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/ctype.h" 1 3
/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007-2009,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/*
* ISO C99 Standard 7.4: Character handling <ctype.h>
*/
#ifndef _CTYPE_H
#define _CTYPE_H 1
#if 0 /* expanded by -frewrite-includes */
#include <features.h>
#endif /* expanded by -frewrite-includes */
# 26 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/ctype.h" 3
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/ctype.h" 3
#if 0 /* expanded by -frewrite-includes */
#include <bits/types.h>
#endif /* expanded by -frewrite-includes */
# 27 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/ctype.h" 3
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/ctype.h" 3
__BEGIN_DECLS
#ifndef _ISbit
/* These are all the characteristics of characters.
If there get to be more than 16 distinct characteristics,
many things must be changed that use `unsigned short int's.
The characteristics are stored always in network byte order (big
endian). We define the bit value interpretations here dependent on the
machine's byte order. */
#if 0 /* expanded by -frewrite-includes */
# include <endian.h>
#endif /* expanded by -frewrite-includes */
# 40 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/ctype.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 1 3
/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _ENDIAN_H
#define _ENDIAN_H 1
#if 0 /* expanded by -frewrite-includes */
#include <features.h>
#endif /* expanded by -frewrite-includes */
# 21 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 3
# 22 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 3
/* Definitions for byte order, according to significance of bytes,
from low addresses to high addresses. The value is what you get by
putting '4' in the most significant byte, '3' in the second most
significant byte, '2' in the second least significant byte, and '1'
in the least significant byte, and then writing down one digit for
each byte, starting with the byte at the lowest address at the left,
and proceeding to the byte with the highest address at the right. */
#define __LITTLE_ENDIAN 1234
#define __BIG_ENDIAN 4321
#define __PDP_ENDIAN 3412
/* This file defines `__BYTE_ORDER' for the particular machine. */
#if 0 /* expanded by -frewrite-includes */
#include <bits/endian.h>
#endif /* expanded by -frewrite-includes */
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 3
# 1 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 1 3
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* PowerPC can be little or big endian. Hopefully gcc will know... */
#ifndef _ENDIAN_H
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
#endif
# 23 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 3
#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
# error Both BIG_ENDIAN and LITTLE_ENDIAN defined!
# endif
# 28 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 3
# define __BYTE_ORDER __BIG_ENDIAN
#else
# 30 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 3
# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
# define __BYTE_ORDER __LITTLE_ENDIAN
# else
# 33 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 3
# warning Cannot determine current byte order, assuming big-endian.
# define __BYTE_ORDER __BIG_ENDIAN
# endif
# 36 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 3
#endif
# 37 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/endian.h" 3
# 37 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 2 3
/* Some machines may need to use a different endianness for floating point
values. */
#ifndef __FLOAT_WORD_ORDER
# define __FLOAT_WORD_ORDER __BYTE_ORDER
#endif
# 43 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 3
#ifdef __USE_BSD
# define LITTLE_ENDIAN __LITTLE_ENDIAN
# define BIG_ENDIAN __BIG_ENDIAN
# define PDP_ENDIAN __PDP_ENDIAN
# define BYTE_ORDER __BYTE_ORDER
#endif
# 50 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 3
#if __BYTE_ORDER == __LITTLE_ENDIAN
# define __LONG_LONG_PAIR(HI, LO) LO, HI
#elif __BYTE_ORDER == __BIG_ENDIAN
# 54 "/bgsys/drivers/toolchain/V1R2M2_base_4.7.2/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/endian.h" 3
# defin
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment