PPL on a Power6 running AIX

Folks, I am trying to compile the latest PPL on bluefire, an IBM Power6 running AIX 5.3, with IBM's compiler xlc/xlC (http://www.cisl.ucar.edu/docs/bluefire/be_quickstart.html#software)
Unfortunately, while the configure script is happy (see config.log for details), the compilation fails as described in the attached make.log and I have no clues about it.
Note that before it was failing with the following one, which I believe was due to a different make version being used, but might be the first culprit (I have the make.log for this too but I'm not sending it right now):
/usr/bin/sed -f ./ppl-config.sed >ppl-config.h "../ppl-config.h", line 1.0: 1540-0809 (W) The source file is empty.
Do you have any recommendations about what I can do to fix the issue?
PS: I speak Italian, but I'm not sure if this list is read just by Italian, despite its .it domain.
Thanks and Regards, Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233 mobile: (720) 240-1704 email: ddvento@ucar.edu
This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
It was created by the Parma Polyhedra Library configure 0.10.2, which was generated by GNU Autoconf 2.63. Invocation command line was
$ ./configure --prefix=/contrib/ppl-0.10.2 --with-libgmp-prefix=/contrib/gmp-4.3.1/ --with-java=/usr/java5/ --enable-cxx
## --------- ## ## Platform. ## ## --------- ##
hostname = be1005en.ucar.edu uname -m = 00CBF2314C00 uname -r = 3 uname -s = AIX uname -v = 5
/usr/bin/uname -p = powerpc /bin/uname -X = unknown
/bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = 5.3.0.0 /bin/universe = unknown
PATH: /contrib/Modules/3.2.6/bin PATH: /usr/java5/bin/ PATH: /blhome/ddvento/bin/ PATH: /blhome/ddvento/opt/bin/ PATH: /usr/local/lsf/7.0/aix5-64/etc PATH: /usr/local/lsf/7.0/aix5-64/bin PATH: /usr/bin PATH: /etc PATH: /usr/sbin PATH: /usr/ucb PATH: /usr/bin/X11 PATH: /sbin PATH: /usr/java5/jre/bin PATH: /usr/java5/bin PATH: /bin PATH: /usr/bin/ PATH: /usr/local/bin/ PATH: /usr/vac/bin/ PATH: /usr/vacpp/bin/ PATH: /contrib/Python-2.5.2/bin/ PATH: /contrib/bin/
## ----------- ## ## Core tests. ## ## ----------- ##
configure:2298: checking build system type configure:2316: result: powerpc-ibm-aix5.3.0.0 configure:2338: checking host system type configure:2353: result: powerpc-ibm-aix5.3.0.0 configure:2393: checking for a BSD-compatible install configure:2461: result: /usr/local/bin//install -c configure:2472: checking whether build environment is sane configure:2515: result: yes configure:2540: checking for a thread-safe mkdir -p configure:2579: result: /usr/local/bin//mkdir -p configure:2592: checking for gawk configure:2622: result: no configure:2592: checking for mawk configure:2622: result: no configure:2592: checking for nawk configure:2608: found /usr/bin/nawk configure:2619: result: nawk configure:2630: checking whether make sets $(MAKE) configure:2652: result: yes configure:2822: checking how to create a ustar tar archive configure:2835: tar --version tar: illegal option -- - Usage: tar -{c|r|t|u|x} [ -BdDEFhilmopRsUvw ] [ -Number ] [ -f TarFile ] [ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File ... Usage: tar {c|r|t|u|x} [ bBdDEfFhilLXmNopRsSUvw[0-9] ] [ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ] [ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File ... configure:2838: $? = 1 configure:2835: gnutar --version ./configure[2836]: gnutar: not found configure:2838: $? = 127 configure:2835: gtar --version tar (GNU tar) 1.19 Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason. configure:2838: $? = 0 configure:2878: tardir=conftest.dir && eval gtar --format=ustar -chf - "$tardir" >conftest.tar configure:2881: $? = 0 configure:2885: gtar -xf - <conftest.tar configure:2888: $? = 0 configure:2901: result: gnutar configure:3027: checking for gcc configure:3054: result: xlc configure:3286: checking for C compiler version configure:3294: xlc --version >&5 xlc: 1501-216 (W) command option --version is not recognized - passed to ld
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
configure:3298: $? = 249 configure:3305: xlc -v >&5 exec: export(export,XL_CONFIG=/etc/vac.cfg.53:xlc,NULL) exec: less(less,/usr/vacpp/exe/default_msg/vacpp.txt,NULL)
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
unlink: /ptmp/ddvento/xlcW0pmqlia unlink: /ptmp/ddvento/xlcW1pmqlib unlink: /ptmp/ddvento/xlcW2pmqlic configure:3309: $? = 249 configure:3316: xlc -V >&5 export XL_CONFIG=/etc/vac.cfg.53:xlc less /usr/vacpp/exe/default_msg/vacpp.txt
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
rm /ptmp/ddvento/xlcW0ppyEia rm /ptmp/ddvento/xlcW1ppyEib rm /ptmp/ddvento/xlcW2ppyEic configure:3320: $? = 249 configure:3343: checking for C compiler default output file name configure:3365: xlc conftest.c >&5 configure:3369: $? = 0 configure:3407: result: a.out configure:3426: checking whether the C compiler works configure:3436: ./a.out configure:3440: $? = 0 configure:3459: result: yes configure:3466: checking whether we are cross compiling configure:3468: result: no configure:3471: checking for suffix of executables configure:3478: xlc -o conftest conftest.c >&5 configure:3482: $? = 0 configure:3508: result: configure:3514: checking for suffix of object files configure:3540: xlc -c conftest.c >&5 configure:3544: $? = 0 configure:3569: result: o configure:3573: checking whether we are using the GNU C compiler configure:3602: xlc -c conftest.c >&5 "conftest.c", line 14.14: 1506-275 (S) Unexpected text me encountered. "conftest.c", line 14.8: 1506-045 (S) Undeclared identifier choke. configure:3609: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | /* end confdefs.h. */ | | int | main () | { | #ifndef __GNUC__ | choke me | #endif | | ; | return 0; | } configure:3626: result: no configure:3635: checking whether xlc accepts -g configure:3665: xlc -c -g conftest.c >&5 configure:3672: $? = 0 configure:3773: result: yes configure:3790: checking for xlc option to accept ISO C89 configure:3864: xlc -c -g conftest.c >&5 configure:3871: $? = 0 configure:3894: result: none needed configure:3923: checking for style of include used by make configure:3951: result: GNU configure:3976: checking dependency style of xlc configure:4067: result: aix configure:4269: checking for C++ compiler version configure:4277: xlC --version >&5 xlC: 1501-216 (W) command option --version is not recognized - passed to ld
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
configure:4281: $? = 249 configure:4288: xlC -v >&5 exec: export(export,XL_CONFIG=/etc/vac.cfg.53:xlC,NULL) exec: less(less,/usr/vacpp/exe/default_msg/vacpp.txt,NULL)
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
unlink: /ptmp/ddvento/xlcW0u-ieaa unlink: /ptmp/ddvento/xlcW1u-ieab unlink: /ptmp/ddvento/xlcW2u-ieac configure:4292: $? = 249 configure:4299: xlC -V >&5 export XL_CONFIG=/etc/vac.cfg.53:xlC less /usr/vacpp/exe/default_msg/vacpp.txt
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
rm /ptmp/ddvento/xlcW0ve7Qia rm /ptmp/ddvento/xlcW1ve7Qib rm /ptmp/ddvento/xlcW2ve7Qic configure:4303: $? = 249 configure:4306: checking whether we are using the GNU C++ compiler configure:4335: xlC -c conftest.cpp >&5 "conftest.cpp", line 14.14: 1540-0040 (S) The text "me" is unexpected. "choke" may be undeclared or ambiguous. configure:4342: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | /* end confdefs.h. */ | | int | main () | { | #ifndef __GNUC__ | choke me | #endif | | ; | return 0; | } configure:4359: result: no configure:4368: checking whether xlC accepts -g configure:4398: xlC -c -g conftest.cpp >&5 configure:4405: $? = 0 configure:4506: result: yes configure:4531: checking dependency style of xlC configure:4622: result: aix configure:4702: checking for grep that handles long lines and -e configure:4762: result: /usr/local/bin//grep configure:4767: checking for fgrep configure:4831: result: /usr/local/bin//grep -F configure:4836: checking for egrep configure:4900: result: /usr/local/bin//grep -E configure:4905: checking for a sed that does not truncate output configure:4971: result: /usr/bin/sed configure:4981: checking how to run the C++ preprocessor configure:5017: xlC -E conftest.cpp configure:5024: $? = 0 configure:5055: xlC -E conftest.cpp "conftest.cpp", line 9.10: 1540-0836 (S) The #include file <ac_nonexistent.h> is not found. configure:5062: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:5095: result: xlC -E configure:5124: xlC -E conftest.cpp configure:5131: $? = 0 configure:5162: xlC -E conftest.cpp "conftest.cpp", line 9.10: 1540-0836 (S) The #include file <ac_nonexistent.h> is not found. configure:5169: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:5208: checking whether make sets $(MAKE) configure:5230: result: yes configure:5253: checking for a BSD-compatible install configure:5321: result: /usr/local/bin//install -c configure:5339: checking whether to compile with debug info configure:5348: result: yes configure:5372: checking whether to compile for profiling configure:5387: result: no configure:5398: checking whether to compile for test coverage configure:5413: result: no configure:5424: checking whether to enable checking of run-time assertions configure:5437: result: no configure:5449: checking whether to enable even more run-time assertions configure:5462: result: no configure:5515: checking whether to enable optimizations configure:5542: result: standard configure:5568: checking for which architecture to optimize configure:5591: result: default configure:5604: checking whether to select specific floating point arithmetics configure:5647: result: default configure:5692: checking whether to use precompiled headers configure:5706: result: no configure:5824: checking the type of integral values to use as coefficients configure:5889: result: GMP mpz configure:6030: checking for perl configure:6048: found /usr/bin/perl configure:6061: result: /usr/bin/perl configure:6086: checking for an ANSI C-conforming const configure:6161: xlc -c -g -O2 conftest.c >&5 "conftest.c", line 23.17: 1506-359 (I) Automatic variable cs contains a const member and is not initialized. It will be initialized to zero. configure:6168: $? = 0 configure:6183: result: yes configure:6193: checking for inline configure:6219: xlc -c -g -O2 conftest.c >&5 configure:6226: $? = 0 configure:6244: result: inline configure:6268: checking how to run the C preprocessor configure:6308: xlc -E conftest.c configure:6315: $? = 0 configure:6346: xlc -E conftest.c "conftest.c", line 15.10: 1506-296 (S) #include file <ac_nonexistent.h> not found. configure:6353: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:6386: result: xlc -E configure:6415: xlc -E conftest.c configure:6422: $? = 0 configure:6453: xlc -E conftest.c "conftest.c", line 15.10: 1506-296 (S) #include file <ac_nonexistent.h> not found. configure:6460: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:6500: checking for ANSI C header files configure:6530: xlc -c -g -O2 conftest.c >&5 configure:6537: $? = 0 configure:6636: xlc -o conftest -g -O2 conftest.c >&5 configure:6640: $? = 0 configure:6646: ./conftest configure:6650: $? = 0 configure:6668: result: yes configure:6692: checking for sys/types.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for sys/stat.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for stdlib.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for string.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for memory.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for strings.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for inttypes.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for stdint.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for unistd.h configure:6713: xlc -c -g -O2 conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6752: checking whether byte ordering is bigendian configure:6777: xlc -c -g -O2 conftest.c >&5 "conftest.c", line 26.16: 1506-166 (S) Definition of function not requires parentheses. "conftest.c", line 26.20: 1506-046 (S) Syntax error. configure:6784: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #ifndef __APPLE_CC__ | not a universal capable compiler | #endif | typedef int dummy; | configure:6834: xlc -c -g -O2 conftest.c >&5 configure:6841: $? = 0 configure:6873: xlc -c -g -O2 conftest.c >&5 configure:6880: $? = 0 configure:7132: result: yes configure:7158: checking for typeof syntax and keyword spelling configure:7199: xlc -c -g -O2 conftest.c >&5 "conftest.c", line 35.51: 1506-276 (S) Syntax error: possible missing ')'? "conftest.c", line 37.58: 1506-277 (S) Syntax error: possible missing ')' or ','? "conftest.c", line 34.33: 1506-023 (S) Expecting function or pointer to function. "conftest.c", line 33.28: 1506-1324 (S) Array size must have integer type. configure:7206: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | /* end confdefs.h. */ | | int | main () | { | | int value; | typedef struct { | char a [1 | + ! ((typeof (value)) | ((typeof (value)) 0 < (typeof (value)) -1 | ? (typeof (value)) - 1 | : ~ (~ (typeof (value)) 0 | << sizeof (typeof (value)))))]; } | ac__typeof_type_; | return | (! ((void) ((ac__typeof_type_ *) 0), 0)); | | ; | return 0; | } configure:7199: xlc -c -g -O2 conftest.c >&5 configure:7206: $? = 0 configure:7223: result: __typeof__ configure:7246: checking size of char configure:7551: xlc -o conftest -g -O2 conftest.c >&5 configure:7555: $? = 0 configure:7561: ./conftest configure:7565: $? = 0 configure:7591: result: 1 configure:7605: checking size of short configure:7910: xlc -o conftest -g -O2 conftest.c >&5 configure:7914: $? = 0 configure:7920: ./conftest configure:7924: $? = 0 configure:7950: result: 2 configure:7964: checking size of int configure:8269: xlc -o conftest -g -O2 conftest.c >&5 configure:8273: $? = 0 configure:8279: ./conftest configure:8283: $? = 0 configure:8309: result: 4 configure:8323: checking size of long configure:8628: xlc -o conftest -g -O2 conftest.c >&5 configure:8632: $? = 0 configure:8638: ./conftest configure:8642: $? = 0 configure:8668: result: 8 configure:8682: checking size of long long configure:8987: xlc -o conftest -g -O2 conftest.c >&5 configure:8991: $? = 0 configure:8997: ./conftest configure:9001: $? = 0 configure:9027: result: 8 configure:9041: checking size of size_t configure:9346: xlc -o conftest -g -O2 conftest.c >&5 configure:9350: $? = 0 configure:9356: ./conftest configure:9360: $? = 0 configure:9386: result: 8 configure:9400: checking size of float configure:9705: xlc -o conftest -g -O2 conftest.c >&5 configure:9709: $? = 0 configure:9715: ./conftest configure:9719: $? = 0 configure:9745: result: 4 configure:9759: checking size of double configure:10064: xlc -o conftest -g -O2 conftest.c >&5 configure:10068: $? = 0 configure:10074: ./conftest configure:10078: $? = 0 configure:10104: result: 8 configure:10118: checking size of long double configure:10423: xlc -o conftest -g -O2 conftest.c >&5 configure:10427: $? = 0 configure:10433: ./conftest configure:10437: $? = 0 configure:10463: result: 8 configure:10480: checking size of int* configure:10785: xlc -o conftest -g -O2 conftest.c >&5 configure:10789: $? = 0 configure:10795: ./conftest configure:10799: $? = 0 configure:10825: result: 8 configure:10839: checking size of fp configure:11150: xlc -o conftest -g -O2 conftest.c >&5 configure:11154: $? = 0 configure:11160: ./conftest configure:11164: $? = 0 configure:11190: result: 8 configure:11237: checking fenv.h usability configure:11254: xlC -c -g -O2 conftest.cpp >&5 configure:11261: $? = 0 configure:11275: result: yes configure:11279: checking fenv.h presence configure:11294: xlC -E conftest.cpp configure:11301: $? = 0 configure:11315: result: yes configure:11348: checking for fenv.h configure:11357: result: yes configure:11237: checking ieeefp.h usability configure:11254: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 73.10: 1540-0836 (S) The #include file <ieeefp.h> is not found. configure:11261: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <ieeefp.h> configure:11275: result: no configure:11279: checking ieeefp.h presence configure:11294: xlC -E conftest.cpp "conftest.cpp", line 40.10: 1540-0836 (S) The #include file <ieeefp.h> is not found. configure:11301: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <ieeefp.h> configure:11315: result: no configure:11348: checking for ieeefp.h configure:11357: result: no configure:11372: checking if it is possible to control the FPU configure:11527: xlC -o conftest -g -O2 conftest.cpp -lm >&5 configure:11531: $? = 0 configure:11537: ./conftest configure:11541: $? = 0 configure:11543: result: yes configure:11594: checking whether the C++ compiler provides proper long doubles configure:11627: xlC -o conftest -g -O2 conftest.cpp >&5 configure:11631: $? = 0 configure:11637: ./conftest configure:11641: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | /* end confdefs.h. */ | | #include <cfloat> | | long double f = 0.0; | | int main() { | if ((LDBL_MAX <= DBL_MAX) && (DBL_EPSILON <= LDBL_EPSILON) | && (LDBL_MAX_EXP <= DBL_MAX_EXP) && (LDBL_MANT_DIG <= DBL_MANT_DIG)) | return 1; | else | return 0; | } | configure:11652: result: no configure:11695: checking the binary format of C++ floats configure:11763: xlC -o conftest -g -O2 conftest.cpp >&5 configure:11767: $? = 0 configure:11773: ./conftest configure:11777: $? = 0 configure:11799: result: IEEE754 Single Precision configure:11812: checking whether C++ provides exact output for floats configure:11918: xlC -o conftest -g -O2 conftest.cpp >&5 configure:11922: $? = 0 configure:11928: ./conftest configure:11932: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | #include <sstream> | | /* Unique (nonzero) code for the IEEE 754 Single Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_SINGLE 1 | | /* Unique (nonzero) code for the IEEE 754 Double Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_DOUBLE 2 | | /* Unique (nonzero) code for the IEEE 754 Quad Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_QUAD 3 | | /* Unique (nonzero) code for the Intel Double-Extended | floating point format. */ | # define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4 | | bool | check(float value, const char* text) { | std::ostringstream ss; | ss.precision(10000); | ss << value; | return ss.str() == text; | } | | #if SIZEOF_FLOAT == 4 | | float | convert(uint32_t x) { | union { | float value; | uint32_t word; | } u; | | u.word = x; | return u.value; | } | | #if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE | | int | main() { | if (check(convert(0xaaacccaaU), | "-3.069535185924732179074680971098132431507110595703125e-13") | && check(convert(0xcccaaaccU), | "-106255968") | && check(convert(0x00000001U), | "1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45") | && check(convert(0x80000001U), | "-1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45")) | return 0; | else | return 1; | } | | #else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE | | int | main() { | return 1; | } | | #endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE | | #else // SIZEOF_FLOAT != 4 | | int | main() { | return 1; | } | | #endif // SIZEOF_FLOAT != 4 | configure:11943: result: no configure:12011: checking the binary format of C++ doubles configure:12089: xlC -o conftest -g -O2 conftest.cpp >&5 "conftest.cpp", line 87.14: 1540-0821 (W) The floating point literal "4.9406564584124654417656879286822137236505980261432476442558568250067550727020875186529983636163599237979656469544571773092665671035593979639877479601078187812630071319031140452784581716784898210368871863605699873072305000638740915356498438731247339727316961514003171538539807412623856559117102665855668676818703956031062493194527159149245532930545654440112748012970999954193198940908041656332452475714786901472678015935523861155013480352649347201..." is out of range. "conftest.cpp", line 89.15: 1540-0821 (W) The floating point literal "4.9406564584124654417656879286822137236505980261432476442558568250067550727020875186529983636163599237979656469544571773092665671035593979639877479601078187812630071319031140452784581716784898210368871863605699873072305000638740915356498438731247339727316961514003171538539807412623856559117102665855668676818703956031062493194527159149245532930545654440112748012970999954193198940908041656332452475714786901472678015935523861155013480352649347201..." is out of range. configure:12093: $? = 0 configure:12099: ./conftest configure:12103: $? = 0 configure:12125: result: IEEE754 Double Precision configure:12139: checking whether C++ provides exact output for doubles configure:12254: xlC -o conftest -g -O2 conftest.cpp >&5 configure:12258: $? = 0 configure:12264: ./conftest configure:12268: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | #include <sstream> | | /* Unique (nonzero) code for the IEEE 754 Single Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_SINGLE 1 | | /* Unique (nonzero) code for the IEEE 754 Double Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_DOUBLE 2 | | /* Unique (nonzero) code for the IEEE 754 Quad Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_QUAD 3 | | /* Unique (nonzero) code for the Intel Double-Extended | floating point format. */ | # define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4 | | bool | check(double value, const char* text) { | std::ostringstream ss; | ss.precision(10000); | ss << value; | return ss.str() == text; | } | | #if SIZEOF_DOUBLE == 8 | | double | convert(uint32_t msp, uint32_t lsp) { | union { | double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint32_t lsp; | #else | uint32_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE | | int | main() { | if (check(convert(0xaaacccaaUL, 0xacccaaacUL), | "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103") | && check(convert(0xcccaaaccUL, 0xcaaacccaUL), | "-85705035845709846787631445265530356117787053916987832397725696") | && check(convert(0x00000000UL, 0x00000001UL), | "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324") | && check(convert(0x80000000UL, 0x00000001UL), | "-4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324")) | return 0; | else | return 1; | } | | #else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE | | int | main() { | return 1; | } | | #endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE | | #else // SIZEOF_DOUBLE != 8 | | int | main() { | return 1; | } | | #endif // SIZEOF_DOUBLE != 8 | configure:12279: result: no configure:12347: checking the binary format of C++ long doubles configure:12425: xlC -o conftest -g -O2 conftest.cpp >&5 configure:12429: $? = 0 configure:12435: ./conftest configure:12439: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | | #if SIZEOF_LONG_DOUBLE == 12 | | long double | convert(uint32_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | int | main() { | if (std::numeric_limits<long double>::is_iec559 | && (convert(0xaaacccaaUL, 0xacccaaacccaaacccULL) | == -23475151196235330448360987288488448023604990597437922665537894499317141030270831473500040521309097782521743811281100731620612303910141158923283064807755815684643856544564541670181998003713114595098650350075763370916908460284838902787487703020001649220669684278577319085319204471093693972621987808779314674903648668236688723332999785552894845325917244897920804830290985291535343986477508649100409893486651507134071296739623686984014433965803259868867855465109457220731656260670349710137932272802677796915669809481885196101414678015638835049035133835457854893845093496950772367562664955830097293678125205138879788670490610650322134182370990336443894886171520732434535881085387893610114822547025980969387956199048733969351859470324032549906964255557877860343871346618951696178837035563054101786829980983909935265617095747543882856776297861197958453847978446679149969948882161264279705948735019353220550905117946051015070744207453853343171175921378515361160726195198161165083475968.0L | && convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL) | == -3.234349908433673569788362433758236701401379200386310478070230491201716094576208088733092209352711081763530973139439402754721006217889031902309566905344106766697050593355851405189694125966100801537593811320493850579152938679705465870788684523518541806158791408378718596936132854683425581754205242594614192465876640102628432246897674583649745467641139234207139584810101868772915312454075582265240687184279243861217351667059920878236164506473261797703393981510799228030778152399657445848839855361831637014754038570644257393307922665529947406582062857348101442206039278033447012163028384634753160589791458287895963629514043345016273218385584012204321293761500625038828699451659598873739820939586314044735551522599884065690704853850058509917597610804664086074437219778400030370474948166770867639885264893441594112815147445129222900623635467542926999246959939000796968650036727515644358583656635086409945418378371210848857160579105176395869221692977516017583375976424496977231821652434877830409470264872173686708172667000681514442371517343085468923465834742925914605731609765839631967460042791316319023971980691582832232860491668014341598553021017317450989919240909832141247027104138677882497144506317212033031539627613710631490195651235049780490963461514410018833968072513381369320107740021476622121320911875995678620145217379068502893509758814753434218746970000807381369855297087472398985134583394635298304301976743682254755898799853471470973139487587740504614698965906370516694512439128548402418825952236144896863935402725154209604537541130862513767786738372717442238281296070010302255703329785136750848608510805269562580550421695335686256291415407706167513127610045830074144232174636354465520547408627155363076530824695464544496846799567213412195115628936631295933321590908845288558910694118404555858629368018552451467994715743285452343185080572139353967831950470208768524113647528966442712608411306460439403733081312454377815407740431356862292588345515142587184008493066353603658341268923669196617183622259532802077159684815974630350730226266887950469523895272137382682818583664766982004756872470359454855421231861600855405622250180301557001727658100463825721179482988287599820459238518127671242515104954727268296043840120459189992322364113432317376499876615018647681005294400890426164141474245830847447887800872845238979407896829797297990804023745291564182356173092302630416583955274584512411637160723327887646112927503049935866004964114798241035087343318592736488780742013424329479787548324846879335440582948017481856461250014099199025874264395426269044157577172368261822794071985989844785134561848837459343219269316428175168803982908920457749528709425299296467325603578851955843550406474402944350694486492967809731047663564513772408591390180588458110788180950470244902062953534590109356800048878919144043979000989724521292698054747484439706733411566872999353418986588749568995482953622089499726327807058708520455805869817259837526415584189633013162307753166636151833127563746069733440228640737257520299330767346391011026088684503955941755171481192133779119344715318224728775697330484860348152872987113995597980243907204928634355356748752501217143216601222634344211757170284222785899530754663487291354339744025299042982320199789070467212765859078265587040664859899997109073649635056953085131587344086263213972132295294758682559609365238437544701417284297826732242650999654640698637095193178119502815643930373741504018967640638120546136857104880094633373762586018322104925768619990210092851075031033451925224377383389610824173203445111896055901190132142204139463967556738295382942065540228560332044410017389129348710403201272349054427064370609913529996988445571571382916349536222256815467149849706750571813156961918737343978667568453623162377198802996342528197935118265696537928993634621119483415202847968129550048667353312481509419740177690982818603515625e-1634L | && convert(0x00000000UL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L | && convert(0x80000000UL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L)) | return 0; | else | return 1; | } | | #else // SIZEOF_LONG_DOUBLE != 12 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 12 | configure:12551: xlC -o conftest -g -O2 conftest.cpp >&5 configure:12555: $? = 0 configure:12561: ./conftest configure:12565: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | | #if SIZEOF_LONG_DOUBLE == 16 | | #if defined(__sparc__) && defined(__arch64__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)) | | // Work around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37661 | int | main() { | return 1; | } | | #else // !defined(__sparc__) || !defined(__arch64__) ... | | long double | convert(uint64_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint64_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint64_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | int | main() { | if (std::numeric_limits<long double>::is_iec559 | && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL) | == -8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182265604546917705495630867683634260396102823982577953799017062698102242357552179655099799114234932578035799185560231199083485854936098752376968393647581458407558794412029383325763638562788717260040049064497131924995762524305159587498016677454321953274959044696323291625045478494472581264819229447771276640446297211105522340278216491094195598543872903469867733674572559977106495016037365144714092305087690135013719347274733034998868445412589677425060095799279101903473205374412225289846468374532481297065712317082077938035156602646698351182648104255704218634101302925067087078955133405900007044267209898310644310904503791609310204530573463263951434586894153990739119187567218316060343579381319744970284036645819031296341711196622764674251739340075981861518157380656135644972541894187627902651874054588734732906342927804126694032667794810086817870907476586539935233288396561987441453006798066121939082312783518917156845604116991071351557087417820814737448930366014934139649936714605919733198611573267554373841805458030152706709963798138766665437195696286204333504023648063774567253657433115103351104190986192714072985487851579415615609526545777708652951405409847708647802254957197551148967040887700676749608935220270768342493900689974647088468653016844028721111482484905641458435567969469008688175230469940968306817582881926746422674891155765989419578280531847369896579997902056370886853884911608932917273377526774091310024267948445090595150848945937264274298230316059283748541372546998570685254364147022857127106166375807928861080771495427281772909457414476961102929683460150380091022216902985688084496718499522925736236100966839490544989265028487132166444183820209811985298620037327410566483546092567386575203772065259924817078378553423445114795887961447486917127608105936488957460696218995227900239169698156532097505472359601263421630872600694896078087993492528322817946497772710008837719609909497752428441503174822795185219988589528998338631725113908025553153842511443825016809012668839505492083731555461826355018782953670089090573806418379608917728933789667567839232807208925449602517595541397929042673972541764273293287457694772131268012143158809453627483947788463130353101911401667613659585055576869155534998835800762122080588150495103765874874613454517177121048246498282285280904742153700877576028449241385429235777250684782328183787286276152331338688335510090441008799792147837436640030059474106105829612076012626498555138419516242851436828131901668517305064107076254421670883938440896580435257206350630093337919967881954501164988008085285088049681541452106188312639266136685237513628484410146475880276899689323468288129178652504797093820419402611691354199968499448738482587415636727937353639264845197813295922091561637504736126720760129127710879063043647425297778439069116811334073539456451043564046959839163407469915211595468718792531664679340442279513006653831781499155674396529973036072198720572542914738630057353297633085013244779323578115668031532144051510758240504037804690564298890171218568053886450388507561335540224075309922339483204122333658701871584147135738144358394867585372134490396264937274938848938884293776466212293402264641368524174512841804801230279990820989956713963566987970818315606031084417487965298373510594915942429581446481759482857537804431542098380533075194397625795605337047384493682506827547173206735463795863376044170821429161475172513429888642402089329334654087406739184258619435041737233405001461505889892578125e-1644L | && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL) | == -124514581107511552210796456934966803687304842980295573828954497922493752983397188814711304411560018580965744046315133789985274208017368151964100284400784216106649187287727268989948309893335776137201236307422254490384994342132786695251856340822607539332337741185911979986209464222776112117543477310592395735321641016191765613924234896253051931334188353106422231052895112533426462965071195000083346118845388851222468275853899619767858364593491745895616655921022591572983370616010095670881627966440183912948095715866505356803258659518882310562527709556367822539262111581385341941163873435919341717170180065638145777392282815973491833042960716493005101610346003273833563515742996380936304245423639950200211170835546053201980835724318930743625600269679260909350277600256315069013053332133830043213033329696436217829598890872375814523266366034383531514035947792389939922899745714167418517458817088636450662300503353562047987996978943856662174717195437379600755109302771921946748859230686543872.0L | && convert(0x0000000000000000ULL, 0x0000000000000001ULL) | == 6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966L | && convert(0x8000000000000000ULL, 0x0000000000000001ULL) | == -6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966L)) | return 0; | else | return 1; | } | | #endif // !defined(__sparc__) || !defined(__arch64__) ... | | #else // SIZEOF_LONG_DOUBLE != 16 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 16 | configure:12665: xlC -o conftest -g -O2 conftest.cpp >&5 configure:12669: $? = 0 configure:12675: ./conftest configure:12679: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | | #if SIZEOF_LONG_DOUBLE == 16 | | long double | convert(uint64_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint64_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint64_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | int | main() { | if (std::numeric_limits<long double>::is_iec559 | && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL) | == -7.6048540943660203383375998875878002021755137452856942966991187375790618225432711954682137529456970686263412309600617913197560145993931792374946076061175594550915924955313391528566777352996816141138550473090399783817652516896553304678788796532976847530386107750759127004897950996937530751872097675156395937218234460013748219954603465088115161828048215763754331575034447236689765045674584188927116128770082933362914567237187017530082528540058002631800274192146485961758366625476271676375489358478966148719270989233284454992652229565352739884432045036085427546783826745250197623257802129011015273728848161395367551745780868250488191368846207890422268873532651627591649389757751752362072212699309947970918940313250863861141479770240104635553035870698789854752554391365757900620463269938427975381635241159694500569550818398323639621243086116154792038064941523448921284117826015673798399008555604372098051095571652170081985843614541956756469168604624857938653843172027861680499952062356914208628014745759010068414302636374017506453133466034362025545080555878082849488386388633197121003201192243150535143329731394874806398663589117246866205872431804204733617792317769570293754056793574570217834482046448788177551912250351735294891953434051815332631157674735614138641122106756749236824504094008852401427746414294902929999820878756040223246586814590339767277305131757114819123212897500810087015748205562614251410818122967399030151040544000563841334553718469935435435467196184665715776274355094471974036803615388313095637066824428688301387559074204015990782977635088047810891072724763113879034313256582868462323549141603475107584159170279311985555035822254439699354641467841523895459190280971487264907972306090449968125859834702627544039374770757804202780369083049631377117943503836158566134919890165392965694050010089785271180956974707841066789578714463804030217977213138932711313311673101336981407798868338574571646697479192174043005729926344062133712267722538847635563454980776602355539986984320762864338177037919835721981686778834558429264194379257521818498431326991615024245632036376472844033831041082865649867453234086495085785897620758602105639344460383483879837994732204331335249564434458633345708439547881275060781028856140511029543559841701048277393119691261302356763314623124427357421753631218361407626116820986377721964654181839884670481278855478057996766639496909094607181503284084821580817995489740980323820218685313435967428474842973086612053963343516426226771094376179468881265734324847319127862733279299033951360912038720313525324094079916937921290391173035983474894312808532257620563284126400481460163180987618432784215807933623038747129658746767737999870125917269554155887740155308886259497202672935871853706835670467770080598813171256855182510726902033818328368569915805303784312301890212694874227119220544172084552511408717615136830401766455214293141216171050374325461714383991698910564587610624980490526840861990674615172112493813749497898151186927777122955666180439323595468816129418014664347852590958362752922841159054568358354108159485566264221008508127941168192513144760720303715640604755054290633421601734103622748053919536319416025380484868142967373186019970714662893713233834399238357795019603619284595839414945178963942707310299674873908104634979966232181071013259653467885733418936194081202149071958107062125873498848807502257018093517304220495114497635240876547262237411350327960679115197531609627900227913193653254580253539005743563270152329126178570329413401577715075363838562221558204219798925982825556469998988615897432425107152113543617151738802778259560442930074253918797315241708532198010528564246933829811859278710445896556638416265987381678070434371355795025956293319362293063591248665429733880825207421011852020394068840244110140622151494488609575671090387230241296949998536132398625008053543954239573998167556201366323875845409929752349853515625e-1644L | && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL) | == -99658331877181425640389193712445288804009112642407197633229907048864350192381814628233384153539524368748305269642704450459572458913058829202094408933558533552137589226430537671503754737153845553845646099179512540696038707395491223325946106007770844660381340028079827237033670900446083793353682761885084154898636897779677124010119288945740273072415898996441722571487815052387317025675191665761918119006431828756780493604546658949166486641354783002536071366287780290680620995991797712341457334946893188786269086688063732222194404683551757689083590842400866213237312413463207537587813396338061744078437770542720749055069473347142994267706326342325536219464867910547533482061181116137767384001927599515332824741827726661184966512254203502805790565338206862173475388342339711722457620964017690492860707751327158273522191943184085888284707357024653025991470473697475045491586713324994056478341556198451786713470909185879382607340766256394396819602885198511409676789226542867632933493115191296.0L | && convert(0x0000000000000000ULL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L | && convert(0x8000000000000000ULL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L)) | return 0; | else | return 1; | } | | #else // SIZEOF_LONG_DOUBLE != 16 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 16 | configure:12779: xlC -o conftest -g -O2 conftest.cpp >&5 configure:12783: $? = 0 configure:12789: ./conftest configure:12793: $? = 0 configure:12816: result: IEEE754 Double Precision configure:12830: checking whether C++ provides exact output for long doubles configure:13058: xlC -o conftest -g -O2 conftest.cpp >&5 configure:13062: $? = 0 configure:13068: ./conftest configure:13072: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | #include <sstream> | | /* Unique (nonzero) code for the IEEE 754 Single Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_SINGLE 1 | | /* Unique (nonzero) code for the IEEE 754 Double Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_DOUBLE 2 | | /* Unique (nonzero) code for the IEEE 754 Quad Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_QUAD 3 | | /* Unique (nonzero) code for the Intel Double-Extended | floating point format. */ | # define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4 | | bool | check(long double value, const char* text) { | std::ostringstream ss; | ss.precision(10000); | ss << value; | return ss.str() == text; | } | | #if SIZEOF_LONG_DOUBLE == 12 | | long double | convert(uint32_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | if (check(convert(0xaaacccaaUL, 0xacccaaacccaaacccULL), | "-23475151196235330448360987288488448023604990597437922665537894499317141030270831473500040521309097782521743811281100731620612303910141158923283064807755815684643856544564541670181998003713114595098650350075763370916908460284838902787487703020001649220669684278577319085319204471093693972621987808779314674903648668236688723332999785552894845325917244897920804830290985291535343986477508649100409893486651507134071296739623686984014433965803259868867855465109457220731656260670349710137932272802677796915669809481885196101414678015638835049035133835457854893845093496950772367562664955830097293678125205138879788670490610650322134182370990336443894886171520732434535881085387893610114822547025980969387956199048733969351859470324032549906964255557877860343871346618951696178837035563054101786829980983909935265617095747543882856776297861197958453847978446679149969948882161264279705948735019353220550905117946051015070744207453853343171175921378515361160726195198161165083475968") | && check(convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL), | "-3.234349908433673569788362433758236701401379200386310478070230491201716094576208088733092209352711081763530973139439402754721006217889031902309566905344106766697050593355851405189694125966100801537593811320493850579152938679705465870788684523518541806158791408378718596936132854683425581754205242594614192465876640102628432246897674583649745467641139234207139584810101868772915312454075582265240687184279243861217351667059920878236164506473261797703393981510799228030778152399657445848839855361831637014754038570644257393307922665529947406582062857348101442206039278033447012163028384634753160589791458287895963629514043345016273218385584012204321293761500625038828699451659598873739820939586314044735551522599884065690704853850058509917597610804664086074437219778400030370474948166770867639885264893441594112815147445129222900623635467542926999246959939000796968650036727515644358583656635086409945418378371210848857160579105176395869221692977516017583375976424496977231821652434877830409470264872173686708172667000681514442371517343085468923465834742925914605731609765839631967460042791316319023971980691582832232860491668014341598553021017317450989919240909832141247027104138677882497144506317212033031539627613710631490195651235049780490963461514410018833968072513381369320107740021476622121320911875995678620145217379068502893509758814753434218746970000807381369855297087472398985134583394635298304301976743682254755898799853471470973139487587740504614698965906370516694512439128548402418825952236144896863935402725154209604537541130862513767786738372717442238281296070010302255703329785136750848608510805269562580550421695335686256291415407706167513127610045830074144232174636354465520547408627155363076530824695464544496846799567213412195115628936631295933321590908845288558910694118404555858629368018552451467994715743285452343185080572139353967831950470208768524113647528966442712608411306460439403733081312454377815407740431356862292588345515142587184008493066353603658341268923669196617183622259532802077159684815974630350730226266887950469523895272137382682818583664766982004756872470359454855421231861600855405622250180301557001727658100463825721179482988287599820459238518127671242515104954727268296043840120459189992322364113432317376499876615018647681005294400890426164141474245830847447887800872845238979407896829797297990804023745291564182356173092302630416583955274584512411637160723327887646112927503049935866004964114798241035087343318592736488780742013424329479787548324846879335440582948017481856461250014099199025874264395426269044157577172368261822794071985989844785134561848837459343219269316428175168803982908920457749528709425299296467325603578851955843550406474402944350694486492967809731047663564513772408591390180588458110788180950470244902062953534590109356800048878919144043979000989724521292698054747484439706733411566872999353418986588749568995482953622089499726327807058708520455805869817259837526415584189633013162307753166636151833127563746069733440228640737257520299330767346391011026088684503955941755171481192133779119344715318224728775697330484860348152872987113995597980243907204928634355356748752501217143216601222634344211757170284222785899530754663487291354339744025299042982320199789070467212765859078265587040664859899997109073649635056953085131587344086263213972132295294758682559609365238437544701417284297826732242650999654640698637095193178119502815643930373741504018967640638120546136857104880094633373762586018322104925768619990210092851075031033451925224377383389610824173203445111896055901190132142204139463967556738295382942065540228560332044410017389129348710403201272349054427064370609913529996988445571571382916349536222256815467149849706750571813156961918737343978667568453623162377198802996342528197935118265696537928993634621119483415202847968129550048667353312481509419740177690982818603515625e-1634") | && check(convert(0x00000000UL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951") | && check(convert(0x80000000UL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951")) | return 0; | else | return 1; | } | | #else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | return 1; | } | | #endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | #elif SIZEOF_LONG_DOUBLE == 16 | | long double | convert(uint64_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint64_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint64_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD | | int | main() { | if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL), | "-8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182265604546917705495630867683634260396102823982577953799017062698102242357552179655099799114234932578035799185560231199083485854936098752376968393647581458407558794412029383325763638562788717260040049064497131924995762524305159587498016677454321953274959044696323291625045478494472581264819229447771276640446297211105522340278216491094195598543872903469867733674572559977106495016037365144714092305087690135013719347274733034998868445412589677425060095799279101903473205374412225289846468374532481297065712317082077938035156602646698351182648104255704218634101302925067087078955133405900007044267209898310644310904503791609310204530573463263951434586894153990739119187567218316060343579381319744970284036645819031296341711196622764674251739340075981861518157380656135644972541894187627902651874054588734732906342927804126694032667794810086817870907476586539935233288396561987441453006798066121939082312783518917156845604116991071351557087417820814737448930366014934139649936714605919733198611573267554373841805458030152706709963798138766665437195696286204333504023648063774567253657433115103351104190986192714072985487851579415615609526545777708652951405409847708647802254957197551148967040887700676749608935220270768342493900689974647088468653016844028721111482484905641458435567969469008688175230469940968306817582881926746422674891155765989419578280531847369896579997902056370886853884911608932917273377526774091310024267948445090595150848945937264274298230316059283748541372546998570685254364147022857127106166375807928861080771495427281772909457414476961102929683460150380091022216902985688084496718499522925736236100966839490544989265028487132166444183820209811985298620037327410566483546092567386575203772065259924817078378553423445114795887961447486917127608105936488957460696218995227900239169698156532097505472359601263421630872600694896078087993492528322817946497772710008837719609909497752428441503174822795185219988589528998338631725113908025553153842511443825016809012668839505492083731555461826355018782953670089090573806418379608917728933789667567839232807208925449602517595541397929042673972541764273293287457694772131268012143158809453627483947788463130353101911401667613659585055576869155534998835800762122080588150495103765874874613454517177121048246498282285280904742153700877576028449241385429235777250684782328183787286276152331338688335510090441008799792147837436640030059474106105829612076012626498555138419516242851436828131901668517305064107076254421670883938440896580435257206350630093337919967881954501164988008085285088049681541452106188312639266136685237513628484410146475880276899689323468288129178652504797093820419402611691354199968499448738482587415636727937353639264845197813295922091561637504736126720760129127710879063043647425297778439069116811334073539456451043564046959839163407469915211595468718792531664679340442279513006653831781499155674396529973036072198720572542914738630057353297633085013244779323578115668031532144051510758240504037804690564298890171218568053886450388507561335540224075309922339483204122333658701871584147135738144358394867585372134490396264937274938848938884293776466212293402264641368524174512841804801230279990820989956713963566987970818315606031084417487965298373510594915942429581446481759482857537804431542098380533075194397625795605337047384493682506827547173206735463795863376044170821429161475172513429888642402089329334654087406739184258619435041737233405001461505889892578125e-1644") | && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL), | "-124514581107511552210796456934966803687304842980295573828954497922493752983397188814711304411560018580965744046315133789985274208017368151964100284400784216106649187287727268989948309893335776137201236307422254490384994342132786695251856340822607539332337741185911979986209464222776112117543477310592395735321641016191765613924234896253051931334188353106422231052895112533426462965071195000083346118845388851222468275853899619767858364593491745895616655921022591572983370616010095670881627966440183912948095715866505356803258659518882310562527709556367822539262111581385341941163873435919341717170180065638145777392282815973491833042960716493005101610346003273833563515742996380936304245423639950200211170835546053201980835724318930743625600269679260909350277600256315069013053332133830043213033329696436217829598890872375814523266366034383531514035947792389939922899745714167418517458817088636450662300503353562047987996978943856662174717195437379600755109302771921946748859230686543872") | && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL), | "6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966") | && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL), | "-6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966")) | return 0; | else | return 1; | } | | #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL), | "-7.6048540943660203383375998875878002021755137452856942966991187375790618225432711954682137529456970686263412309600617913197560145993931792374946076061175594550915924955313391528566777352996816141138550473090399783817652516896553304678788796532976847530386107750759127004897950996937530751872097675156395937218234460013748219954603465088115161828048215763754331575034447236689765045674584188927116128770082933362914567237187017530082528540058002631800274192146485961758366625476271676375489358478966148719270989233284454992652229565352739884432045036085427546783826745250197623257802129011015273728848161395367551745780868250488191368846207890422268873532651627591649389757751752362072212699309947970918940313250863861141479770240104635553035870698789854752554391365757900620463269938427975381635241159694500569550818398323639621243086116154792038064941523448921284117826015673798399008555604372098051095571652170081985843614541956756469168604624857938653843172027861680499952062356914208628014745759010068414302636374017506453133466034362025545080555878082849488386388633197121003201192243150535143329731394874806398663589117246866205872431804204733617792317769570293754056793574570217834482046448788177551912250351735294891953434051815332631157674735614138641122106756749236824504094008852401427746414294902929999820878756040223246586814590339767277305131757114819123212897500810087015748205562614251410818122967399030151040544000563841334553718469935435435467196184665715776274355094471974036803615388313095637066824428688301387559074204015990782977635088047810891072724763113879034313256582868462323549141603475107584159170279311985555035822254439699354641467841523895459190280971487264907972306090449968125859834702627544039374770757804202780369083049631377117943503836158566134919890165392965694050010089785271180956974707841066789578714463804030217977213138932711313311673101336981407798868338574571646697479192174043005729926344062133712267722538847635563454980776602355539986984320762864338177037919835721981686778834558429264194379257521818498431326991615024245632036376472844033831041082865649867453234086495085785897620758602105639344460383483879837994732204331335249564434458633345708439547881275060781028856140511029543559841701048277393119691261302356763314623124427357421753631218361407626116820986377721964654181839884670481278855478057996766639496909094607181503284084821580817995489740980323820218685313435967428474842973086612053963343516426226771094376179468881265734324847319127862733279299033951360912038720313525324094079916937921290391173035983474894312808532257620563284126400481460163180987618432784215807933623038747129658746767737999870125917269554155887740155308886259497202672935871853706835670467770080598813171256855182510726902033818328368569915805303784312301890212694874227119220544172084552511408717615136830401766455214293141216171050374325461714383991698910564587610624980490526840861990674615172112493813749497898151186927777122955666180439323595468816129418014664347852590958362752922841159054568358354108159485566264221008508127941168192513144760720303715640604755054290633421601734103622748053919536319416025380484868142967373186019970714662893713233834399238357795019603619284595839414945178963942707310299674873908104634979966232181071013259653467885733418936194081202149071958107062125873498848807502257018093517304220495114497635240876547262237411350327960679115197531609627900227913193653254580253539005743563270152329126178570329413401577715075363838562221558204219798925982825556469998988615897432425107152113543617151738802778259560442930074253918797315241708532198010528564246933829811859278710445896556638416265987381678070434371355795025956293319362293063591248665429733880825207421011852020394068840244110140622151494488609575671090387230241296949998536132398625008053543954239573998167556201366323875845409929752349853515625e-1644") | && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL), | "-99658331877181425640389193712445288804009112642407197633229907048864350192381814628233384153539524368748305269642704450459572458913058829202094408933558533552137589226430537671503754737153845553845646099179512540696038707395491223325946106007770844660381340028079827237033670900446083793353682761885084154898636897779677124010119288945740273072415898996441722571487815052387317025675191665761918119006431828756780493604546658949166486641354783002536071366287780290680620995991797712341457334946893188786269086688063732222194404683551757689083590842400866213237312413463207537587813396338061744078437770542720749055069473347142994267706326342325536219464867910547533482061181116137767384001927599515332824741827726661184966512254203502805790565338206862173475388342339711722457620964017690492860707751327158273522191943184085888284707357024653025991470473697475045491586713324994056478341556198451786713470909185879382607340766256394396819602885198511409676789226542867632933493115191296") | && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951") | && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951")) | return 0; | else | return 1; | } | | #else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | return 1; | } | | #endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | #elif SIZEOF_LONG_DOUBLE == 8 | | double | convert(uint32_t msp, uint32_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint32_t lsp; | #else | uint32_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE | | int | main() { | if (check(convert(0xaaacccaaUL, 0xacccaaacUL), | "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103") | && check(convert(0xcccaaaccUL, 0xcaaacccaUL), | "-85705035845709846787631445265530356117787053916987832397725696") | && check(convert(0x00000000UL, 0x00000001UL), | "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324") | && check(convert(0x80000000UL, 0x00000001UL), | "-4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324")) | return 0; | else | return 1; | } | | #else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE | | int | main() { | return 1; | } | | #endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE | | #else // SIZEOF_LONG_DOUBLE != 8 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 8 | configure:13083: result: no configure:13162: checking whether the C++ compiler supports flexible arrays configure:13307: xlC -o conftest -g -O2 conftest.cpp >&5 configure:13311: $? = 0 configure:13317: ./conftest configure:13321: $? = 0 configure:13323: result: yes configure:13375: checking whether the IEEE inexact flag is supported in C++ configure:13477: xlC -o conftest -g -O2 conftest.cpp >&5 configure:13481: $? = 0 configure:13487: ./conftest configure:13491: $? = 0 configure:13493: result: yes configure:13546: checking if the compiler has the remainder bug configure:13585: xlC -o conftest -g -O2 conftest.cpp >&5 configure:13589: $? = 0 configure:13595: ./conftest configure:13599: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | /* end confdefs.h. */ | | #include <climits> | | int minus_one(int n) { | return (n+1)*(n-1)-n*n; | } | | int p(int x, int y) { | int z = x % y; | return z; | } | | int main(int argc, char** argv) { | if (p(INT_MIN, minus_one(argc)) != 0) | return 1; | else | return 0; | } | configure:13610: result: yes configure:13653: checking whether the C++ compiler supports __attribute__ ((weak)) configure:13676: xlC -c -g -O2 conftest.cpp >&5 configure:13683: $? = 0 configure:13688: result: yes configure:13739: checking for fenv.h configure:13746: result: yes configure:13739: checking for ieeefp.h configure:13746: result: no configure:13750: checking getopt.h usability configure:13767: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 89.10: 1540-0836 (S) The #include file <getopt.h> is not found. configure:13774: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <getopt.h> configure:13788: result: no configure:13792: checking getopt.h presence configure:13807: xlC -E conftest.cpp "conftest.cpp", line 56.10: 1540-0836 (S) The #include file <getopt.h> is not found. configure:13814: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <getopt.h> configure:13828: result: no configure:13861: checking for getopt.h configure:13870: result: no configure:13750: checking signal.h usability configure:13767: xlC -c -g -O2 conftest.cpp >&5 configure:13774: $? = 0 configure:13788: result: yes configure:13792: checking signal.h presence configure:13807: xlC -E conftest.cpp configure:13814: $? = 0 configure:13828: result: yes configure:13861: checking for signal.h configure:13870: result: yes configure:13739: checking for string.h configure:13746: result: yes configure:13739: checking for strings.h configure:13746: result: yes configure:13750: checking sys/resource.h usability configure:13767: xlC -c -g -O2 conftest.cpp >&5 configure:13774: $? = 0 configure:13788: result: yes configure:13792: checking sys/resource.h presence configure:13807: xlC -E conftest.cpp configure:13814: $? = 0 configure:13828: result: yes configure:13861: checking for sys/resource.h configure:13870: result: yes configure:13750: checking sys/time.h usability configure:13767: xlC -c -g -O2 conftest.cpp >&5 configure:13774: $? = 0 configure:13788: result: yes configure:13792: checking sys/time.h presence configure:13807: xlC -E conftest.cpp configure:13814: $? = 0 configure:13828: result: yes configure:13861: checking for sys/time.h configure:13870: result: yes configure:13739: checking for sys/types.h configure:13746: result: yes configure:13739: checking for unistd.h configure:13746: result: yes configure:13887: checking whether ffs is declared configure:13923: xlC -c -g -O2 conftest.cpp >&5 configure:13930: $? = 0 configure:13945: result: yes configure:13963: checking whether getenv is declared configure:13993: xlC -c -g -O2 conftest.cpp >&5 configure:14000: $? = 0 configure:14015: result: yes configure:14031: checking whether strtof is declared configure:14061: xlC -c -g -O2 conftest.cpp >&5 configure:14068: $? = 0 configure:14083: result: yes configure:14099: checking whether strtod is declared configure:14129: xlC -c -g -O2 conftest.cpp >&5 configure:14136: $? = 0 configure:14151: result: yes configure:14167: checking whether strtold is declared configure:14197: xlC -c -g -O2 conftest.cpp >&5 configure:14204: $? = 0 configure:14219: result: yes configure:14235: checking whether strtoll is declared configure:14265: xlC -c -g -O2 conftest.cpp >&5 configure:14272: $? = 0 configure:14287: result: yes configure:14303: checking whether strtoull is declared configure:14333: xlC -c -g -O2 conftest.cpp >&5 configure:14340: $? = 0 configure:14355: result: yes configure:14373: checking whether fma is declared configure:14403: xlC -c -g -O2 conftest.cpp >&5 configure:14410: $? = 0 configure:14425: result: yes configure:14441: checking whether fmaf is declared configure:14471: xlC -c -g -O2 conftest.cpp >&5 configure:14478: $? = 0 configure:14493: result: yes configure:14509: checking whether fmal is declared configure:14539: xlC -c -g -O2 conftest.cpp >&5 configure:14546: $? = 0 configure:14561: result: yes configure:14577: checking whether rintf is declared configure:14607: xlC -c -g -O2 conftest.cpp >&5 configure:14614: $? = 0 configure:14629: result: yes configure:14645: checking whether rintl is declared configure:14675: xlC -c -g -O2 conftest.cpp >&5 configure:14682: $? = 0 configure:14697: result: yes configure:14717: checking for int_fast16_t configure:14745: xlC -c -g -O2 conftest.cpp >&5 configure:14752: $? = 0 configure:14779: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 111.27: 1540-0063 (S) The text ")" is unexpected. configure:14786: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((int_fast16_t))) | return 0; | ; | return 0; | } configure:14809: result: yes configure:14819: checking for int_fast32_t configure:14847: xlC -c -g -O2 conftest.cpp >&5 configure:14854: $? = 0 configure:14881: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 112.27: 1540-0063 (S) The text ")" is unexpected. configure:14888: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((int_fast32_t))) | return 0; | ; | return 0; | } configure:14911: result: yes configure:14921: checking for int_fast64_t configure:14949: xlC -c -g -O2 conftest.cpp >&5 configure:14956: $? = 0 configure:14983: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 113.27: 1540-0063 (S) The text ")" is unexpected. configure:14990: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((int_fast64_t))) | return 0; | ; | return 0; | } configure:15013: result: yes configure:15023: checking for uint_fast16_t configure:15051: xlC -c -g -O2 conftest.cpp >&5 configure:15058: $? = 0 configure:15085: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 114.28: 1540-0063 (S) The text ")" is unexpected. configure:15092: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((uint_fast16_t))) | return 0; | ; | return 0; | } configure:15115: result: yes configure:15125: checking for uint_fast32_t configure:15153: xlC -c -g -O2 conftest.cpp >&5 configure:15160: $? = 0 configure:15187: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 115.28: 1540-0063 (S) The text ")" is unexpected. configure:15194: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((uint_fast32_t))) | return 0; | ; | return 0; | } configure:15217: result: yes configure:15227: checking for uint_fast64_t configure:15255: xlC -c -g -O2 conftest.cpp >&5 configure:15262: $? = 0 configure:15289: xlC -c -g -O2 conftest.cpp >&5 "conftest.cpp", line 116.28: 1540-0063 (S) The text ")" is unexpected. configure:15296: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((uint_fast64_t))) | return 0; | ; | return 0; | } configure:15319: result: yes configure:15409: checking for non-GNU ld configure:15440: result: /usr/bin/ld configure:15449: checking if the linker (/usr/bin/ld) is GNU ld configure:15462: result: no configure:15469: checking for shared library run path origin configure:15482: result: done configure:15513: checking how to link with libgmp configure:15902: result: /contrib/gmp-4.3.1//lib/libgmp.a configure:15942: checking how to link with libgmpxx configure:16331: result: /contrib/gmp-4.3.1//lib/libgmpxx.a /contrib/gmp-4.3.1//lib/libgmp.a configure:16375: checking for the GMP library version 4.1.3 or above configure:16495: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp /contrib/gmp-4.3.1//lib/libgmpxx.a /contrib/gmp-4.3.1//lib/libgmp.a >&5 configure:16499: $? = 0 configure:16505: ./conftest configure:16509: $? = 0 configure:16511: result: yes configure:16539: checking size of mp_limb_t configure:16850: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp /contrib/gmp-4.3.1//lib/libgmpxx.a /contrib/gmp-4.3.1//lib/libgmp.a >&5 configure:16854: $? = 0 configure:16860: ./conftest configure:16864: $? = 0 configure:16890: result: 8 configure:16901: checking whether GMP has been compiled with support for exceptions configure:16951: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp /contrib/gmp-4.3.1//lib/libgmpxx.a /contrib/gmp-4.3.1//lib/libgmp.a >&5 configure:16955: $? = 0 configure:16961: ./conftest configure:16965: $? = 0 configure:16967: result: yes configure:17041: checking for __mpz_struct._mp_alloc configure:17070: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:17077: $? = 0 configure:17136: result: yes configure:17148: checking for __mpz_struct._mp_size configure:17177: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:17184: $? = 0 configure:17243: result: yes configure:17255: checking for __mpz_struct._mp_d configure:17284: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:17291: $? = 0 configure:17350: result: yes configure:17387: checking for setitimer configure:17443: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:17450: $? = 0 configure:17472: result: yes configure:17488: checking whether to build the Parma Watchdog Library configure:17520: result: yes configure:17546: checking whether to build the ppl_lcdd program configure:17555: result: yes configure:17579: checking whether to build the ppl_lpsol program configure:17588: result: yes configure:17620: checking which interfaces are enabled configure:17682: result: cxx c ocaml java configure:17808: checking for javac configure:17826: found /usr/java5//bin/javac configure:17838: result: /usr/java5//bin/javac configure:17854: checking whether /usr/java5//bin/javac supports enums configure:17880: /usr/java5//bin/javac Test.java configure:17883: $? = 0 configure:17895: result: yes configure:17950: checking for java configure:17968: found /usr/java5//bin/java configure:17980: result: /usr/java5//bin/java configure:17998: checking for uudecode configure:18014: found /usr/bin/uudecode configure:18025: result: yes configure:18034: checking if uudecode can decode base 64 file configure:18061: result: yes configure:18212: checking if /usr/java5//bin/java works configure:18249: /usr/java5//bin/java Test configure:18252: $? = 0 configure:18265: result: yes configure:18321: checking for jar configure:18339: found /usr/java5//bin/jar configure:18351: result: /usr/java5//bin/jar configure:18416: checking for javah configure:18434: found /usr/java5//bin/javah configure:18446: result: /usr/java5//bin/javah configure:18469: xlC -E -I/contrib/gmp-4.3.1//include conftest.cpp "conftest.cpp", line 1.10: 1540-0836 (S) The #include file <jni.h> is not found. configure:18476: $? = 1 configure: failed program was: | #include <jni.h> configure:18501: xlC -E -I/contrib/gmp-4.3.1//include -I/usr/java5//include -I/usr/java5//include/aix conftest.cpp configure:18508: $? = 0 configure:18538: checking whether jlong can contain data pointers configure:18568: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include -I/usr/java5//include -I/usr/java5//include/aix conftest.cpp >&5 configure:18572: $? = 0 configure:18578: ./conftest configure:18582: $? = 0 configure:18585: result: yes configure:18648: checking for ocamlc configure:18678: result: no configure:18705: checking for ocamlopt configure:18735: result: no configure:20219: checking for GNU M4 that supports accurate traces configure:20261: result: /usr/local/bin//m4 configure:20264: checking how m4 supports trace files configure:20274: result: --debugfile configure:20359: checking which instantiations are enabled configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20480: result: Polyhedron@Grid@Rational_Box@BD_Shape<mpz_class>@BD_Shape<mpq_class>@Octagonal_Shape<mpz_class>@Octagonal_Shape<mpq_class>@Constraints_Product<C_Polyhedron,Grid>@Pointset_Powerset<C_Polyhedron>@Pointset_Powerset<NNC_Polyhedron> configure:20486: checking whether tests should be run under Valgrind configure:20544: result: no configure:20564: checking whether `make check' does a thorough or quick check configure:20577: result: quick configure:20621: checking for a sed that does not truncate output configure:20687: result: /usr/bin/sed configure:20768: checking for non-GNU ld configure:20802: result: /usr/bin/ld configure:20811: checking if the linker (/usr/bin/ld) is GNU ld configure:20826: result: no configure:20838: checking for BSD- or MS-compatible name lister (nm) configure:20887: result: /usr/bin/nm -B configure:21005: checking the name lister (/usr/bin/nm -B) interface configure:21012: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:21015: /usr/bin/nm -B "conftest.o" configure:21018: output 0 d some_variable 8 D some_variable configure:21025: result: BSD nm configure:21028: checking whether ln -s works configure:21032: result: yes configure:21040: checking the maximum length of command line arguments configure:21160: result: 307200 configure:21177: checking whether the shell understands some XSI constructs configure:21187: result: yes configure:21191: checking whether the shell understands "+=" configure:21197: result: no configure:21232: checking for /usr/bin/ld option to reload object files configure:21239: result: -r configure:21308: checking for objdump configure:21338: result: no configure:21367: checking how to recognize dependent libraries configure:21563: result: pass_all configure:21623: checking for ar configure:21639: found /usr/bin/ar configure:21650: result: ar configure:21728: checking for strip configure:21744: found /usr/bin/strip configure:21755: result: strip configure:21827: checking for ranlib configure:21843: found /usr/bin/ranlib configure:21854: result: ranlib configure:21944: checking command to parse /usr/bin/nm -B output from xlc object configure:22062: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:22065: $? = 0 configure:22069: /usr/bin/nm -B conftest.o | sed -n -e 's/^.*[ ]([BCDT][BCDT]*)[ ][ ]*([_A-Za-z][_A-Za-z0-9]*)$/\1 \2 \2/p' > conftest.nm configure:22072: $? = 0 configure:22126: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp conftstm.o >&5 configure:22129: $? = 0 configure:22167: result: ok configure:23032: checking for dlfcn.h configure:23053: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:23060: $? = 0 configure:23077: result: yes configure:23204: checking for C++ compiler version configure:23212: xlC --version >&5 xlC: 1501-216 (W) command option --version is not recognized - passed to ld
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
configure:23216: $? = 249 configure:23223: xlC -v >&5 exec: export(export,XL_CONFIG=/etc/vac.cfg.53:xlC,NULL) exec: less(less,/usr/vacpp/exe/default_msg/vacpp.txt,NULL)
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
unlink: /ptmp/ddvento/xlcW0pXIsqa unlink: /ptmp/ddvento/xlcW1pXIsqb unlink: /ptmp/ddvento/xlcW2p-Isqc configure:23227: $? = 249 configure:23234: xlC -V >&5 export XL_CONFIG=/etc/vac.cfg.53:xlC less /usr/vacpp/exe/default_msg/vacpp.txt
xlc(1) IBM (2007) xlc(1)
NAME xlc, xlc++, xlC, cc, c89, c99, xlCcore, xlc++core and related commands - invoke the IBM XL C/C++ compiler.
SYNTAX <invocation-command> [ <option> | <inputfile> ] ...
DESCRIPTION The invocation commands compile C and C++ source files. The commands and their recommended uses are described below.
Invocations Usage (supported standards) _________________________________________________________
xlc, xlc_r, xlc_r4, Compile C source files. xlc_r7, xlc128, xlc128_r, (ANSI C89, ISO C99, xlc128_r4, xlc128_r7 IBM language extensions)
xlc++, xlc++_r, xlc++_r4, Compile C++ source files. xlc++_r7, xlc++128, xlc++128_r, xlc++128_r4, xlc++128_r7, xlC, xlC_r, xlC_r4, xlC_r7, xlC128, xlC128_r, xlC128_r4, xlC128_r7
cc, cc_r, cc_r4, cc_r7, Compile legacy code that cc128, cc128_r, cc128_r4, does not conform to Standard cc128_r7 C. (pre-ANSI C)
c89, c89_r, c89_r4, Compile C source files with c89_r7, c89_128, c89_128_r, strict conformance to the c89_128_r4, c89_128_r7 C89 standard. (ANSI C89)
c99, c99_r, c99_r4, Compile C source files with c99_r7, c99_128, c99_128_r, strict conformance to the c99_128_r4, c99_128_r7 C99 standard. (ISO 99)
xlc++core, xlc++core_r, Compile C++ source files xlc++core_r7, xlc++core128, but the compiler will xlc++core128_r, link only to the core of xlc++core128_r7, xlCcore, the runtime library. xlCcore_r, xlCcore_r7, xlC128core, xlC128core_r, xlC128core_r7
gxlc Accepts GNU C options, maps them to their equivalent XL C option, then invokes xlc.
gxlc++, gxlC Accepts GNU C/C++ options, maps them to their equivalent XL C++ option,then invokes xlc++.
The main difference between these commands is that they use different default options (which are set in the configuration file /etc/vac.cfg.XX, where XX represents the AIX version). See the Compiler Reference for more information on these invocation commands.
All invocations with a suffix of _r allow for thread-safe compilation. Use these commands to create threaded applications or to link programs that use multi-threading.
These commands also process assembler source files and object files. The compiler calls the link editor to produce a single executable or shared library, unless you specify the compiler options that prevent object files from being linked.
The input file may have any of the following suffixes:
.C, .cpp, .cxx, C++ source file .cc, .cp, .c++
.c C source file
.i Preprocessed C or C++ source file
.a Archive file
.o Object file for ld command
.s Assembler source file
.S Assembler source file that needs preprocessing
.so Shared object file
OPTIONS Compiler options are categorized by their functions and may be used to set the compiler behavior. Options can be flag options or keyword options.
Keyword options are specified in one of the following ways: -q<option> -q<option>=<suboption> -q<option>=<suboption>:<suboption>
Keyword options with no suboptions represent switches that may be either on or off. -qx turns the switch on, and -qnox turns the switch off. For example, -qsource tells the compiler to produce a source listing and -qnosource tells the compiler not to produce a source listing.
Output control options -c Instructs the compiler to pass source files to the compiler only. The compiled source files are not sent to the linker. This option produces an object file, file_name.o, for each valid source file.
-C | -C! Preserves or removes comments in preprocessed output. When -C is used with the -E option, comments are written to standard output; with the -P option, comments are written to an output file. When -C! is in effect, comments are removed.
-E Instructs the compiler to preprocess the source files named in the compiler invocation and creates an output preprocessed source file.
-G Tells the linkage editor to create a shared object enabled for runtime linking.
-M Creates an output file that contains information to be included in a "make" description file. This is equivalent to specifying -qmakedep without a suboption.
-qmakedep[=gcc] Creates an output file that contains targets suitable for inclusion in a description file for the make command that describes the dependencies of the main source file in the compilation. Specifying 'gcc' changes the format of the generated dependency file. Specifying -qmakedep without 'gcc' is equivalent to specifying -M.
-MF<path> Specifies the target for the output generated by the -qmakedep or -M options, where <path> can be a full directory path or file name. Note that "-MF <path>" (with a space before the argument) is also acceptable. This option only has effect when specified with -qmakedep or -M.
(C)-qmkshrobj, (C++)-qmkshrobj[=<priority>] Creates a shared object from the generated object files. The optional number specifies the priority level for initialization of all static objects in the file. <priority> may be any number from -214782623 (highest priority-initialized first) to 214783647 (lowest priority-initialized last). If no priority is specified, the default priority of 0 is used. The priority is not used when linking shared objects (using the xlc command) written in C. Specifying -qmkshrobj implies -qpic. See related options, -e <name> and -o <path>.
-o <path> Specifies an output location for the object, assembler, or executable files created by the compiler. When the -o option is used during compiler invocation, <path> can be the name of either a file or a directory.
Default: -o a.out
-P Preprocesses the C or C++ source files named in the compiler invocation and creates an output preprocessed source file for each input source file. The preprocessed output file has the same name as the output file, with a .i suffix.
-S Generates an assembler language file (.s) for each source file. The resulting .s files can be assembled to produce object .o files or an executable file (a.out).
Input control options -+ (C++) Compiles any file, <file_name.nnn>, as a C++ language file, where <nnn> is any suffix other than .a, .so, .o, .s, or .S. This option is equivalent to the -qsourcetype=c++ option and should not be used together with the -qsourcetype option.
-qcinc=<directory_path> | -qnocinc (C++) Instructs the compiler to place an extern "C" { } wrapper around the contents of an include file, where <directory_path> is the location of that include file.
Default: -qnocinc
-I<directory_path> Specifies an additional search path for include file names that do not specify an absolute path.
Default: The following directories are searched, in the following order, after any paths that are specified by the -I option: 1) The current directory. 2) The directory where the source file is located. 3) /usr/include.
-qidirfirst | -qnoidirfirst Specifies the search order for files included with the #include "<file_name>" directive. Use -qidirfirst with the -I option. If -qidirfirst is specified, the directories specified by the -I<directory_path> option are searched before the directory in which the current file resides.
Default: -qnoidirfirst
-qinclude=<file_path> Specifies additional header files that are included before the first line of a source file in a compilation unit and ahead of any headers which may be specified by an #include statement on the first line of the source file.
-qsourcetype=<type> Determines whether to treat all recognized source files as if they are of the source type specified by <type> (regardless of file name suffix), or whether to use the file name suffix to determine the programming language. Note that the option only affects files that are specified on the command line following the option, but not those that precede the option. The -qsourcetype option should not be used together with the -+ option. The suboptions are:
default The compiler assumes that the programming language of a source file will be implied by its file name suffix. c The compiler compiles all source files following this option as if they are C language source files. assembler The compiler compiles all source files following this option as if they are assembler language source files. assembler-with-cpp The compiler compiles all source files following this option as if they are assembler language source files that need preprocessing.
Default: -qsourcetype=default
-qstdinc | -qnostdinc Specifies whether the standard directories are searched for files included by the #include <file_name> and #include "file_name" directives. The -qnostdinc option excludes the standard include directories from the search path.
Default: -qstdinc
Language element control options -qaltivec | -qnoaltivec Instructs the compiler to support vector data types and operators and is accepted when the architecture specified by the -qarch option supports vector instructions and -qenablevmx is enabled.
Default: -qnoaltivec
-qasm[=<sub>] | -qnoasm[=<sub>] Controls the interpretation of, and subsequent generation of code for, asm statements. In (C), <sub> can only be 'gcc'. In (C++), <sub> can be: gcc Interprets asm statements using GCC syntax. stdcpp Interprets asm statements using stdcpp syntax.
Default: (C++) -qnoasm=stdcpp in compat366 or strict98 modes, and -qasm=gcc otherwise. (C) -qasm=gcc
-qcpluscmt | -qnocpluscmt (C) Permits the usage of "//" to introduce a comment that lasts until the end of the current source line, as in C++.
Default: o -qcpluscmt when you invoke the compiler with xlc, xlc_r, cc, or cc_r, or when -qlanglvl is set to stdc99 or extc99. o -qnocpluscmt otherwise.
-D<name>[=[<def>]] Defines <name> as in the #define directive. <def> is an optional definition or value assigned to <name>. Specifying -D<name>= (with no <def>) is equivalent to #define <name>; specifying -D<name> is equivalent to #define <name> 1.
-qdbcs | -qnodbcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qmbcs.
Default: -qnodbcs
-qdfp | -qnodfp Enables compiler support for decimal floating-point types and literals.
Default: -qnodpf
-qdigraph | -qnodigraph Allows usage of digraph key combinations or keywords to represent characters not found on some keyboards.
Default: (C) -qdigraph when -qlanglvl is extc89, extended, extc99 or stdc99, and -qnodigraph otherwise. (C++) -qdigraph
-qdollar | -qnodollar Allows the '$' symbol to be used in the names of identifiers. When -qdollar is in effect, the dollar symbol '$' in an identifier is treated as a base character. If the options -qnodollar and -qlanglvl=ucs are both enabled, the dollar symbol is treated as an extended character.
Default: -qnodollar
-qignprag=<option> Instructs the compiler to ignore certain pragma statements. The options are:
disjoint Ignores all #pragma disjoint directives in the source file. isolated_call Ignores all #pragma isolated_call directives in the source file. all Ignores all #pragma isolated_call directives and #pragma disjoint directives in the source file. omp Ignores all OpenMP parallel processing directives in the source file. ibm (C) Ignores all #pragma ibm snapshot directives and all IBM SMP directives in the source file.
-qkeyword=<keyword> | -qnokeyword=<keyword> Controls whether the specified name is treated as a keyword or as an identifier whenever it appears in a program source. By default, all the built-in keywords defined in the C and C++ language standards are reserved as keywords. You cannot add keywords to the language with this option. However, you can use -qnokeyword=<keyword> to disable built-in keywords, and use -qkeyword=<keyword> to reinstate those keywords.
(C) This option can also be used with the following C keywords: restrict, typeof, asm and inline. (C++) This option can be used with all C++ built-in keywords.
-qlanglvl=<suboptions_list> Selects the language level and language options for the compilation. <suboptions_list> is a colon- separated list of suboptions.
(C) For C language programs, <suboptions_list> is {classic|extended|saa|saa12|stdc89|stdc99|extc89|extc99}:{ucs|noucs}. classic Allows the compilation of non-stdc89 programs, and conforms closely to the K&R level preprocessor. extended Provides compatibility with the RT compiler and classic. This language level is based on C89. saa Compilation conforms to the current SAA(R) C CPI language definition. This is currently SAA C Level 2. saal2 Compilation conforms to the SAA C Level 2 CPI language definition, with some exceptions. stdc89 Compilation conforms to the ANSI C89 standard, also known as ISO C90. stdc99 Compilation conforms to the ISO C99 standard. extc89 Compilation conforms to the ANSI C89 standard, and accepts implementation-specific language extensions. extc99 Compilation conforms to the ISO C99 standard, and accepts implementation-specific language extensions. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in program source code. Default: o -qlanglvl=ucs under language levels stdc99 and extc99. o -qlanglvl=noucs for all other language levels.
(C++) The suboptions for C++ language programs are: compat366 Compilation conforms to some, but not all, IBM C and C++ Compilers V3.6 features. extended Compilation is based on the strict98, with some differences to accommodate extended language features. strict98 Compilation conforms to the ISO C++ standard for C++ programs. anonstruct | noanonstruct This suboption controls whether anonymous structs and anonymous classes are allowed in your C++ source. By default, the compiler allows anonymous structs. anonunion | noanonunion This suboption controls what members are allowed in anonymous unions. When this suboption is set to anonunion, anonymous unions can have members of all types that standard C++ allows in non-anonymous unions. ansifor | noansifor This suboption controls whether scope rules defined in the C++ standard apply to names declared in for-init statements. By default, standard C++ rules are used. ansisinit | noansisinit This suboption can be used to select between old (v3.6 or earlier) and current (v5.0 or later) compiler object compatibility. c99__func__ | noc99__func__ This suboption instructs the compiler to recognize the C99 __func__ identifier. The c99__func__ suboption is enabled by default when -qlanglvl=extended is enabled. It can be enabled for any language level by specifying -qlanglvl=c99__func__, or disabled by specifying -qlanglvl=noc99__func__. c99complex | noc99complex This suboption instructs the compiler to recognize C99 complex data types and related keywords. It is set by default for -qlanglvl=extended. c99complexheader | noc99complexheader This suboption instructs the compiler to use the C99 complex.h header file. c99compoundliteral | noc99compoundliteral This suboption instructs the compiler to support the C99 compound literal feature. It is set by default for -qlanglvl=extended. c99hexfloat | noc99hexfloat This suboption enables support for C99-style hexadecimal floating constants in C++ applications. It is on by default for -qlanglvl=extended. c99vla | noc99vla When c99vla is enabled, the compiler will support the use of C99-type variable length arrays in your C++ applications. It is set by default for -qlanglvl=extended. compatzea | nocompatzea The -qlanglvl=compatzea option is a compatibility option that lets you continue to use a zero extent array with dimension of 1. Default: -qlanglvl=nocompatzea Specifying -qlanglvl=compatzea has effect only if -qlanglvl=zeroextarray is also enabled. dependentbaselookup | nodependentbaselookup Provides the ability to specify compilation in conformance with issue 213 of TC1 of the C++ standard. Default: -qlanglvl=dependentbaselookup gnu_assert | nognu_assert Enables or disables support for the following GNU C system identification assertions: '#assert', '#unassert', '#cpu', '#machine', '#system'. gnu_complex | nognu_complex This suboption instructs the compiler to recognize GNU complex data types and related keywords. gnu_computedgoto | nognu_computedgoto Enables support for computed gotos. This suboption is enabled for -qlanglvl=extended. gnu_explicitregvar | nognu_explicitregvar (C) Allows you to control whether the compiler accepts and ignores the specification of explicit registers for variables. gnu_externtemplate | nognu_externtemplate This suboption enables or disables extern template instantiations. Default: gnu_externtemplate is enabled by default when compiling to the extended language level. gnu_include_next | nognu_include_next Enables or disables support for the GNU C #include_next preprocessor directive. Default: gnu_include_next is enabled by default for -qlanglvl=extended. gnu_labelvalue | nognu_labelvalue Enables or disables support for labels as values. Default: gnu_labelvalue is enabled by default for -qlanglvl=extended. gnu_locallabel | nognu_locallabel Enables or disables support for locally- declared labels. gnu_membernamereuse | nognu_membernamereuse Enables or disables reusing a template name in a member list as a typedef. gnu_suffixij | nognu_suffixij Enables or disables support for GCC style complex numbers. If gnu_suffixij is specified, a complex number can be ended with suffix i/I or j/J. Default: gnu_suffixij is enabled by default for -qlanglvl=extended. gnu_varargmacros | nognu_varargmacros This option is similar to -qlanglvl=varargmacros. For the list of the main differences, refer to the Compiler Reference. Default: gnu_varargmacros is set by default for -qlanglvl=extended. gnu_warning | nognu_warning Enables or disables support for the GNU C #warning preprocessor directive. illptom | noillptom This suboption controls what expressions can be used to form pointers to members. C/C++ can accept some forms that are in common use, but do not conform to the C++ standard. The compiler allows these forms by default. implicitint | noimplicitint This suboption controls whether the compiler will accept missing or partially specified types as implicitly specifying 'int'. This is no longer accepted in the standard but may exist in legacy code. With the suboption set to noimplicitint, all types must be fully specified. With the suboption set to implicitint, a function declaration at namespace scope or in a member list will implicitly be declared to return int. newexcp | nonewexcp This suboption determines whether or not the C++ new operator throws an exception. If the -qlanglvl=newexcp option is specified, the standard exception std::bad_alloc is thrown when the requested memory allocation fails. This option does not apply to the nothrow versions of the new operator. The standard implementation of the new operators fully support exceptions. For compatibility with previous versions of VisualAge C++, these operators return 0 by default. offsetnonpod | nooffsetnonpod This suboption controls whether the offsetof macro can be applied to classes that are not data-only. By default, the compiler allows offsetof to be used with non-POD classes. olddigraph | noolddigraph This option controls whether old-style digraphs are allowed in your C++ source. It applies only when -qdigraph is also set. By default, the compiler supports only the digraphs specified in the C++ standard. oldfriend | nooldfriend This option controls whether friend declarations that name classes without elaborated class names are treated as C++ errors. By default, the compiler lets you declare a friend class without elaborating the name of the class with the keyword class. oldmath | nooldmath This suboption controls which versions of math function declarations in <math.h> are included when you specify math.h as an included or primary source file. By default, the new standard math functions are used. Build with -qlanglvl=nooldmath for strict compliance with the C++ standard. For compatibility with modules that were built with earlier versions of VisualAge C++ and predecessor products, you may need to build with -qlanglvl=oldmath. oldtempacc | nooldtempacc This suboption controls whether access to a copy constructor to create a temporary object is always checked, even if creation of the temporary object is avoided. By default, the compiler suppresses the access checking. oldtmplalign | nooldtmplalign Controls whether alignment rules specified for nested templates are ignored. When the default, -qlanglvl=nooldtmplalign, is in effect, these alignment rules are not ignored. Specify -qlanglvl=oldtmplalign for compatibility with VisualAge C++ 4.0 and predecessor products. oldtmplspec | nooldtmplspec This suboption controls whether template specializations that do not conform to the C++ standard are allowed. By default, the compiler allows these old specializations (-qlanglvl=nooldtmplspec). redefmac | noredefmac Specifies whether a macro can be redefined without a prior #undef or undefine() statement. trailenum | notrailenum This suboption controls whether trailing commas are allowed in enum declarations. By default, the compiler allows one or more trailing commas at the end of the enumerator list. typedefclass | notypedefclass This suboption provides backwards compatibility with previous versions of VisualAge C++ and predecessor products. ucs | noucs This suboption controls whether Unicode characters are allowed in identifiers, string literals and character literals in C++ sources. Default: -qlanglvl=noucs varargmacros | novarargmacros This C99 feature allows the use of a variable argument list in function-like macros in your C++ applications. zeroextarray | nozeroextarray This suboption controls whether zero-extent arrays are allowed as the last non-static data member in a class definition. By default, the compiler allows arrays with zero elements.
The default depends on the invocation command used:
Command Default _____________________________________________
xlC/xlc++ extended xlc extc99 cc extended c89 stdc89 c99 stdc99
-qlonglong | -qnolonglong Allows IBM-style long long integers. This option cannot be used with -qlanglvl=stdc99 or -qlanglvl=extc99.
Default: o -qlonglong when compiling with xlc, xlc++, xlC or cc. o -qnolonglong when compiling with c89 or c99.
-qmacpstr | -qnomacpstr Converts Pascal string literals into null- terminated strings where the first byte contains the length of the string.
Default: -qnomacpstr
-qmbcs | -qnombcs Specifies that string literals and comments can contain multi-byte characters. This is equivalent to -qdbcs.
Default: -qnombcs
-qstaticinline | -qnostaticinline (C++) Controls whether inline functions are treated as static or extern. Specifying -qnostaticinline means the inline functions are treated as having extern linkage.
Default: -qnostaticinline
-qtabsize=<size> Changes the length of tabs as perceived by the compiler, where <size> is the number of character spaces representing a tab in the source program.
Default: -qtabsize=8
-qtrigraph | -qnotrigraph Allows trigraph key combinations to represent characters not found on some keyboards.
Default: -qtrigraph
However, if -qlanglvl=classic is enabled or implied, the trigraphs are not recognized by default.
-U<name> Undefines the identifier <name> defined by the compiler or by the -D<name> option.
-qutf | -qnoutf Enables recognition of UTF literal syntax.
Default: o (C) -qnoutf o (C++) -qutf for all language levels except -qlanglvl=strict98 o (C++) -qnoutf when -qlanglvl=strict98 is in effect
Template control options (C++ only) -qtempinc[=<directory_path>] | -qnotempinc (C++) Generates separate template include files for template functions and class declarations, and places these files in a directory which can be optionally specified.
Default: -qnotempinc
-qtemplatedepth=<number> (C++) Specifies the maximum number of recursively instantiated template specializations that will be processed by the compiler. <number> can be a value between 1 and INT_MAX.
Default: -qtemplatedepth=300
-qtemplaterecompile | -qnotemplaterecompile (C++) Helps manage dependencies between compilation units that have been compiled using the -qtemplateregistry compiler option.
Default: -qnotemplaterecompile
-qtemplateregistry[=<filename>] | -qnotemplateregistry (C++) Maintains records of all templates as they are encountered in the source and ensures that only one instantiation of each template is made.
Default: -qnotemplateregistry
-qtempmax=<number> (C++) Specifies the maximum number of template include files to be generated by the -qtempinc option for each header file.
Default: -qtempmax=1
-qtmplinst=<suboption> (C++) Allows you to manage implicit template instantiations. <suboption> is one of the following:
none Instantiates only the inline functions. If this is specified, -qtempinc and -qtemplateregistry are ignored. noinline Suppresses all implicit instantiations. auto Handles the implicit instantiations according to the -qtempinc and -qtemplateregistry options. If both options are off, then implicit instantiations are always performed. always Always perform implicit instantiations. This will ignore the -qtempinc and -qtemplateregistry options.
Default: -qtmplinst=auto
-qtmplparse=<option> (C++) Controls whether parsing and semantic checking are applied to template definition implementations or only to template instantiations. The compiler has the option to produce warning or error messages. The suboptions are:
no Does not parse, to reduce the number of errors issued in code written for previous versions of the compiler. warn Parses template definitions and issues warning messages for semantic errors. error Treats problems in template definitions as errors, even if the template is not instantiated.
Default: -qtmplparse=no
Floating-point and integer control options -qbitfields={signed|unsigned} Specifies whether bit fields will be signed or unsigned.
Default: -qbitfields=unsigned
-qchars={signed|unsigned} Specifies whether the data type char will be signed or unsigned.
Default: -qchars=unsigned
-qenum=<suboption> Specifies the amount of storage occupied by enumerations, where <suboption> can be:
small Specifies that enumerations occupy the smallest amount of space (1, 2, 4, or 8 bytes) that can accurately represent the range of values in the enumeration. Signage is unsigned, unless the range of values includes negative values. int Specifies that enumerations occupy 4 bytes and are represented by int. intlong Specifies that enumerations occupy 8 bytes of storage if the range of values in the enumeration exceeds the limit for int. Otherwise, the enumerations occupy 4 bytes of storage and are represented by int. 1 Specifies that enumerations occupy 1 byte. Type is signed or unsigned char. 2 Specifies that enumerations occupy 2 bytes. Type is signed or unsigned short. 4 Specifies that enumerations occupy 4 bytes. Type is signed or unsigned int. 8 Specifies that enumerations occupy 8 bytes. Type is signed or unsigned long long in 32-bit mode, and signed or unsigned long in 64-bit mode.
Default: -qenum=intlong
-qfloat=<suboptions_list> Specifies various floating-point suboptions. This provides different strategies for speeding up or improving the accuracy of floating-point calculations. <suboptions_list> is a colon- separated list of one or more of the following:
dfpemulate | nodfpemulate Specifies whether decimal floating-point computations are implemented in hardware instructions or emulated in software by calls to library functions. -qdfp must be enabled for either suboption to have any effect. nodfpemulate is only valid on a system that supports decimal floating-point instructions; that is, on AIX 5.3 and higher, and with -qarch=pwr6 in effect. dfpemulate is required for all other -qarch values. Default: dfpemulate fenv | nofenv Specifies whether the code depends on the hardware environment and whether to suppress optimizations that could cause unexpected results due to this dependency. When nofenv is in effect, the compiler assumes that the program does not depend on the hardware environment, and that aggressive compiler optimizations that change the sequence of floating-point operations are allowed to be performed. When fenv is in effect, such optimizations are suppressed. Default: nofenv fltint | nofltint Speeds up floating-point-to-integer conversions by using faster inline code that does not check for overflows. -qfloat=nofltint checks floating-point-to-integer conversions for out-of-range values. Default: o nofltint at -O2 optimization. o fltint when -qnostrict or -O3 or higher optimization level is in effect. fold | nofold Specifies that constant floating-point expressions are to be evaluated at compile time rather than at run time. Default: fold hscmplx | nohscmplx Speeds up operations involving complex division and complex absolute value. This suboption, which provides a subset of the optimizations of the hsflt suboption, is preferred for complex calculations. Default: nohscmplx hsflt | nohsflt The hsflt option speeds up calculations by truncating instead of rounding computed values to single precision before storing and on conversions from floating-point to integer. The nohsflt suboption specifies that single- precision expressions are rounded after expression evaluation and that floating- point-to-integer conversions are to be checked for out-of-range values. Default: nohsflt hssngl | nohssngl The hssngl option specifies that single- precision expressions are rounded only when the results are stored into float memory locations. The nohssngl option specifies that single-precision expressions are rounded after expression evaluation. Using hssngl can improve runtime performance and is safer than using -qfloat=hsflt. Default: nohssngl maf | nomaf Makes floating-point calculations faster and more accurate by using floating-point multiply-add instructions where appropriate. Default: maf nans | nonans Generates extra instructions to detect signalling NaN when converting from single- precision to double-precision at run time. The option nonans specifies that this conversion need not be detected. Default: nonans relax | norelax Relaxes the strict IEEE-conformance slightly for greater speed, typically by removing some trivial, floating-point arithmetic operations, such as adds and subtracts involving a zero on the right. Default: norelax rndsngl | norndsngl Specifies that the result of each single- precision (float) operation is to be rounded to single precision. -qfloat=norndsngl specifies that rounding to single-precision happens only after full expressions have been evaluated. Default: rndsngl rngchk | norngchk Specifying norngchk instructs the compiler to skip range checking, allowing for increased performance where division and sqrt operations are performed repeatedly within a loop. When rngchk is specified, range checking is performed for input arguments for software divide and inlined sqrt operations. When -qstrict is active, the setting of this option is forced to -qfloat=rngchk. When -qnostrict is active, the setting of this option is -qfloat=norngchk unless the -qfloat=rngchk option is explicitly set by the user. Default: rngchk rrm | norrm Prevents floating-point optimizations that are incompatible with runtime rounding to plus and minus infinity modes. Default: norrm rsqrt | norsqrt Specifies whether a sequence of code that involves division by the result of a square root can be replaced by calculating the reciprocal of the square root and multiplying. Allowing this replacement produces code that runs faster. -qfloat=rsqrt has no effect unless -qignerrno is also specified. Default: o norsqrt at -O2 optimization. o rsqrt when when -qnostrict or -O3 or higher optimization level is in effect. single | nosingle Allows single-precision arithmetic instructions to be generated for single- precision floating-point values. All PowerPC processors support single-precision instructions; however, if you wish to preserve the behavior of applications compiled for earlier architectures, in which all floating- point arithmetic was performed in double- precision and then truncated to single- precision, you can use -qfloat=nosingle:norndsngl. This suboption provides computation precision results compatible with those provided by the deprecated options -qarch=com|pwr|pwrx|pwr2|p2sc|601|602|603. Default: single spnans | nospnans Detects signalling NaN on conversion from single-precision to double-precision. Default: nospnans
-qldbl128 | -qnoldbl128 Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qlongdouble.
Default: -qnoldbl128
-qlongdouble | -qnolongdouble Specifies whether to increase the long double size from 64 to 128 bits. This is equivalent to -qldbl128.
Default: -qnolongdouble
-qlonglit | -qnolonglit Makes unsuffixed literals into the long type in 64-bit mode.
Default: -qnolonglit
-y<rounding_mode> Specifies the compile-time rounding mode of constant floating-point expressions.
For binary floating-point types, <rounding_mode> is one of the following: m = round toward minus infinity n = round to the nearest representable number, ties to even p = round toward plus infinity z = round toward zero
Default: -yn
For decimal floating-point types, <rounding_mode> is one of the following: di = round toward infinities (away from zero) dm = round toward minus infinity dn = round to the nearest representable number, ties to even dna = round to the nearest representable number, ties away from zero dnz = round to the nearest representable number, ties toward zero dp = round toward plus infinity dz = round toward zero
Default: -ydn
Object code control options -q32, -q64 Selects either 32-bit or 64-bit compilation mode. Use the -q32 and -q64 options, along with the -qarch and -qtune compiler options, to optimize the output of the compiler to the architecture on which that output will be used.
Default: -q32
-qalloca (C) Substitutes inline code for calls to function alloca, as if #pragma alloca directives were in the source code.
-ma (C) Substitutes inline code for calls to function alloca.
-qeh[={v5|v6}] | -qnoeh (C++) Controls whether exception handling is enabled in the module being compiled.
v5 Instructs the compiler to generate exception- handling code that is compatible with VisualAge C++ V5.0. v6 Instructs the compiler to generate new exception-handling code, compatible with VisualAge C++ V6.0, that correctly handles try-catch blocks nested within other catch blocks.
Default: -qeh=v6
-qexpfile=<file_name> Saves the exported symbols in the specified file and is only used together with the -qmkshrobj compiler option. Refer to the -qmkshrobj option for more information.
-qfuncsect[=[no]implicitstaticref] | -qnofuncsect Places instructions for each function in a separate object file control section or csect. -qfuncsect can take the following suboption:
implicitstaticref | noimplicitstaticref Specifies whether the compiler generates dummy references to the static area. Specifying -qfuncsect with no suboption implies implicitstaticref. Specifying noimplicitstaticref removes unnecessary references to the static data area.
Default: -qnofuncsect
-qinlglue | -qnoinlglue This option inlines glue code that optimizes external function calls when compiling at -q64 and -O2 and higher.
Default: -qnoinlglue
-qkeepinlines | -qnokeepinlines (C++) Instructs the compiler to keep or discard definitions for unreferenced extern inline functions. Discarding these definitions can reduce the size of the object files. The -qkeepinlines setting keeps the definitions of unreferenced extern inline functions.
Default: -qnokeepinlines
-qpic[={small|large}] | -qnopic Generates position-independent code (pic). Specify -qpic=small if the global offset table must be 64 Kb or smaller, or -qpic=large if it can be larger than 64 Kb.
Default: -qpic=small
-qppline | -qnoppline When used in conjunction with the -E or -P options, enables or disables the generation of #line directives in the preprocessed output.
Default: o -qnoppline with -P o -qppline with -E
-qpriority=<num> (C++) Specifies the priority level for the initialization of static objects, where <num> is the initialization priority level assigned to the static objects within a file, or the priority level of a shared or non-shared file or library. You can specify a priority level from -(2147483647 + 1) (highest priority) to +2147483647 (lowest priority).
Default: -qpriority=0
-qproto | -qnoproto (C) Assumes that all functions are prototyped. Asserts that procedure call points agree with their declarations even if the procedure has not been prototyped. This allows the caller to pass floating-point arguments in floating-point registers instead of general-purpose registers.
Default: -qnoproto
-r Produces a relocatable object. This permits the output file to be produced even though it contains unresolved symbols.
-qreserved_reg=<registers_list> Indicates that the specified register(s) cannot be used during the compilation, except as a stack pointer, frame pointer or in a different fixed role. <registers_list> is a colon-separated list of registers.
-qro | -qnoro Specifies the storage type for string literals and puts string literals in read-only storage.
Default: o -qnoro with cc and its derivatives. o -qro otherwise.
-qroconst | -qnoroconst Specifies the storage location for constant values.
Default: o -qroconst with xlc, xlc++, xlC, c89 and c99 invocations commands. o -qnoroconst with cc.
-qroptr | -qnoroptr Specifies the storage location for constant pointers.
Default: -qnoroptr
-qrtti=<option> | -qnortti (C++) Generates runtime type identification (RTTI) information for the typeid and dynamic_cast operators. The suboptions are:
all Generates the information needed for the RTTI typeid and dynamic_cast operators. type | typeinfo Generates the information needed for the RTTI typeid operator only. dyna | dynamiccast Generates the information needed for the RTTI dynamic_cast operator only.
Default: -qnortti
-s Strips the symbol table, line number information, and relocation information from the output file.
-qsaveopt | -qnosaveopt Saves the command-line options used for compiling a source file, the version and level of each compiler component invoked during compilation, and other information to the corresponding object file. This option must be used with the -c option.
Default: -qnosaveopt
-qstatsym | -qnostatsym Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list (the symbol table of objects).
Default: -qnostatsym
-qtbtable=<suboption> Generates a traceback table that contains information about each function, including the type of function as well as stack frame and register information. The traceback table is placed in the text segment at the end of its code. Suboptions include:
none No traceback table is generated. small A traceback table is generated with no name or parameter information. This is the default with optimization if -g is not specified. full A full traceback table is generated. This is the default with -qnoopt or -g specified.
Default: o -qtbtable=full when compiling non-optimized (without -O) or for debugging (with -g). o -qtbtable=small otherwise.
-qthreaded | -qnothreaded Ensures that all optimizations will be thread-safe for executing in a multi-threaded environment.
Default: o -qthreaded when compiling invocation commands ending in "_r" or "_r7". o -qnothreaded otherwise.
-qtls[=<model>] | -qnotls Specifies the thread-local storage model to be used by the application, where <model> can be:
global-dynamic This model is the most general, and can be used for all thread-local variables. local-dynamic This model provides better performance than the global-dynamic model, and can be used for thread-local variables defined in dynamically-loaded modules. initial-exec This model provides better performance than the global-dynamic or local-dynamic models, and can be used for thread-local variables defined in dynamically-loaded modules, provided that those modules are loaded at the same time as the executable. local-exec This model provides the best performance of all of the models, but can only be used when all thread-local variables are defined and referenced by the main executable.
Default: o -qtls=unsupported o -qtls=initial_exec if the -qnopic compiler option is enabled. o -qtls=global_dynamic if the -qpic compiler option is enabled.
-qunique | -qnounique (C++) Generates unique names for static constructor/destructor file compilation units.
Default: -qnounique
-qweakexp | -qnoweakexp When used with the -qmkshrobj or -G options, includes or excludes global symbols marked as weak from the export list generated when you create a shared object.
Default: -qweakexp
-qweaksymbol | -qnoweaksymbol Instructs the compiler to generate weak symbols.
Default: -qweaksymbol
-qxcall | -qnoxcall Generates code to treat static functions within a compilation unit as if they were external functions.
Default: -qnoxcall
Error checking and debugging options -# Traces the compilation and generates information on the progress of the compilation without invoking the preprocessor, compiler, or linkage editor.
-qcheck[=<suboptions_list>] | -qnocheck Generates code that performs certain types of runtime checking. If a violation is encountered, a runtime exception is raised by sending a SIGTRAP signal to the process. <suboptions_list> is a colon-separated list of one or more of the following:
all Enables all suboptions. bounds | nobounds Performs runtime checking of addresses when subscripting within an object of known size. divzero | nodivzero Performs runtime checking of integer division. A trap will occur if an attempt is made to divide by zero. nullptr | nonullptr Performs runtime checking of addresses contained in pointer variables used to reference storage.
Default: -qnocheck
-qdbxextra | -qnodbxextra (C) Specifies that all typedef declarations, struct, union, and enum type definitions are included for debugging. Use this option with the -g option to produce additional debugging information for use with a debugger.
Default: -qnodbxextra
-qdpcl | -qnodpcl Generates symbols that can be used by tools based on the Dynamic Probe Class Library (DPCL) to see the structure of an executable file.
Default: -qnodpcl
-qextchk | -qnoextchk Generates bind-time type-checking information and checks for compile-time consistency.
Default: -qnoextchk
-qflttrap[=<suboptions_list>] | -qnoflttrap Generates instructions to detect and trap runtime floating-point exceptions. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
enable Enables trapping of the specified exceptions. imprecise Only checks for the specified exceptions on subprogram entry and exit. inexact Detects floating-point inexact exceptions. invalid Detects floating-point invalid operation exceptions. nanq Generates code to detect and trap NaNQ (Not a Number Quiet) exceptions handled or generated by floating-point operations. overflow Detects floating-point overflow. underflow Detects floating-point underflow. zerodivide Detects floating-point division by zero.
Default: -qnoflttrap
-qformat=<options_list> | -qnoformat Warns of possible problems with string input and output format specifications. Functions diagnosed are printf, scanf, strftime, strfmon family functions and functions marked with format attributes. <options_list> is a comma-separated list of one or more of the following suboptions:
all | noall Turns on all format diagnostic messages. exarg | noexarg Warns if excess arguments appear in printf and scanf style function calls. nlt | nonlt Warns if a format string is not a string literal, unless the format function takes its format arguments as a va_list. sec | nosec Warns of possible security problems in use of format functions. y2k | noy2k Warns of strftime formats that produce a 2- digit year. zln | nozln Warns of zero-length formats.
Default: o -qnoformat, which is equivalent to -qformat=noall. o -qformat=all if -qformat is specified without any suboptions.
-qfullpath | -qnofullpath Records the full or absolute path names of source and include files in object files compiled with debugging information (when you use the -g option).
Default: -qnofullpath
-g Generates debug information for debugging tools. -qdbg is the long form of -g. -g implies the -Q! option.
-qhalt=<sev> Stops the compiler after the first phase if the severity level of errors detected equals or exceeds the specified level, <sev>. The severity levels in increasing order of severity are:
i = informational messages w = warning messages e = error messages (C only) s = severe error messages
Default: -qhalt=s
-qhaltonmsg=<msgnum_list> (C++) Stops the compiler after the compilation phase where it encounters the specified message number(s), where <msgnum_list> is a comma-separated list of message numbers.
-qheapdebug | -qnoheapdebug Enables debug versions of memory management functions.
Default: -qnoheapdebug
-qinfo[=[<suboption>][<groups_list>]] | -qnoinfo Produces or suppresses informational messages. <groups_list> is a colon-separated list. If a <groups_list> is specified along with a <suboption>, a colon must separate them. The suboptions are:
all Enables all diagnostic messages for all groups. noall Disables all diagnostic messages for all groups. private Lists shared variables that are made private to a parallel loop. reduction Lists variables that are recognized as reduction variables inside a parallel loop.
<groups_list> turns on or off specific groups of messages and is a colon-separated list of one or more of the following:
c99 | noc99 (C) C code that might behave differently between C89 and C99 language levels cls | nocls C++ classes cmp | nocmp Possible redundancies in unsigned comparisons cnd | nocnd Possible redundancies or problems in conditional expressions cns | nocns Operations involving constants cnv | nocnv Conversions dcl | nodcl Consistency of declarations eff | noeff Statements and pragmas with no effect enu | noenu Consistency of enum variables ext | noext Unused external definitions gen | nogen General diagnostic messages gnr | nognr Generation of temporary variables got | nogot Use of goto statements ini | noini Possible problems with initialization lan | nolan Language level effects obs | noobs Obsolete features ord | noord Unspecified order of evaluation par | nopar Unused parameters por | nopor Non-portable language constructs ppc | noppc Possible problems with using the preprocessor ppt | noppt Trace of preprocessor actions pro | nopro Missing function prototypes rea | norea Code that cannot be reached ret | noret Consistency of return statements trd | notrd Possible truncation or loss of data or precision tru | notru Variable names truncated by the compiler trx | notrx Rounding of hexadecimal floating-point constants uni | nouni Uninitialized variables upg | noupg Upgrade issues from one release to the next release use | nouse (C++) Unused auto and static variables vft | novft (C++) Generation of virtual function tables in C++ programs zea | nozea Zero-extent arrays
Default: (C) -qnoinfo (C++) -qinfo=lan:trx If -qinfo is specified without a suboption, the default is -qinfo=all for C and -qinfo=all:noppt for C++.
-qinitauto=<hex_value> | -qnoinitauto Initializes each byte or word of storage for automatic variables to the specified hexadecimal value <hex_value>. This generates extra code and should only be used for error determination.
Default: -qnoinitauto
-qkeepparm | -qnokeepparm Ensures that function parameters are stored on the stack even if the application is optimized. As a result, parameters remain in the expected memory location, providing access to the values of these incoming parameters to tools such as debuggers.
Default: -qnokeepparm
-qlinedebug | -qnolinedebug Generates only abbreviated line number and source file name information for the debugger.
Default: -qnolinedebug
-qmaxerr=<num>[:<sev>] | -qnomaxerr Instructs the compiler to halt compilation when the specified number of errors of the specified severity (by default, the value of -qhalt) or greater is reached. <num> must be an integer. The severity levels, <sev>, are:
i = informational w = warning e = error (C only) s = severe error
Default: -qnomaxerr
-qoptdebug | -qnooptdebug When used with high levels of optimization, -qoptdebug produces source files containing optimized pseudocode that can be read by a debugger. An output file with a .optdbg extension is created for each input file compiled with -qoptdebug. You can use the information contained in this file to help you understand how your code actually behaves under optimization.
Default: -qnooptdebug
-qsymtab={unref|static} (C) Determines what types of information appear in the symbol table. The suboptions are:
unref Specifies that all typedef declarations, struct, union, and enum type definitions are included for processing by the debugger. static Adds user-defined, non-external names that have a persistent storage class (such as initialized and uninitialized static variables) to the name list.
Default: The default is to not add static variables to the symbol table.
-qsyntaxonly (C) Performs syntax checking without generating an object file.
Default: By default, source files are compiled and linked to generate an executable file.
-qwarn64 | -qnowarn64 Enables checking for possible data conversion problems between 32-bit and 64-bit compiler modes.
Default: -qnowarn64
Listing and messages options -qattr[=full] | -qnoattr Produces a compiler listing that includes an attribute listing for all identifiers. If -qattr is specified, the listing contains only those identifiers that are used. If -qattr=full is specified, the listing contains all names. If -qnoattr is specified, no listing is produced.
Default: -qnoattr
-qdump_class_hierarchy (C++) For each class object, this option dumps a representation of its hierarchy and virtual function table layout to a file. The file name is created by appending ".class" to the source file name.
-qflag=<listing_severity>:<terminal_severity> Defines the minimum severity level of diagnostic messages to be written to the listing file and to the user terminal. <listing_severity> is the minimum level for the listing file, and <terminal_severity> is the minimum level for the terminal. The message severity levels are:
i = informational messages w = warning messages e = error, severe error and unrecoverable error messages (C only) s = severe error and unrecoverable error messages (C) s = severe error messages (C++)
Default: -qflag=i:i
-qlist[={offset|nooffset}] | -qnolist Produces a compiler listing that includes an object listing. You can use the object listing to help understand the performance characteristics of the generated code and to diagnose execution problems.
offset | nooffset Changes the offset of the PDEF header from 00000 to the offset of the start of the text area.
Specifying -qlist without the suboption is equivalent to list=nooffset.
Default: -qnolist
-qlistopt | -qnolistopt Produces a compiler listing that displays all the options that were in effect when the compiler was invoked.
Default: -qnolistopt
-qphsinfo | -qnophsinfo Reports the time taken in each compilation phase. Phase information is sent to standard output. The output takes the form <number1>/<number2> for each phase where <number1> represents the CPU time used by the compiler and <number2> represents the total of the compiler time and the time that the CPU spends handling system calls.
Default: -qnophsinfo
-qprint | -qnoprint Enables or suppresses listings. Specifying -qnoprint overrides all listing-producing options, regardless of where they are specified, to suppress listings.
Default: -qprint
-qreport | -qnoreport Instructs the compiler to produce transformation reports that show how program loops are optimized. The transformation reports are included as part of the compiler listing. This option requires -qhot or -qsmp in order to have effect. When used with -qipa=clonearch, -qreport produces transformation reports on the procedures that are cloned for the architectures specified by the option.
Default: -qnoreport
-qshowinc[=<types_list>] | -qnoshowinc Used with -qsource to selectively show user header files (includes using " ") or system header files (includes using < >) in the program source listing. <types_list> is a colon-separated list of one or more of the following types:
usr | nousr Specifies whether to show user include files. sys | nosys Specifies whether to show system include files. all Shows both user and system include files.
Default: -qnoshowinc
-qsource | -qnosource Produces a compiler listing that includes source code.
Default: -qnosource
-qsrcmsg | -qnosrcmsg (C) Adds the corresponding source code lines to the diagnostic messages in the stderr file.
Default: -qnosrcmsg
-qsuppress=<msg_id> | -qnosuppress=[<msg_id>] Prevents the specified compiler or driver informational or warning messages from being displayed or added to the listings, where <msg_id> is a colon-separated list of message numbers to suppress or display.
NOTE: In (C++), -qnosuppress requires that you supply message number(s), and in (C), -qnosuppress does not allow you to supply any.
Default: -qnosuppress
-v Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a comma-separated list.
-V Instructs the compiler to report information on the progress of the compilation, and names the programs being invoked within the compiler and the options being specified to each program. Information is displayed in a space-separated list.
-qversion[=verbose] Displays the official compiler product name and the compiler version found on the system.
verbose Additionally displays information about the version, release, and level of each compiler component installed.
-w Suppresses informational, language-level and warning messages. Specifying this option is equivalent to specifying -qflag=e:e in C or -qflag=s:s in C++.
-qxref[=full] | -qnoxref Specifies whether to produce a compiler listing that includes a cross-reference listing of all identifiers. Specifying -qxref will report only identifiers that are used, -qxref=full reports all identifiers in the program, and -qnoxref does not report any identifiers in the program. The -qnoprint option overrides this option.
Default: -qnoxref
Optimization and tuning options -qaggrcopy={overlap|nooverlap} Enables destructive copy operations for structures and unions.
overlap | nooverlap Enables or disables optimizations for structure and union assignments. nooverlap assumes that the source and destination for structure and union assignments do not overlap, allowing the compiler to generate faster code. overlap inhibits these optimizations.
Default: -qaggrcopy=nooverlap
-qalias=<suboptions_list> Specifies the aliasing assertions to be applied to your compilation unit. <suboptions_list> is a colon-separated list of the following options:
addrtaken | noaddrtaken Variables are disjoint from pointers unless their address is taken. allptrs | noallptrs Pointers are never aliased if allptrs is specified, but may be aliased if noallptrs is specified. -qalias=allptrs implies -qalias=typeptr. ansi | noansi If ansi is specified, type-based aliasing is used during optimization, which restricts the lvalues that can be safely used to access a data object. This option has no effect unless you also specify the -O option. Specifying -qalias=noansi turns off type-based aliasing completely. global | noglobal When global is in effect, type-based aliasing rules are enabled during IPA link-time optimization across compilation units. Both -qipa and -qalias=ansi must be enabled for -qalias=global to have an effect. Specifying noglobal disables type-based aliasing rules across compilation units. restrict | norestrict When restrict is in effect, optimizations for pointers qualified with the restrict keyword are enabled. Specifying norestrict disables optimizations for restrict-qualified pointers. -qalias=restrict is independent from other -qalias suboptions. typeptr | notypeptr Pointers to different types are never aliased if typeptr is specified, but may be aliased if notypeptr is specified.
Default: (C++) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr (C) -qalias=noaddrtaken:noallptrs:ansi:global:restrict:notypeptr for all invocation commands except cc. -qalias=noaddrtaken:noallptrs:noansi:global:restrict:notypeptr for the cc invocation command.
-qarch=<suboption> Specifies the general processor architecture for which the code (instructions) should be generated. In general, the -qarch option allows you to target a specific architecture for the compilation. For any given -qarch setting, the compiler defaults to a specific, matching -qtune setting, which can provide additional performance improvements. The suboptions are:
auto Automatically detects the specific architecture of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. 403 Produces object code containing instructions that will run on the PowerPC 403 hardware platform. 604 Produces an object that contains instructions that run on PowerPC 604 systems. pwr3 Produces an object that contains instructions that run on the POWER3 hardware platforms. pwr4 Produces an object that contains instructions that run on the POWER4 hardware platforms. pwr5 Produces an object that contains instructions that run on the POWER5 hardware platforms. pwr5x Produces an object that contains instructions that run on the POWER5+ hardware platforms. pwr6 Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 architected mode. If you would like support for decimal floating-point instructions, be sure to specify this suboption during compilation. pwr6e Produces object code containing instructions that will run on the POWER6 hardware platforms running in POWER6 raw mode. ppc Produces an object that contains instructions that run on any of the 32-bit PowerPC hardware platforms. Using -q64 with ppc upgrades the architecture to ppc64. ppc64 Produces object code that will run on any 64- bit PowerPC hardware platform. When compiled in 32-bit mode, the resulting object code may include instructions that are not recognized or behave differently when run on 32-bit PowerPC platforms. ppcgr In 32-bit mode, produces object code containing optional graphics instructions for PowerPC hardware platforms. In 64-bit mode, produces object code containing optional graphics instructions that will run on 64-bit PowerPC platforms, but not on 32-bit-only platforms. Using -q64 with ppcgr upgrades the architecture to ppc64gr. ppc64gr Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics instructions. ppc64grsq Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional graphics and square root instructions. ppc64v Produces object code that will run on any 64- bit PowerPC hardware platform that supports the optional vector instructions, such as a PowerPC 970. ppc970 Generates instructions specific to PowerPC 970 processors. rs64a Produces an object that contains instructions that run on an RS64I hardware platform. rs64b Produces an object that contains instructions that run on an RS64II hardware platform. rs64c Produces an object that contains instructions that run on an RS64III hardware platform.
Default: -qarch=ppc
-qcache=<suboptions_list> Describes the cache configuration for a specific target execution machine, where <suboptions_list> is a colon-separated list of one or more of the following suboptions:
assoc=<number> Specifies the set associativity of the cache, where <number> is one of the following: 0 Direct-mapped cache 1 Fully associative cache (number > 1) n-way set associative cache auto Automatically detects the specific cache configuration of the compiling machine. It assumes that the execution environment will be the same as the compilation environment. cost=<cycles> Specifies the performance penalty, in CPU cycles, resulting from a cache miss. level=<level> Specifies which level of cache is affected, where level is one of the following:: 1 Basic cache 2 Level-2 cache 3 Table Lookaside Buffer (TLB) If a machine has more than one level of cache, use a separate -qcache option. line=<bytes> Specifies the line size of the cache. size=<Kbytes> Specifies the total size of the cache. type=<cache_type> The settings apply to the specified type of cache, where <cache_type> is one of the following: C or c = Combined data and instruction cache D or d = Data cache I or i = Instruction cache
Default: The -qtune setting determines the optimal default -qcache settings for most typical compilations. -O4, -O5, or -qipa must be specified with the -qcache option.
-qcompact | -qnocompact Reduces code size where possible, at the expense of execution speed. Code size is reduced by inhibiting optimizations that replicate or expand code inline. This option takes effect only if -O2 or higher is also used.
Default: -qnocompact
-qdataimported[=<variable_names>] Specifies variables that the compiler can assume are imported. <variable_names> is a colon-separated list of variables. Specifying -qdataimported without <variable_names> instructs the compiler to assume that all variables are imported. This is equivalent to specifying -qnotocdata. (C++) Variable names must be specified using their mangled names.
-qdatalocal[=<variable_names>] Specifies variables that the compiler can assume are local. <variable_names> is a colon-separated list of variables. Specifying -qdatalocal with no variables instructs the compiler to assume that all variables are local. This is equivalent to specifying -qtocdata. (C++) Variable names must be specified using their mangled names.
-qtocdata | -qnotocdata Marks all data as local.
Default: -qnotocdata (marks all data as imported)
-qdirectstorage | -qnodirectstorage Informs the compiler that write-through-enabled or cache-inhibited storage may be referenced.
Default: -qnodirectstorage
-qenablevmx | -qnoenablevmx Enables the generation of vector instructions for processors that support them. These instructions can offer higher performance when used with algorithmic-intensive tasks such as multimedia applications. For -qenablevmx to have effect, the architecture specified by the -qarch option must support vector instructions. If -qnoenablevmx is in effect, -qaltivec, -qvecnvol, and -qhot=simd cannot be used.
Default: -qnoenablevmx
-qfdpr | -qnofdpr Collects information about programs for use with the IBM Feedback Directed Program Restructuring (FDPR) performance-tuning utility.
Default: -qnofdpr
-qhot[=<suboption>] | -qnohot Specifies whether or not to perform high-order transformations during optimization. The suboptions are:
arraypad[=<number>] | noarraypad When <number> is specified, the compiler will pad every array in the code. The pad amount must be a positive integer value. Otherwise, the compiler will pad any arrays where it infers that there may be a benefit. level={0|1} Specifies the level of high-order transformation to perform during compilation. 0 The compiler performs a subset of the high-order transformations. Some of these include early distribution, loop interchange, and loop tiling, as examples. Optimization level -O3 implies -qhot=level=0. 1 At level=1, full high-order transformation is performed. -qhot=level=1 is equivalent to -qhot and the compiler options that imply -qhot also imply -qhot=level=1, unless -qhot=level=0 is explicitly specified. simd | nosimd Converts certain operations in a loop that apply to successive elements of an array into a vector instruction. This call calculates several results at one time, which is faster than calculating each result sequentially. If you specify -qhot=nosimd, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with vector instructions. To enable -qhot=simd, you must specify an architecture that supports vector instructions. vector | novector When specified with -qnostrict and -qignerrno, or an optimization level of -O3 or higher (otherwise -qhot=vector has no effect), the compiler converts certain operations in a loop that apply to successive elements of an array into a call to a routine in the Mathematical Acceleration Subsystem (MASS) library, part of the libxlopt.a library. If you specify -qhot=novector, the compiler performs optimizations on loops and arrays, but avoids replacing certain code with calls to vector library routines.
Specifying -qhot without suboptions implies -qhot=nosimd, -qhot=noarraypad, -qhot=vector and -qhot=level=1. The -qhot option is also implied by -qsmp, -O4, and -O5.
Default: -qnohot
-qignerrno | -qnoignerrno Allows the compiler to perform optimizations that assume errno is not modified by system calls.
Default: -qnoignerrno
-qipa[=<suboptions_list>] | -qnoipa Turns on or customizes a class of optimizations known as interprocedural analysis (IPA). <suboptions_list> is a colon-separated list of the following suboptions:
clonearch=<arch_name> | noclonearch Specifies the architectures for which multiple versions of the same instruction set are produced, where <arch_name> is a comma- separated list of architecture names. Use this suboption if you require optimal performance on multiple differing machines running the same copy of your application. cloneproc=<function_name> | nocloneproc=<function_name> Specifies the name of the functions to clone for the architectures specified by the clonearch suboption, where <function_name> is a comma-separated list of function names. exits=<procedures> Specifies names of functions which represent program exits. <procedures> is a comma- separated list of procedures. infrequentlabel=<procedures> Specifies a comma-separated list of user- defined labels that are likely to be called infrequently during a program run. inline[=<suboption>] Specifying 'inline' with no suboption asserts that all appropriate procedures will be inlined. <suboption> can be one of the following: auto|noauto Enables or disables automatic function inlining by the high-level optimizer. When -qipa=inline=auto is in effect, the compiler considers all functions that are under the maximum size limit (see below) for inlining. When -qipa=inline=noauto is in effect, only procedures listed in the <procedures> suboption are considered for inlining. <procedures> Specifies a comma-separated list of procedures to attempt to inline. limit=<num> Specifies a limit on the size of a calling function after inlining. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 8192 by default. threshold=<num> Specifies the upper size limit on procedures to inline. This only takes effect when inline=auto is on. If you do not specify a value for <num>, <num> is 1024 by default. Default: auto noinline[=<procedures>] Specifies a comma-separated list of procedures which are not to be inlined. Specifying noinline without <procedures>, asserts that no procedures are to be inlined. isolated=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and do not directly refer to any global variable. level=<level> Determines the amount of IPA analysis and optimization performed, where <level> can be equal to: 0 Performs only minimal interprocedural analysis and optimization. 1 Turns on inlining, limited alias analysis, and limited call-site tailoring. 2 Full interprocedural data flow and alias analysis. Default: 1 list[={<file_name>|short|long}] Specifies an output listing file name during the link phase. The default name is "a.lst". Specifying 'long' or 'short' can be used to request more or less information in the listing file to determine which listing sections will be included. Default: short lowfreq=<procedures> Specifies a comma-separated list of procedures that are likely to be called infrequently during the course of a typical program run. malloc16 | nomalloc16 Informs the compiler that the dynamic memory allocation routines will return 16-byte aligned memory addresses. The compiler can then optimize the code based on that assertion. Default: -qipa=malloc16 missing={unknown|safe|isolated|pure} Specifies the default assumption for procedures not compiled with -qipa. unknown Greatly restricts the amount of interprocedural optimization for calls to unknown functions. safe Functions which do not indirectly call a visible (not missing) function either through direct call or function pointer. isolated Functions which do not directly reference global variables accessible to visible functions. pure Functions which are safe and isolated and which do not indirectly alter storage accessible to functions. Default: missing=unknown object | noobject Specifies whether to include standard object code in the object files. Specifying 'noobject' can substantially reduce overall compile time by not generating object code during the first IPA phase. partition={small|medium|large} Specifies the size of program sections that are analyzed together. Larger partitions may produce better analysis but require more storage. Default: partition=medium pure=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that are "isolated", "safe", and do not modify any data objects that are visible to the caller. safe=<procedures> Specifies a comma-separated list of procedures not compiled with -qipa and that do not call any other part of the program. threads[=<suboption>] | nothreads Runs portions of the IPA optimization process during pass 2 in parallel threads, which can speed up the linking process on multi- processor systems. <suboption> can be one of the following: auto | noauto When auto is in effect, the compiler selects a number of threads heuristically based on machine load. When noauto is in effect, the compiler spawns one thread per machine processor. <number> Instructs the compiler to use a specific number of threads. <number> can be any integer value in the range of 1 to 32767. However, <number> is effectively limited to the number of processors available on your system. Specifying threads with no suboptions implies threads=auto. Default: -qipa=threads unknown=<procedures> Specifies a comma-separated list of procedures that are not compiled with -qipa and that may update global variables and dummy arguments and call other parts of the program compiled with -qipa. <file_name> Specifies the name of a file that contains suboption information in a special format.
Regular expressions are supported when specifying procedure names for these suboptions: cloneproc, nocloneproc, exits, inline, noinline, isolated, lowfreq, pure, safe, unknown. (C++) In C++ programs, procedure names must be given in mangled form.
Default: -qnoipa -qipa=inline=auto:level=1:missing=unknown:partition=medium:threads=auto when -O4 is in effect. -qipa=inline=auto:level=2:missing=unknown:partition=medium:threads=auto when -O5 is in effect. -qipa=inline=auto:level=0:missing=unknown:partition=medium:threads=auto when -qpdf1 or -qpdf2 is in effect.
-qisolated_call=<procedures> Informs the compiler that specific functions do not have or rely on side effects, other than those implied by their parameters. <procedures> is a colon-separated list of function names.
-qlargepage | -qnolargepage Indicates that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on POWER4 and later systems.
Default: -qnolargepage
-qlibansi | -qnolibansi Assumes that all functions with the name of an ANSI C defined library function are, in fact, the library functions.
Default: -qnolibansi
-qmaxmem=<size> Limits the amount of memory used by certain memory-intensive optimizations to <size> kilobytes. When <size> is -1, the optimizer will use as much memory as needed.
Default: o -qmaxmem=8192 when -O2 level optimization is set. o -qmaxmem=-1 when -O3 level or greater optimization is set.
-qminimaltoc | -qnominimaltoc Avoids Table of Contents (TOC) overflow conditions by placing TOC entries into a separate data section for each object file. By default, the compiler will allocate at least one TOC entry for each unique non-automatic variable reference in your program.
Default: -qnominimaltoc
-O[<level>] Optimizes code at a choice of levels during compilation. This is equivalent to -qoptimize[=<level>]. <level> can be:
0 Performs only quick local optimizations such as constant folding and elimination of local common subexpressions. 2 Performs optimizations that the compiler developers considered the best combination for compilation speed and runtime performance. The optimizations may change from product release to release. 3 Performs some memory and compile-time intensive optimizations in addition to those executed with -O2. The -O3 specific optimizations have the potential to alter the semantics of a program. The compiler guards against these optimizations at -O2 and the option -qstrict is provided at -O3 to turn off these aggressive optimizations. Specifying -O3 implies -qhot=level=0. 4 This option is the same as -O3, but also: o sets the -qarch and -qtune options to the architecture of the compiling machine. o sets the -qcache option most appropriate to the characteristics of the compiling machine. 5 Equivalent to -O4 -qipa=level=2.
Specifying -O with no <level> is equivalent to specifying -O2.
Default: -O0
-qoptimize[=<level>] | -qnooptimize The long form of the -O option. -qoptimize=<level> is equivalent to -O<level>. See the -O option.
Default: -qnooptimize
-p, -pg, -qprofile={-p|-pg} Sets up the object files produced by the compiler for profiling. -pg is like -p, but it produces more extensive statistics.
-qpdf1[=pdfname=<file_path] | -qnopdf1 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf1 produces an object that is instrumented to collect runtime execution information. This is phase 1 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf1
-qpdf2[=pdfname=<file_path>] | -qnopdf2 Tunes optimizations through profile-directed feedback (PDF), where results from sample program execution are used to improve optimization near conditional branches and in frequently executed code sections. Used with a minimum optimization level of -O2, -qpdf2 tunes application performance using the data generated by running a program compiled with -qpdf1. This is phase 2 of the profile-directed feedback optimization process.
pdfname=<file_path> Specifies the location and name of the profile data file containing the PDF profiling information. Default: If you do not specify <file_path>, the default file name is ._pdf and the file is saved in the current working directory, or in the directory named by the PDFDIR environment variable, if it is set.
Default: -qnopdf2
-qprefetch | -qnoprefetch Enables generation of prefetching instructions such as dcbt and dcbz in compiled code.
Default: -qprefetch
-qprocimported[=<procedures>] | -qnoprocimported Specifies functions that the compiler can assume are imported. Imported functions are dynamically bound with a shared portion of a library. Code generated for calls to functions marked as imported may be larger, but is faster than the default code sequence generated for functions marked as unknown. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qproclocal[=<procedures>] | -qnoproclocal Specifies functions that the compiler can assume are local. Local functions are statically bound with the functions that call them; smaller, faster code is generated for calls to such functions. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-qprocunknown[=<procedures>] | -qnoprocunknown Specifies functions that the compiler can assume are unknown. Unknown functions are resolved to either statically or dynamically bound objects during linking. <procedures> is a colon-separated list of function identifiers. (C++) In C++ programs, function names must be specified using their mangled names.
-Q[<suboption>] (C++) Instructs the compiler to try to inline functions. Inlining is performed if possible but, depending on which optimizations are performed, some functions might not be inlined.
(C) Specifies which specific functions the compiler should attempt to inline. You must specify at least an optimization level of -O2 for inlining to take effect with -Q. To turn on inline expansion for calls to procedures in different scopes, you must also use the -qipa=inline.
(C++) In the C++ language, this option can take the form:
-Q Compiler inlines all functions that it can. -Q! Compiler does not inline any functions.
(C) In the C language, this option can take the form:
-Q Attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to the setting of any of the suboptions to the -Q option. If -Q is specified last, all functions are inlined. -Q! Does not inline any functions. If -Q! is specified last, no functions are inlined. -Q-<names> Does not inline functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. The option implies -Q. -Q+<names> Attempts to inline the functions listed in <names>, where <names> is a colon-separated list. All other appropriate functions are inlined. -Q=<threshold> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <threshold> for the function to be inlined.
Default: -Q!
-qinline[<suboption>] | -qnoinline Specifies whether to attempt to inline functions instead of generating calls to a function.
(C++) In C++, you cannot specify any suboptions. -qinline specifies that all appropriate functions should be inlined, and -qnoinline specifies that no functions should be inlined.
(C) In C, this option can take the following forms:
-qinline The compiler attempts to inline all appropriate functions with 20 executable source statements or fewer, subject to any other settings of the suboptions to the -qinline option. -qinline+<procedures> Attempts to inline the functions listed in <procedures> and any other appropriate functions, where <procedures> is a colon- separated list. -qinline-<procedures> Specifies that functions listed in <procedures> do not get inlined, where <procedures> is a colon-separated list. -qnoinline Does not inline any functions. -qinline=threshold=<num> Sets a size limit on the functions to be inlined. The number of executable statements must be less than or equal to <num> for the function to be inlined. <num> must be a positive integer.
Default: The default is to treat inline specifications as a hint to the compiler, and the result depends on other options that you select. If you specify the -g option (to generate debug information), inlining may be affected.
-qshowpdf | -qnoshowpdf Used with -qpdf1 and a minimum optimization level of -O2 to add additional call and block count profiling information to an executable.
Default: -qnoshowpdf
-qsmallstack | -qnosmallstack Reduces the size of the stack frame. This option is only valid when used together with IPA (-qipa, -O4, -O5 compiler options).
Default: -qnosmallstack
-qsmp[=<suboptions_list>] | -qnosmp Enables parallelization of program code. <suboptions_list> is a colon-separated list of one or more of the following suboptions:
auto | noauto Enables automatic parallelization and optimization. If noauto is specified, automatic parallelization of program code is disabled; only program code explicitly parallelized with OpenMP directives is optimized. Default: auto nested_par | nonested_par If nested_par is specified, prescriptive nested parallel constructs are parallelized by the compiler. Default: nonested_par omp | noomp Enables strict OpenMP compliance. Only OpenMP parallelization pragmas are recognized. Default: noomp opt | noopt Enables automatic parallelization but disables optimization of parallelized program code. If noopt is specified, optimization of parallelized program code is disabled. Default: opt rec_locks | norec_locks Specifies whether to use recursive locks. Default: norec_locks schedule=<type> Specifies what kinds of scheduling algorithms and chunking are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. <type> can be: o affinity[=<num>] o dynamic[=<num>] o guided[=<num>] o runtime o static[=<num>], where <num> is the number of loop iterations. Default: schedule=runtime stackcheck | nostackcheck Causes the compiler to check for stack overflow by slave threads at run time, and issue a warning if the remaining stack size is less than the number of bytes specified by the stackcheck option of the XLSMPOPTS environment variable. This suboption is intended for debugging purposes, and only takes effect when XLSMPOPTS=stackcheck is also set. Default: nostackcheck threshold[=<num>] When -qsmp=auto is in effect, controls the amount of automatic loop parallelization that occurs. The value of <num> represents the lower limit allowed for parallelization of a loop, based on the level of "work" present in a loop. Default: <num> must be a positive integer of 0 or greater. If you specify threshold with no suboption, the program uses a default value of 100.
Specifying -qsmp without suboptions is equivalent to -qsmp=auto:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100 or -qsmp=opt:explicit:noomp:norec_locks:nonested_par:schedule=runtime:nostackcheck:threshold=100.
Default: -qnosmp
-qspeculateabsolutes | -qnospeculateabsolutes Works with the -qtocmerge -bl:file for non-IPA links and with the -bl:file for IPA links to disable speculation at absolute addresses. The bl:file is necessary for the compiler to know which addresses are absolutes.
Default: -qspeculateabsolutes
-qstrict | -qnostrict Turns off aggressive optimizations which have the potential to alter the semantics of your program. -qstrict sets -qfloat=nofltint:norsqrt. -qnostrict sets -qfloat=rsqrt. This option is only valid with -O2 or higher optimization levels.
Default: o -qnostrict at -O3 or higher. o -qstrict otherwise.
-qstrict_induction | -qnostrict_induction Turns off loop induction variable optimizations that have the potential to alter the semantics of your program.
Default: o -qnostrict_induction at -O2 or higher. o -qstrict_induction otherwise.
-qtocmerge | -qnotocmerge Enables TOC merging to reduce TOC pointer loads and improves the scheduling of external loads. Reads from the file specified in -bImportfile linker option and merges the address information to access ranges of external addresses using a single table of contents entry.
Default: -qnotocmerge
-qtune=<suboption> Specifies the architecture system for which the executable program is optimized. <suboption> must be one of the following:
403 Generates object code optimized for all the PowerPC 403 processors. 604 Generates object code optimized for all the PowerPC 604 processors. auto Generates object code optimized for the hardware platform on which the program is compiled. balanced Optimizations are tuned across a selected range of recent hardware. ppc970 Generates instructions specific to PowerPC 970 hardware platforms. pwr3 Generates object code optimized for the POWER3 hardware platforms. pwr4 Generates object code optimized for the POWER4 hardware platforms. pwr5 Generates object code optimized for the POWER5 hardware platforms. pwr6 Generates object code optimized for the POWER6 hardware platforms. rs64a Generates object code optimized for the RS64I processor. rs64b Generates object code optimized for the RS64II processor. rs64c Generates object code optimized for the RS64III processor.
Default: -qtune=balanced when the default -qarch setting is in effect. Otherwise, the default depends on the effective -qarch setting.
-qunroll[=<suboption>] | -qnounroll Unrolls inner loops in the program. This can help improve program performance. The suboptions are:
auto Instructs the compiler to perform basic loop unrolling. yes Instructs the compiler to search for more opportunities for loop unrolling than that performed with auto. In general, this suboption is more likely to increase compile time or program size than auto processing, but it may also improve your application's performance. no Instructs the compiler to not unroll loops.
Default: -qunroll=auto
If -qunroll is specified with no suboptions, the compiler assumes -qunroll=yes. -qnounroll is equivalent to -qunroll=no.
-qunwind | -qnounwind Informs the compiler that the stack can be unwound while a routine in the compilation is active. Specifying -qnounwind can improve the optimization of non-volatile register saves and restores.
Default: -qunwind
Linking options -b{dynamic|shared|static} Controls how shared objects are processed by the linkage editor. The suboptions are:
dynamic, shared Causes the linker to process subsequent shared objects in dynamic mode. In dynamic mode, shared objects are not statically included in the output file. Instead, the shared objects are listed in the loader section of the output file. -bdynamic and -bshared are synonymous. static Causes the linker to process subsequent shared objects in static mode. In static mode, shared objects are statically linked in the output file.
Default: -bshared
-bmaxdata:<bytes> Specifies the maximum amount of space to reserve for the program data segment for programs where the size of these regions is a constraint. Combined data space is slightly less than 256MB, or lower, depending on the limits for the user ID.
Default: -bmaxdata:0
-brtl Controls runtime linking for the output file.
-qcrt | -qnocrt Instructs the linker to use the standard system startup files at link time.
Default: -qcrt
-e <name> Sets the entry name for a shared executable and is only used together with -qmkshrobj.
-f<file_name> Names a file to store a list of object files for the compiler to pass to the linker. The <file_name> file should contain only the names of object files. There should be one object file per line.
-L<dir> Searches the path directory for library files specified by the -l<key> option.
Default: The default is to search only the standard directories.
-l<key> Searches the file lib<key>.so and then lib<key>.a for dynamic linking, or only lib<key>.a for static linking.
Default: The default is to search only some of the compiler runtime libraries.
-qlib | -qnolib Specifies whether the compiler should use the standard system libraries at link time. -qnolib is similar to the gcc option nostdlib; the driver will not pass the standard system startup files or libraries when linking.
Default: -qlib
-qtwolink | -qnotwolink (C++) Links twice in order to minimize the number of static constructors included from libraries and object files.
Default: -qnotwolink
-Z<prefix> This linker option specifies a prefix for the library search path. This is useful when developing a new version of a library.
Portability and migration options -qalign=<suboption> Specifies what aggregate alignment rules the compiler uses for file compilation, where the alignment suboptions are:
bit_packed The compiler uses the bit_packed alignment rules. full The compiler uses the RISC System/6000 alignment rules. This is the same as power. mac68k The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the twobyte suboption. natural The compiler maps structure members to their natural boundaries. packed The compiler uses the packed alignment rules. power The compiler uses the RISC System/6000 alignment rules. twobyte The compiler uses the Macintosh alignment rules. This suboption is valid only for 32-bit compilations. It is the same as the mac68k suboption.
Default: -qalign=full
-qalignrulefor=power=[no]typedefrespectsrule (C++) When used with -qalign=power, determines whether a 4-byte alignment ceiling is applied to non-first members of structures that are of type typedef to array of element type that exceeds the alignment ceiling.
typedefrespectsrule | notypedefrespectsrule When typedefrespectsrule is in effect, the member follows the normal alignment rules for -qalign=power. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V6.0 and earlier. When notypedefrespectsrule is in effect, a member that exceeds the alignment ceiling of 4 bytes is aligned on 4-byte boundaries. This suboption provides compatibility with code compiled with -qalign=power with XL C++ V7.0 and V8.0.
Default: -qalignrulefor=power=typedefrespectsrule
-qgenproto[=parmnames] | -qnogenproto (C) Generates ANSI prototypes from K&R function definitions and displays them on standard output. Specifying -qgenproto without '=parmnames' will cause prototypes to be generated without parameter names.
Default: -qnogenproto
-qnamemangling=<scheme> (C++) Chooses the name mangling scheme for external symbol names generated from C++ source code. The <scheme> can be:
ansi Fully supports the most recent language features of Standard C++. v9 Compatible with XL C++ V9.0. v8 Compatible with XL C++ V8.0. v7 Compatible with XL C++ V7.0. v6 Compatible with VisualAge C++ V6.0. v5 The scheme for VisualAge C++ V5.0. v4 The scheme for VisualAge C++ V4.0. v3 The scheme for VisualAge C++ releases before V4.0. compat Same as v3.
Default: -qnamemangling=ansi
-qobjmodel={classic|ibm} (C++) Specifies the object model.
classic This object model is compatible with version 3.6 of the IBM C and C++ compilers. ibm Uses the object model introduced with version 5.0 of VisualAge C++ for AIX. Objects compiled with this object model will use less memory and have better performance for deep inheritance with virtual bases.
Default: -qobjmodel=classic
-qoldpassbyvalue | -qnooldpassbyvalue (C++) Specifies how classes containing const or reference members are passed in function arguments. All classes in the compilation unit are affected by this option. When -qoldpassbyvalue is specified, the compiler mimics the IBM C/C++ compilers v3.6 compiler in that when a class containing a const or reference member is passed as a function argument, it is not passed by value. All such classes in the compilation unit are affected.
Default: -qnooldpassbyvalue
-qupconv | -qnoupconv (C) Preserves the unsigned specification when performing integral promotions.
Default: o -qupconv when -qlanglvl={extended|classic}. o -qnoupconv otherwise.
-qvecnvol | -qnovecnvol Specifies whether to use volatile or non-volatile vector registers. Volatile vector registers are registers whose value is not preserved across function calls or in the context of save, jump or switch system library functions. If -qnoenablevmx is enabled, this option is ignored.
Default: -qnovecnvol
Compiler customization options -qasm_as=<asm_path> [<flags_list>] Specifies the path and flags used to invoke the assembler in order to handle assembler code in an asm statement. <asm_path> is the full path to the assembler to be used, and <flags_list> is a series of one or more flags (and their arguments), separated by spaces. Single quotes (or double quotes) are required around the string of arguments if any spaces exist.
-B[<prefix>] Determines substitute path names for programs used during compilation, such as the compiler, assembler, linkage editor, and preprocessor, where <prefix> can be any program name recognized by the -t compiler option. The optional <prefix> defines part of a path name to the new programs. The -t parameter, <program>, specifies the program to which the <prefix> is to be appended. When specifying <prefix>, there must be a slash (/) after the folder name.
-qc_stdinc=<paths_list> (C) Changes the standard search location for the XL C headers. <paths_list> is a colon-separated list of paths to search.
-qcpp_stdinc=<paths_list> (C++) Specifies the standard search directories for the XL C++ headers, where <paths_list> is a colon- separated list of paths.
-F[<config_file>][:<stanza>] Names an alternative configuration file (.cfg) for the compiler. <config_file> is the name of a compiler configuration file. <stanza> is the name of the command used to invoke the compiler. This directs the compiler to use the entries under <stanza> in the <config_file> to set up the compiler environment. At least one of the arguments must be supplied.
-qpath=<program>:<path> Constructs alternate program names for compiler components. The program and directory path specified are used in place of the regular program. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-qspill=<size> Specifies the size of the register allocation spill area in bytes.
Default: -qspill=512
-t<programs_list> Applies the prefix from the -B option to the specified programs in <programs_list>. <programs_list> is a chain (i.e: -tbcI) of one or more of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = C++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = Linkage helper (C++ only) p = Preprocessor
-W<program>,<options_list> Gives the specified option(s) to the compiler program, <program>. <options_list> is a comma- separated list of one or more options. <program> can be one of the following:
a = Assembler b = Low-level optimizer c = Compiler front end C = C++ compiler front end d = Disassembler E = CreateExportList utility f = c++filt utility I = High-level optimizer - compile step L = High-level optimizer - link step l = Linker m = linkage helper (C++ only) p = Preprocessor
SEE ALSO gxlc(1), gxlc++(1), c++filt(1), CreateExportList(1), linkxlC(1), makeC++SharedLib(1), vacndi(1), vacppndi(1), showpdf(1), mergepdf(1), resetpdf(1), cleanpdf(1).
For more information, refer to the following Web sites: http://www.ibm.com/software/awdtools/xlcpp/library/ http://www.ibm.com/software/awdtools/xlcpp/support/
COPYRIGHT Licensed Materials - Property of IBM.
IBM XL C/C++ Enterprise Edition for AIX, V9.0.
5724-S71
Copyright IBM Corp. 1991, 2007. All Rights Reserved.
AIX, IBM, POWER3, POWER4, POWER5, POWER5+, POWER6, PowerPC, PowerPC 604 and SAA are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.
Windows is a trademarks of Microsoft Corporation in the United States, other countries, or both.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
rm /ptmp/ddvento/xlcW0qxaiia rm /ptmp/ddvento/xlcW1qxaiib rm /ptmp/ddvento/xlcW2qxaiic configure:23238: $? = 249 configure:23241: checking whether we are using the GNU C++ compiler configure:23294: result: no configure:23303: checking whether xlC accepts -g configure:23441: result: yes configure:23466: checking dependency style of xlC configure:23557: result: aix configure:23580: checking how to run the C++ preprocessor configure:23694: result: xlC -E configure:23723: xlC -E -I/contrib/gmp-4.3.1//include conftest.cpp configure:23730: $? = 0 configure:23761: xlC -E -I/contrib/gmp-4.3.1//include conftest.cpp "conftest.cpp", line 89.10: 1540-0836 (S) The #include file <ac_nonexistent.h> is not found. configure:23768: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:23980: checking for objdir configure:23995: result: .libs configure:24346: checking for xlc option to produce PIC configure:24618: result: -DPIC configure:24630: checking if xlc PIC flag -DPIC works configure:24648: xlc -c -g -O2 -I/contrib/gmp-4.3.1//include -DPIC -DPIC conftest.c >&5 configure:24652: $? = 0 configure:24665: result: yes configure:24689: checking if xlc static flag -bnso -bI:/lib/syscalls.exp works configure:24717: result: no configure:24732: checking if xlc supports -c -o file.o configure:24753: xlc -c -g -O2 -I/contrib/gmp-4.3.1//include -o out/conftest2.o conftest.c >&5 configure:24757: $? = 0 configure:24779: result: yes configure:24787: checking if xlc supports -c -o file.o configure:24834: result: yes configure:24867: checking whether the xlc linker (/usr/bin/ld) supports shared libraries configure:25401: xlc -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.c >&5 configure:25408: $? = 0 configure:25941: result: yes configure:26180: checking dynamic linker characteristics configure:26863: result: aix5.3.0.0 ld.so configure:26965: checking how to hardcode library paths into programs configure:26990: result: immediate configure:27113: checking for shl_load configure:27169: xlc -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:27176: $? = 8 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | /* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load. | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | #define shl_load innocuous_shl_load | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char shl_load (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | | #undef shl_load | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char shl_load (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_shl_load || defined __stub___shl_load | choke me | #endif | | int | main () | { | return shl_load (); | ; | return 0; | } configure:27196: result: no configure:27201: checking for shl_load in -ldld configure:27236: xlc -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.c -ldld >&5 ld: 0706-006 Cannot find or open library file: -l dld ld:open(): No such file or directory configure:27243: $? = 255 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char shl_load (); | int | main () | { | return shl_load (); | ; | return 0; | } configure:27264: result: no configure:27269: checking for dlopen configure:27325: xlc -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.c >&5 configure:27332: $? = 0 configure:27352: result: yes configure:27597: checking whether a program can dlopen itself configure:27667: xlc -o conftest -g -O2 -I/contrib/gmp-4.3.1//include -DHAVE_DLFCN_H -Wl,-bexpall conftest.c >&5 configure:27670: $? = 0 configure:27688: result: yes configure:27693: checking whether a statically linked program can dlopen itself configure:27763: xlc -o conftest -g -O2 -I/contrib/gmp-4.3.1//include -DHAVE_DLFCN_H -Wl,-bexpall conftest.c >&5 configure:27766: $? = 0 configure:27784: result: yes configure:27823: checking whether stripping libraries is possible configure:27845: result: no configure:27863: checking if libtool supports shared libraries configure:27865: result: yes configure:27868: checking whether to build shared libraries configure:27889: result: yes configure:27892: checking whether to build static libraries configure:27896: result: no configure:28192: checking whether the xlC linker (/usr/bin/ld) supports shared libraries configure:28386: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:28393: $? = 0 configure:29167: result: yes configure:29195: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:29198: $? = 0 configure:29380: checking for xlC option to produce PIC configure:29697: result: -DPIC configure:29706: checking if xlC PIC flag -DPIC works configure:29724: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -DPIC -DPIC conftest.cpp >&5 configure:29728: $? = 0 configure:29741: result: yes configure:29762: checking if xlC static flag -bnso -bI:/lib/syscalls.exp works configure:29790: result: no configure:29802: checking if xlC supports -c -o file.o configure:29823: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include -o out/conftest2.o conftest.cpp >&5 configure:29827: $? = 0 configure:29849: result: yes configure:29854: checking if xlC supports -c -o file.o configure:29901: result: yes configure:29931: checking whether the xlC linker (/usr/bin/ld) supports shared libraries configure:29957: result: yes configure:30094: checking dynamic linker characteristics configure:30725: result: aix5.3.0.0 ld.so configure:30776: checking how to hardcode library paths into programs configure:30801: result: immediate configure:30879: checking for md5sum configure:30895: found /usr/bin/md5sum configure:30906: result: md5sum configure:30925: checking for the text md5sum command configure:30933: result: md5sum -t configure:30964: checking glpk.h usability configure:30981: xlc -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.c >&5 "conftest.c", line 123.10: 1506-296 (S) #include file <glpk.h> not found. configure:30988: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <glpk.h> configure:31002: result: no configure:31006: checking glpk.h presence configure:31021: xlc -E -I/contrib/gmp-4.3.1//include conftest.c "conftest.c", line 90.10: 1506-296 (S) #include file <glpk.h> not found. configure:31028: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <glpk.h> configure:31042: result: no configure:31075: checking for glpk.h configure:31084: result: no configure:30964: checking glpk/glpk.h usability configure:30981: xlc -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.c >&5 "conftest.c", line 123.10: 1506-296 (S) #include file <glpk/glpk.h> not found. configure:30988: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <glpk/glpk.h> configure:31002: result: no configure:31006: checking glpk/glpk.h presence configure:31021: xlc -E -I/contrib/gmp-4.3.1//include conftest.c "conftest.c", line 90.10: 1506-296 (S) #include file <glpk/glpk.h> not found. configure:31028: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <glpk/glpk.h> configure:31042: result: no configure:31075: checking for glpk/glpk.h configure:31084: result: no configure:31418: checking whether RLIMIT_DATA is declared configure:31452: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:31459: $? = 0 configure:31474: result: yes configure:31490: checking whether RLIMIT_RSS is declared configure:31524: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:31531: $? = 0 configure:31546: result: yes configure:31562: checking whether RLIMIT_VMEM is declared configure:31596: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 "conftest.cpp", line 102.10: 1540-0274 (S) The name lookup for "RLIMIT_VMEM" did not find a declaration. configure:31603: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | /* end confdefs.h. */ | | #ifdef HAVE_SYS_RESOURCE_H | # include <sys/resource.h> | #endif | | | int | main () | { | #ifndef RLIMIT_VMEM | (void) RLIMIT_VMEM; | #endif | | ; | return 0; | } configure:31618: result: no configure:31634: checking whether RLIMIT_AS is declared configure:31668: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:31675: $? = 0 configure:31690: result: yes configure:31709: checking whether getrusage is declared configure:31746: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:31753: $? = 0 configure:31768: result: yes configure:31788: checking for timeval configure:31816: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:31823: $? = 0 configure:31850: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 "conftest.cpp", line 131.22: 1540-0063 (S) The text ")" is unexpected. configure:31857: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | #define HAVE_DECL_RLIMIT_VMEM 0 | #define HAVE_DECL_RLIMIT_AS 1 | #define HAVE_DECL_GETRUSAGE 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((timeval))) | return 0; | ; | return 0; | } configure:31880: result: yes configure:31891: checking for siginfo_t configure:31922: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:31929: $? = 0 configure:31959: xlC -c -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 "conftest.cpp", line 103.24: 1540-0063 (S) The text ")" is unexpected. configure:31966: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | #define HAVE_DECL_RLIMIT_VMEM 0 | #define HAVE_DECL_RLIMIT_AS 1 | #define HAVE_DECL_GETRUSAGE 1 | #define HAVE_TIMEVAL 1 | /* end confdefs.h. */ | | #include <signal.h> | | | int | main () | { | if (sizeof ((siginfo_t))) | return 0; | ; | return 0; | } configure:31989: result: yes configure:32013: checking whether we can limit memory in C++ using setrlimit() configure:32099: xlC -o conftest -g -O2 -I/contrib/gmp-4.3.1//include conftest.cpp >&5 configure:32103: $? = 0 configure:32109: ./conftest configure:32113: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define typeof __typeof__ | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | #define HAVE_DECL_RLIMIT_VMEM 0 | #define HAVE_DECL_RLIMIT_AS 1 | #define HAVE_DECL_GETRUSAGE 1 | #define HAVE_TIMEVAL 1 | #define HAVE_SIGINFO_T 1 | /* end confdefs.h. */ | | #include <stdexcept> | | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | | #ifdef HAVE_SYS_TIME_H | # include <sys/time.h> | #endif | | #ifdef HAVE_SYS_RESOURCE_H | // This should be included after <time.h> and <sys/time.h> so as to make | // sure we have the definitions for, e.g., ru_utime. | # include <sys/resource.h> | #endif | | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | | #define LIMIT(WHAT) do { if (getrlimit(WHAT, &t) != 0) return false; t.rlim_cur = bytes; if (setrlimit(WHAT, &t) != 0) return false; } while (0) | | bool | limit_memory(unsigned long bytes) { | struct rlimit t; | #if HAVE_DECL_RLIMIT_DATA | // Limit heap size. | LIMIT(RLIMIT_DATA); | #endif | #if HAVE_DECL_RLIMIT_RSS | // Limit resident set size. | LIMIT(RLIMIT_RSS); | #endif | #if HAVE_DECL_RLIMIT_VMEM | // Limit mapped memory (brk + mmap). | LIMIT(RLIMIT_VMEM); | #endif | #if HAVE_DECL_RLIMIT_AS | // Limit virtual memory. | LIMIT(RLIMIT_AS); | #endif | return true; | } | | int | main() try { | if (!limit_memory(10000)) | return 1; | (void) new char[20000]; | return 1; | } | catch (std::bad_alloc) { | return 0; | } | catch (...) { | return 1; | } | configure:32124: result: no configure:32652: creating ./config.status
## ---------------------- ## ## Running config.status. ## ## ---------------------- ##
This file was extended by the Parma Polyhedra Library config.status 0.10.2, which was generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status
on be1005en.ucar.edu
config.status:1353: creating Makefile config.status:1353: creating ppl.lsm config.status:1353: creating src/Makefile config.status:1353: creating src/version.hh config.status:1353: creating src/ppl-config.cc config.status:1353: creating tests/Makefile config.status:1353: creating tests/BD_Shape/Makefile config.status:1353: creating tests/Box/Makefile config.status:1353: creating tests/Grid/Makefile config.status:1353: creating tests/MIP_Problem/Makefile config.status:1353: creating tests/Octagonal_Shape/Makefile config.status:1353: creating tests/Partially_Reduced_Product/Makefile config.status:1353: creating tests/Polyhedron/Makefile config.status:1353: creating tests/Powerset/Makefile config.status:1353: creating utils/Makefile config.status:1353: creating m4/Makefile config.status:1353: creating demos/Makefile config.status:1353: creating demos/ppl_lcdd/Makefile config.status:1353: creating demos/ppl_lcdd/examples/Makefile config.status:1353: creating demos/ppl_lpsol/Makefile config.status:1353: creating demos/ppl_lpsol/examples/Makefile config.status:1353: creating doc/Makefile config.status:1353: creating doc/user.doxyconf-latex config.status:1353: creating doc/devref.doxyconf-latex config.status:1353: creating doc/user.doxyconf-html config.status:1353: creating doc/devref.doxyconf-html config.status:1353: creating doc/user-language-interface.doxyconf config.status:1353: creating doc/devref-language-interface.doxyconf config.status:1353: creating interfaces/Makefile config.status:1353: creating interfaces/C/Makefile config.status:1353: creating interfaces/C/ppl_c_version.h config.status:1353: creating interfaces/C/tests/Makefile config.status:1353: creating interfaces/Java/Makefile config.status:1353: creating interfaces/Java/jni/Makefile config.status:1353: creating interfaces/Java/tests/Makefile config.status:1353: creating interfaces/Java/parma_polyhedra_library/Makefile config.status:1353: creating interfaces/OCaml/Makefile config.status:1353: creating interfaces/OCaml/tests/Makefile config.status:1353: creating interfaces/Prolog/Makefile config.status:1353: creating interfaces/Prolog/Ciao/Makefile config.status:1353: creating interfaces/Prolog/GNU/Makefile config.status:1353: creating interfaces/Prolog/SICStus/Makefile config.status:1353: creating interfaces/Prolog/SWI/Makefile config.status:1353: creating interfaces/Prolog/XSB/Makefile config.status:1353: creating interfaces/Prolog/YAP/Makefile config.status:1353: creating interfaces/Prolog/tests/Makefile config.status:1353: creating config.h config.status:1627: executing depfiles commands config.status:1627: executing libtool commands configure:35242: === configuring in Watchdog (/ptmp/ddvento/install/ppl-0.10.2/Watchdog) configure:35345: running /bin/sh ./configure --disable-option-checking '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC' --cache-file=/dev/null --srcdir=.
## ---------------- ## ## Cache variables. ## ## ---------------- ##
ac_cv_build=powerpc-ibm-aix5.3.0.0 ac_cv_c_bigendian=yes ac_cv_c_compiler_gnu=no ac_cv_c_const=yes ac_cv_c_inline=inline ac_cv_c_typeof=__typeof__ ac_cv_can_control_fpu=1 ac_cv_cxx_compiler_gnu=no ac_cv_cxx_has_remainder_bug=yes ac_cv_env_CCC_set='' ac_cv_env_CCC_value='' ac_cv_env_CC_set=set ac_cv_env_CC_value=xlc ac_cv_env_CFLAGS_set='' ac_cv_env_CFLAGS_value='' ac_cv_env_CPPFLAGS_set='' ac_cv_env_CPPFLAGS_value='' ac_cv_env_CPP_set='' ac_cv_env_CPP_value='' ac_cv_env_CXXCPP_set='' ac_cv_env_CXXCPP_value='' ac_cv_env_CXXFLAGS_set='' ac_cv_env_CXXFLAGS_value='' ac_cv_env_CXX_set=set ac_cv_env_CXX_value=xlC ac_cv_env_LDFLAGS_set='' ac_cv_env_LDFLAGS_value='' ac_cv_env_LIBS_set='' ac_cv_env_LIBS_value='' ac_cv_env_M4_set='' ac_cv_env_M4_value='' ac_cv_env_build_alias_set='' ac_cv_env_build_alias_value='' ac_cv_env_host_alias_set='' ac_cv_env_host_alias_value='' ac_cv_env_target_alias_set='' ac_cv_env_target_alias_value='' ac_cv_func_dlopen=yes ac_cv_func_setitimer=yes ac_cv_func_shl_load=no ac_cv_gmp_supports_exceptions=yes ac_cv_have_decl_RLIMIT_AS=yes ac_cv_have_decl_RLIMIT_DATA=yes ac_cv_have_decl_RLIMIT_RSS=yes ac_cv_have_decl_RLIMIT_VMEM=no ac_cv_have_decl_ffs=yes ac_cv_have_decl_fma=yes ac_cv_have_decl_fmaf=yes ac_cv_have_decl_fmal=yes ac_cv_have_decl_getenv=yes ac_cv_have_decl_getrusage=yes ac_cv_have_decl_rintf=yes ac_cv_have_decl_rintl=yes ac_cv_have_decl_strtod=yes ac_cv_have_decl_strtof=yes ac_cv_have_decl_strtold=yes ac_cv_have_decl_strtoll=yes ac_cv_have_decl_strtoull=yes ac_cv_have_gmp=yes ac_cv_header_dlfcn_h=yes ac_cv_header_fenv_h=yes ac_cv_header_getopt_h=no ac_cv_header_glpk_glpk_h=no ac_cv_header_glpk_h=no ac_cv_header_ieeefp_h=no ac_cv_header_inttypes_h=yes ac_cv_header_memory_h=yes ac_cv_header_signal_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_resource_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_time_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_host=powerpc-ibm-aix5.3.0.0 ac_cv_javac_supports_enums=yes ac_cv_lib_dld_shl_load=no ac_cv_libgmp_cppflags=-I/contrib/gmp-4.3.1//include ac_cv_libgmp_libs=/contrib/gmp-4.3.1//lib/libgmp.a ac_cv_libgmp_ltlibs='-L/contrib/gmp-4.3.1//lib -lgmp' ac_cv_libgmpxx_cppflags='' ac_cv_libgmpxx_libs='/contrib/gmp-4.3.1//lib/libgmpxx.a /contrib/gmp-4.3.1//lib/libgmp.a' ac_cv_libgmpxx_ltlibs='-L/contrib/gmp-4.3.1//lib -lgmpxx -L/contrib/gmp-4.3.1//lib -lgmp' ac_cv_member___mpz_struct__mp_alloc=yes ac_cv_member___mpz_struct__mp_d=yes ac_cv_member___mpz_struct__mp_size=yes ac_cv_objext=o ac_cv_path_EGREP='/usr/local/bin//grep -E' ac_cv_path_FGREP='/usr/local/bin//grep -F' ac_cv_path_GREP=/usr/local/bin//grep ac_cv_path_JAR=/usr/java5//bin/jar ac_cv_path_JAVA=/usr/java5//bin/java ac_cv_path_JAVAC=/usr/java5//bin/javac ac_cv_path_JAVAH=/usr/java5//bin/javah ac_cv_path_M4=/usr/local/bin//m4 ac_cv_path_PERL=/usr/bin/perl ac_cv_path_SED=/usr/bin/sed ac_cv_path_install='/usr/local/bin//install -c' ac_cv_path_mkdir=/usr/local/bin//mkdir ac_cv_prog_AWK=nawk ac_cv_prog_CPP='xlc -E' ac_cv_prog_CXXCPP='xlC -E' ac_cv_prog_MD5SUM=md5sum ac_cv_prog_ac_ct_AR=ar ac_cv_prog_ac_ct_CC=xlc ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_c89='' ac_cv_prog_cc_g=yes ac_cv_prog_cxx_g=yes ac_cv_prog_gnu_m4_debugfile=--debugfile ac_cv_prog_java_works=yes ac_cv_prog_make_make_set=yes ac_cv_prog_text_md5sum='md5sum -t' ac_cv_prog_uudecode=yes ac_cv_prog_uudecode_base64=yes ac_cv_sizeof_char=1 ac_cv_sizeof_double=8 ac_cv_sizeof_float=4 ac_cv_sizeof_fp=8 ac_cv_sizeof_int=4 ac_cv_sizeof_intp=8 ac_cv_sizeof_long=8 ac_cv_sizeof_long_double=8 ac_cv_sizeof_long_long=8 ac_cv_sizeof_mp_limb_t=8 ac_cv_sizeof_short=2 ac_cv_sizeof_size_t=8 ac_cv_type_int_fast16_t=yes ac_cv_type_int_fast32_t=yes ac_cv_type_int_fast64_t=yes ac_cv_type_siginfo_t=yes ac_cv_type_timeval=yes ac_cv_type_uint_fast16_t=yes ac_cv_type_uint_fast32_t=yes ac_cv_type_uint_fast64_t=yes acl_cv_hardcode_direct=yes acl_cv_hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/vac/lib:/usr/lib:/lib ' acl_cv_hardcode_libdir_separator=: acl_cv_hardcode_minus_L=no acl_cv_libext=a acl_cv_libname_spec='lib$name' acl_cv_library_names_spec='$libname$shrext' acl_cv_path_LD=/usr/bin/ld acl_cv_prog_gnu_ld=no acl_cv_rpath=done acl_cv_shlibext=so acl_cv_wl=-Wl, am_cv_CC_dependencies_compiler_type=aix am_cv_CXX_dependencies_compiler_type=aix am_cv_prog_tar_ustar=gnutar lt_cv_deplibs_check_method=pass_all lt_cv_dlopen=dlopen lt_cv_dlopen_libs='' lt_cv_dlopen_self=yes lt_cv_dlopen_self_static=yes lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file='' lt_cv_ld_reload_flag=-r lt_cv_nm_interface='BSD nm' lt_cv_objdir=.libs lt_cv_path_LD=/usr/bin/ld lt_cv_path_LDCXX='' lt_cv_path_NM='/usr/bin/nm -B' lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_c_o_CXX=yes lt_cv_prog_compiler_pic_works=yes lt_cv_prog_compiler_pic_works_CXX=yes lt_cv_prog_compiler_static_works=no lt_cv_prog_compiler_static_works_CXX=no lt_cv_prog_gnu_ld=no lt_cv_prog_gnu_ldcxx='' lt_cv_sys_global_symbol_pipe='sed -n -e '''s/^.*[ ]([BCDT][BCDT]*)[ ][ ]*([_A-Za-z][_A-Za-z0-9]*)$/\1 \2 \2/p'' lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '''s/^: ([^ ]*) $/ {"\1", (void *) 0},/p''' -e '''s/^[BCDT]* ([^ ]*) ([^ ]*)$/ {"\2", (void *) &\2},/p'' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '''s/^: ([^ ]*) $/ {"\1", (void *) 0},/p''' -e '''s/^[BCDT]* ([^ ]*) (lib[^ ]*)$/ {"\2", (void *) &\2},/p''' -e '''s/^[BCDT]* ([^ ]*) ([^ ]*)$/ {"lib\2", (void *) &\2},/p'' lt_cv_sys_global_symbol_to_cdecl='sed -n -e '''s/^T .* (.*)$/extern int \1();/p''' -e '''s/^[BCDT]* .* (.*)$/extern char \1;/p'' lt_cv_sys_max_cmd_len=307200
## ----------------- ## ## Output variables. ## ## ----------------- ##
ACLOCAL='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run aclocal-1.10' AMDEPBACKSLASH='' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run tar' AR='ar' ASSERTIONS_ENABLED_FALSE='' ASSERTIONS_ENABLED_TRUE='#' AUTOCONF='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run autoconf' AUTOHEADER='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run autoheader' AUTOMAKE='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run automake-1.10' AWK='nawk' BUILD_CIAO_PROLOG_INTERFACE_FALSE='' BUILD_CIAO_PROLOG_INTERFACE_TRUE='#' BUILD_CXX_INTERFACE_FALSE='#' BUILD_CXX_INTERFACE_TRUE='' BUILD_C_INTERFACE_FALSE='#' BUILD_C_INTERFACE_TRUE='' BUILD_GNU_PROLOG_INTERFACE_FALSE='' BUILD_GNU_PROLOG_INTERFACE_TRUE='#' BUILD_JAVA_INTERFACE_FALSE='#' BUILD_JAVA_INTERFACE_TRUE='' BUILD_OCAML_INTERFACE_FALSE='' BUILD_OCAML_INTERFACE_TRUE='#' BUILD_PPL_LCDD_FALSE='#' BUILD_PPL_LCDD_TRUE='' BUILD_PPL_LPSOL_FALSE='#' BUILD_PPL_LPSOL_TRUE='' BUILD_SICSTUS_PROLOG_INTERFACE_FALSE='' BUILD_SICSTUS_PROLOG_INTERFACE_TRUE='#' BUILD_SOME_PROLOG_INTERFACES_FALSE='' BUILD_SOME_PROLOG_INTERFACES_TRUE='#' BUILD_SWI_PROLOG_INTERFACE_FALSE='' BUILD_SWI_PROLOG_INTERFACE_TRUE='#' BUILD_WATCHDOG_LIBRARY_FALSE='#' BUILD_WATCHDOG_LIBRARY_TRUE='' BUILD_XSB_PROLOG_INTERFACE_FALSE='' BUILD_XSB_PROLOG_INTERFACE_TRUE='#' BUILD_YAP_PROLOG_INTERFACE_FALSE='' BUILD_YAP_PROLOG_INTERFACE_TRUE='#' CAN_CONTROL_FPU_FALSE='#' CAN_CONTROL_FPU_TRUE='' CC='xlc' CCDEPMODE='depmode=aix' CFLAGS=' -g -O2 ' CIAO_PROLOG='' CIAO_PROLOG_INCLUDE_OPTIONS='' CONFIGURE_OPTIONS='' CPP='xlc -E' CPPFLAGS='-I/contrib/gmp-4.3.1//include' CXX='xlC' CXXCPP='xlC -E' CXXDEPMODE='depmode=aix' CXXFLAGS=' -g -O2 ' CYGPATH_W='echo' DEBUGGING_ENABLED_FALSE='#' DEBUGGING_ENABLED_TRUE='' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' DSYMUTIL='' DUMPBIN='' ECHO_C='\c' ECHO_N='' ECHO_T='' EGREP='/usr/local/bin//grep -E' ENABLE_SHARED_FALSE='#' ENABLE_SHARED_TRUE='' ENABLE_STATIC_FALSE='' ENABLE_STATIC_TRUE='#' EXEEXT='' FGREP='/usr/local/bin//grep -F' GCC_FALSE='' GCC_TRUE='#' GNU_PROLOG='' GREP='/usr/local/bin//grep' HAVE_GLPK_FALSE='' HAVE_GLPK_TRUE='#' HAVE_MD5SUM_FALSE='#' HAVE_MD5SUM_TRUE='' HAVE_OCAMLC_FALSE='' HAVE_OCAMLC_TRUE='#' HAVE_OCAMLOPT_FALSE='' HAVE_OCAMLOPT_TRUE='#' HAVE_PERL_FALSE='#' HAVE_PERL_TRUE='' HOST_CPU_X86_64_FALSE='' HOST_CPU_X86_64_TRUE='#' HOST_OS_CYGWIN_FALSE='' HOST_OS_CYGWIN_TRUE='#' HOST_OS_DARWIN_FALSE='' HOST_OS_DARWIN_TRUE='#' HOST_OS_MINGW_FALSE='' HOST_OS_MINGW_TRUE='#' HOST_OS_SOLARIS_FALSE='' HOST_OS_SOLARIS_TRUE='#' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' ISODATE='2009-09-08' JAR='/usr/java5//bin/jar' JAVA='/usr/java5//bin/java' JAVAC='/usr/java5//bin/javac' JAVAH='/usr/java5//bin/javah' JNIFLAGS='-I/usr/java5//include -I/usr/java5//include/aix' LD='/usr/bin/ld' LDFLAGS='' LIBEXT='a' LIBGMP='/contrib/gmp-4.3.1//lib/libgmp.a' LIBGMPXX='/contrib/gmp-4.3.1//lib/libgmpxx.a /contrib/gmp-4.3.1//lib/libgmp.a' LIBOBJS='' LIBS='' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIPO='' LN_S='ln -s' LTLIBGMP='-L/contrib/gmp-4.3.1//lib -lgmp' LTLIBGMPXX='-L/contrib/gmp-4.3.1//lib -lgmpxx -L/contrib/gmp-4.3.1//lib -lgmp' LTLIBOBJS='' M4='/usr/local/bin//m4' M4_DEBUGFILE='--debugfile' MAKEINFO='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run makeinfo' MD5SUM='md5sum' MKDIR_P='/usr/local/bin//mkdir -p' NM='/usr/bin/nm -B' NMEDIT='' NO_UNDEFINED_FALSE='' NO_UNDEFINED_TRUE='#' OBJDUMP='false' OBJEXT='o' OCAMLC='' OCAMLOPT='' OTOOL64='' OTOOL='' PACKAGE='ppl' PACKAGE_BUGREPORT='ppl-devel@cs.unipr.it' PACKAGE_NAME='the Parma Polyhedra Library' PACKAGE_STRING='the Parma Polyhedra Library 0.10.2' PACKAGE_TARNAME='ppl' PACKAGE_VERSION='0.10.2' PATH_SEPARATOR=':' PERL='/usr/bin/perl' PPL_VERSION_BETA='0' PPL_VERSION_MAJOR='0' PPL_VERSION_MINOR='10' PPL_VERSION_REVISION='2' RANLIB='ranlib' SED='/usr/bin/sed' SET_MAKE='' SHELL='/bin/sh' SHREXT='.so' SICSTUS_PROLOG_INCLUDE_OPTIONS='' STRIP='strip' SUPPORTED_DOUBLE_FALSE='' SUPPORTED_DOUBLE_TRUE='#' SUPPORTED_FLOAT_FALSE='' SUPPORTED_FLOAT_TRUE='#' SUPPORTED_LONG_DOUBLE_FALSE='' SUPPORTED_LONG_DOUBLE_TRUE='#' SWI_PROLOG='' SWI_PROLOG_INCLUDE_OPTIONS='' SWI_PROLOG_LD_OPTIONS='' TEXT_MD5SUM='md5sum -t' THOROUGH_MAKE_CHECK_FALSE='' THOROUGH_MAKE_CHECK_TRUE='#' USE_CHECKED_INTEGERS_FALSE='' USE_CHECKED_INTEGERS_TRUE='#' USE_GMP_INTEGERS_FALSE='#' USE_GMP_INTEGERS_TRUE='' USE_INT16_FALSE='' USE_INT16_TRUE='#' USE_INT32_FALSE='' USE_INT32_TRUE='#' USE_INT64_FALSE='' USE_INT64_TRUE='#' USE_INT8_FALSE='' USE_INT8_TRUE='#' USE_NATIVE_INTEGERS_FALSE='' USE_NATIVE_INTEGERS_TRUE='#' USE_PRECOMPILED_HEADERS_FALSE='' USE_PRECOMPILED_HEADERS_TRUE='#' VALGRIND='' VALGRIND_TESTS_ENABLED_FALSE='' VALGRIND_TESTS_ENABLED_TRUE='#' VERSION='0.10.2' XSB_PROLOG_INCLUDE_OPTIONS='' YAP_PROLOG='' ac_ct_CC='xlc' ac_ct_CXX='' ac_ct_DUMPBIN='' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='#' am__fastdepCXX_FALSE='' am__fastdepCXX_TRUE='#' am__include='include' am__isrc='' am__leading_dot='.' am__quote='' am__tar='gtar --format=ustar -chf - "$$tardir"' am__untar='gtar -xf -' bindir='${exec_prefix}/bin' build='powerpc-ibm-aix5.3.0.0' build_alias='' build_cpu='powerpc' build_os='aix5.3.0.0' build_vendor='ibm' ciao_prolog='' coefficient_mnemonic='mpz' datadir='${datarootdir}' datarootdir='${prefix}/share' debug_flag='-DNDEBUG=1' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='${prefix}' extra_includes='' extra_libraries=' -lm -L/contrib/gmp-4.3.1//lib -lgmpxx -L/contrib/gmp-4.3.1//lib -lgmp' host='powerpc-ibm-aix5.3.0.0' host_alias='' host_cpu='powerpc' host_os='aix5.3.0.0' host_vendor='ibm' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='$(SHELL) /ptmp/ddvento/install/ppl-0.10.2/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' lt_ECHO='/usr/local/bin//echo' mandir='${datarootdir}/man' mkdir_p='/usr/local/bin//mkdir -p' mlgmp_dir='+gmp' ocamlc_root='' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/contrib/ppl-0.10.2' program_transform_name='s,x,x,' psdir='${docdir}' required_instantiations='Polyhedron@Grid@Rational_Box@BD_Shape<mpz_class>@BD_Shape<mpq_class>@Octagonal_Shape<mpz_class>@Octagonal_Shape<mpq_class>@Constraints_Product<C_Polyhedron,Grid>@Pointset_Powerset<C_Polyhedron>@Pointset_Powerset<NNC_Polyhedron>' required_instantiations_c_cxx_headers='ppl_c_Polyhedron.hh ppl_c_Grid.hh ppl_c_Rational_Box.hh ppl_c_BD_Shape_mpz_class.hh ppl_c_BD_Shape_mpq_class.hh ppl_c_Octagonal_Shape_mpz_class.hh ppl_c_Octagonal_Shape_mpq_class.hh ppl_c_Constraints_Product_C_Polyhedron_Grid.hh ppl_c_Pointset_Powerset_C_Polyhedron.hh ppl_c_Pointset_Powerset_NNC_Polyhedron.hh' required_instantiations_c_cxx_objects='ppl_c_Polyhedron.lo ppl_c_Grid.lo ppl_c_Rational_Box.lo ppl_c_BD_Shape_mpz_class.lo ppl_c_BD_Shape_mpq_class.lo ppl_c_Octagonal_Shape_mpz_class.lo ppl_c_Octagonal_Shape_mpq_class.lo ppl_c_Constraints_Product_C_Polyhedron_Grid.lo ppl_c_Pointset_Powerset_C_Polyhedron.lo ppl_c_Pointset_Powerset_NNC_Polyhedron.lo' required_instantiations_c_cxx_sources='ppl_c_Polyhedron.cc ppl_c_Grid.cc ppl_c_Rational_Box.cc ppl_c_BD_Shape_mpz_class.cc ppl_c_BD_Shape_mpq_class.cc ppl_c_Octagonal_Shape_mpz_class.cc ppl_c_Octagonal_Shape_mpq_class.cc ppl_c_Constraints_Product_C_Polyhedron_Grid.cc ppl_c_Pointset_Powerset_C_Polyhedron.cc ppl_c_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_canonical_names='Polyhedron@Grid@Rational_Box@BD_Shape_mpz_class@BD_Shape_mpq_class@Octagonal_Shape_mpz_class@Octagonal_Shape_mpq_class@Constraints_Product_C_Polyhedron_Grid@Pointset_Powerset_C_Polyhedron@Pointset_Powerset_NNC_Polyhedron' required_instantiations_java_classes='Polyhedron.class C_Polyhedron.class NNC_Polyhedron.class Grid.class Rational_Box.class BD_Shape_mpz_class.class BD_Shape_mpq_class.class Octagonal_Shape_mpz_class.class Octagonal_Shape_mpq_class.class Constraints_Product_C_Polyhedron_Grid.class Pointset_Powerset_C_Polyhedron.class Pointset_Powerset_C_Polyhedron_Iterator.class Pointset_Powerset_NNC_Polyhedron.class Pointset_Powerset_NNC_Polyhedron_Iterator.class' required_instantiations_java_cxx_headers='parma_polyhedra_library.Polyhedron parma_polyhedra_library.C_Polyhedron parma_polyhedra_library.NNC_Polyhedron parma_polyhedra_library.Grid parma_polyhedra_library.Rational_Box parma_polyhedra_library.BD_Shape_mpz_class parma_polyhedra_library.BD_Shape_mpq_class parma_polyhedra_library.Octagonal_Shape_mpz_class parma_polyhedra_library.Octagonal_Shape_mpq_class parma_polyhedra_library.Constraints_Product_C_Polyhedron_Grid parma_polyhedra_library.Pointset_Powerset_C_Polyhedron parma_polyhedra_library.Pointset_Powerset_C_Polyhedron_Iterator parma_polyhedra_library.Pointset_Powerset_NNC_Polyhedron parma_polyhedra_library.Pointset_Powerset_NNC_Polyhedron_Iterator' required_instantiations_java_cxx_headers_sources='parma_polyhedra_library_Polyhedron.h parma_polyhedra_library_C_Polyhedron.h parma_polyhedra_library_NNC_Polyhedron.h parma_polyhedra_library_Grid.h parma_polyhedra_library_Rational_Box.h parma_polyhedra_library_BD_Shape_mpz_class.h parma_polyhedra_library_BD_Shape_mpq_class.h parma_polyhedra_library_Octagonal_Shape_mpz_class.h parma_polyhedra_library_Octagonal_Shape_mpq_class.h parma_polyhedra_library_Constraints_Product_C_Polyhedron_Grid.h parma_polyhedra_library_Pointset_Powerset_C_Polyhedron.h parma_polyhedra_library_Pointset_Powerset_C_Polyhedron_Iterator.h parma_polyhedra_library_Pointset_Powerset_NNC_Polyhedron.h parma_polyhedra_library_Pointset_Powerset_NNC_Polyhedron_Iterator.h' required_instantiations_java_cxx_objects='ppl_java_Polyhedron.lo ppl_java_Grid.lo ppl_java_Rational_Box.lo ppl_java_BD_Shape_mpz_class.lo ppl_java_BD_Shape_mpq_class.lo ppl_java_Octagonal_Shape_mpz_class.lo ppl_java_Octagonal_Shape_mpq_class.lo ppl_java_Constraints_Product_C_Polyhedron_Grid.lo ppl_java_Pointset_Powerset_C_Polyhedron.lo ppl_java_Pointset_Powerset_NNC_Polyhedron.lo' required_instantiations_java_cxx_sources='ppl_java_Polyhedron.cc ppl_java_Grid.cc ppl_java_Rational_Box.cc ppl_java_BD_Shape_mpz_class.cc ppl_java_BD_Shape_mpq_class.cc ppl_java_Octagonal_Shape_mpz_class.cc ppl_java_Octagonal_Shape_mpq_class.cc ppl_java_Constraints_Product_C_Polyhedron_Grid.cc ppl_java_Pointset_Powerset_C_Polyhedron.cc ppl_java_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_java_sources='Polyhedron.java C_Polyhedron.java NNC_Polyhedron.java Grid.java Rational_Box.java BD_Shape_mpz_class.java BD_Shape_mpq_class.java Octagonal_Shape_mpz_class.java Octagonal_Shape_mpq_class.java Constraints_Product_C_Polyhedron_Grid.java Pointset_Powerset_C_Polyhedron.java Pointset_Powerset_C_Polyhedron_Iterator.java Pointset_Powerset_NNC_Polyhedron.java Pointset_Powerset_NNC_Polyhedron_Iterator.java' required_instantiations_ocaml_cxx_headers='ppl_ocaml_Polyhedron.hh ppl_ocaml_Grid.hh ppl_ocaml_Rational_Box.hh ppl_ocaml_BD_Shape_mpz_class.hh ppl_ocaml_BD_Shape_mpq_class.hh ppl_ocaml_Octagonal_Shape_mpz_class.hh ppl_ocaml_Octagonal_Shape_mpq_class.hh ppl_ocaml_Constraints_Product_C_Polyhedron_Grid.hh ppl_ocaml_Pointset_Powerset_C_Polyhedron.hh ppl_ocaml_Pointset_Powerset_NNC_Polyhedron.hh' required_instantiations_ocaml_cxx_objects='ppl_ocaml_Polyhedron.o ppl_ocaml_Grid.o ppl_ocaml_Rational_Box.o ppl_ocaml_BD_Shape_mpz_class.o ppl_ocaml_BD_Shape_mpq_class.o ppl_ocaml_Octagonal_Shape_mpz_class.o ppl_ocaml_Octagonal_Shape_mpq_class.o ppl_ocaml_Constraints_Product_C_Polyhedron_Grid.o ppl_ocaml_Pointset_Powerset_C_Polyhedron.o ppl_ocaml_Pointset_Powerset_NNC_Polyhedron.o' required_instantiations_ocaml_cxx_sources='ppl_ocaml_Polyhedron.cc ppl_ocaml_Grid.cc ppl_ocaml_Rational_Box.cc ppl_ocaml_BD_Shape_mpz_class.cc ppl_ocaml_BD_Shape_mpq_class.cc ppl_ocaml_Octagonal_Shape_mpz_class.cc ppl_ocaml_Octagonal_Shape_mpq_class.cc ppl_ocaml_Constraints_Product_C_Polyhedron_Grid.cc ppl_ocaml_Pointset_Powerset_C_Polyhedron.cc ppl_ocaml_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_prolog_cxx_headers='ppl_prolog_Polyhedron.hh ppl_prolog_Grid.hh ppl_prolog_Rational_Box.hh ppl_prolog_BD_Shape_mpz_class.hh ppl_prolog_BD_Shape_mpq_class.hh ppl_prolog_Octagonal_Shape_mpz_class.hh ppl_prolog_Octagonal_Shape_mpq_class.hh ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh ppl_prolog_Pointset_Powerset_C_Polyhedron.hh ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh' required_instantiations_prolog_cxx_objects='ppl_prolog_Polyhedron.lo ppl_prolog_Grid.lo ppl_prolog_Rational_Box.lo ppl_prolog_BD_Shape_mpz_class.lo ppl_prolog_BD_Shape_mpq_class.lo ppl_prolog_Octagonal_Shape_mpz_class.lo ppl_prolog_Octagonal_Shape_mpq_class.lo ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo ppl_prolog_Pointset_Powerset_C_Polyhedron.lo ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' required_instantiations_prolog_cxx_sources='ppl_prolog_Polyhedron.cc ppl_prolog_Grid.cc ppl_prolog_Rational_Box.cc ppl_prolog_BD_Shape_mpz_class.cc ppl_prolog_BD_Shape_mpq_class.cc ppl_prolog_Octagonal_Shape_mpz_class.cc ppl_prolog_Octagonal_Shape_mpq_class.cc ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc ppl_prolog_Pointset_Powerset_C_Polyhedron.cc ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_prolog_generated_test_sources='ppl_prolog_generated_test_Polyhedron.pl ppl_prolog_generated_test_Grid.pl ppl_prolog_generated_test_Rational_Box.pl ppl_prolog_generated_test_BD_Shape_mpz_class.pl ppl_prolog_generated_test_BD_Shape_mpq_class.pl ppl_prolog_generated_test_Octagonal_Shape_mpz_class.pl ppl_prolog_generated_test_Octagonal_Shape_mpq_class.pl ppl_prolog_generated_test_Constraints_Product_C_Polyhedron_Grid.pl ppl_prolog_generated_test_Pointset_Powerset_C_Polyhedron.pl ppl_prolog_generated_test_Pointset_Powerset_NNC_Polyhedron.pl' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sicstus_prolog='' subdirs=' Watchdog' swi_prolog='' sysconfdir='${prefix}/etc' target_alias='' uudecode='yes' xsb_prolog=''
## ----------- ## ## confdefs.h. ## ## ----------- ##
#define PACKAGE_NAME "the Parma Polyhedra Library" #define PACKAGE_TARNAME "ppl" #define PACKAGE_VERSION "0.10.2" #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2' '--with-libgmp-prefix=/contrib/gmp-4.3.1/' '--with-java=/usr/java5/' '--enable-cxx' 'CC=xlc' 'CXX=xlC'" #define PPL_NDEBUG 1 #define PPL_FPMATH_MAY_USE_387 1 #define PPL_FPMATH_MAY_USE_SSE 1 #define PPL_COEFFICIENT_TYPE mpz_class #define PPL_COEFFICIENT_BITS 0 #define PPL_GMP_INTEGERS 1 #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define WORDS_BIGENDIAN 1 #define HAVE_TYPEOF 1 #define typeof __typeof__ #define SIZEOF_CHAR 1 #define SIZEOF_SHORT 2 #define SIZEOF_INT 4 #define SIZEOF_LONG 8 #define SIZEOF_LONG_LONG 8 #define SIZEOF_SIZE_T 8 #define SIZEOF_FLOAT 4 #define SIZEOF_DOUBLE 8 #define SIZEOF_LONG_DOUBLE 8 #define SIZEOF_INTP 8 #define SIZEOF_FP 8 #define HAVE_FENV_H 1 #define PPL_CAN_CONTROL_FPU 1 #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 #define PPL_SUPPORTED_FLOAT 0 #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 #define PPL_SUPPORTED_DOUBLE 0 #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 #define PPL_SUPPORTED_LONG_DOUBLE 0 #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 #define PPL_CXX_HAS_REMAINDER_BUG 1 #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 #define HAVE_FENV_H 1 #define HAVE_SIGNAL_H 1 #define HAVE_STRING_H 1 #define HAVE_STRINGS_H 1 #define HAVE_SYS_RESOURCE_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DECL_FFS 1 #define HAVE_DECL_GETENV 1 #define HAVE_DECL_STRTOF 1 #define HAVE_DECL_STRTOD 1 #define HAVE_DECL_STRTOLD 1 #define HAVE_DECL_STRTOLL 1 #define HAVE_DECL_STRTOULL 1 #define HAVE_DECL_FMA 1 #define HAVE_DECL_FMAF 1 #define HAVE_DECL_FMAL 1 #define HAVE_DECL_RINTF 1 #define HAVE_DECL_RINTL 1 #define HAVE_INT_FAST16_T 1 #define HAVE_INT_FAST32_T 1 #define HAVE_INT_FAST64_T 1 #define HAVE_UINT_FAST16_T 1 #define HAVE_UINT_FAST32_T 1 #define HAVE_UINT_FAST64_T 1 #define SIZEOF_MP_LIMB_T 8 #define PPL_GMP_SUPPORTS_EXCEPTIONS 1 #define HAVE___MPZ_STRUCT__MP_ALLOC 1 #define HAVE___MPZ_STRUCT__MP_SIZE 1 #define HAVE___MPZ_STRUCT__MP_D 1 #define HAVE_SETITIMER 1 #define PPL_WATCHDOG_LIBRARY_ENABLED 1 #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/" #define HAVE_DECL_RLIMIT_DATA 1 #define HAVE_DECL_RLIMIT_RSS 1 #define HAVE_DECL_RLIMIT_VMEM 0 #define HAVE_DECL_RLIMIT_AS 1 #define HAVE_DECL_GETRUSAGE 1 #define HAVE_TIMEVAL 1 #define HAVE_SIGINFO_T 1 #define PPL_CXX_SUPPORTS_LIMITING_MEMORY 0
configure: exit 0
gmake all-recursive gmake[1]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2' Making all in . gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2' /usr/bin/sed -f ./ppl-config.sed config.h >ppl-config.h gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2' Making all in utils gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/utils' source='timings.cc' object='timings.o' libtool=no \ DEPDIR=.deps depmode=aix /bin/sh ../depcomp \ xlC -DHAVE_CONFIG_H -I. -I.. -I/contrib/gmp-4.3.1//include -g -O2 -c -o timings.o timings.cc rm -f libppl_utils.a ar cru libppl_utils.a timings.o ranlib libppl_utils.a /usr/bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./build_header.in > build_header chmod +x build_header /usr/bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./text2cxxarray.in > text2cxxarray chmod +x text2cxxarray gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/utils' Making all in src gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/src' for file in namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ; \ do \ i="#include "$file"" ; \ ( cd ../src ; /usr/local/bin//grep -F -q "$i" namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ) || echo "$i" ; \ done > ppl_include_files.hh ../utils/build_header \ -I .. -I ../src \ ../src/ppl_header.hh >ppl.hh ../utils/text2cxxarray --name=BUGS_array \ ../BUGS >BUGS.cc ../utils/text2cxxarray --name=COPYING_array \ ../COPYING >COPYING.cc ../utils/text2cxxarray --name=CREDITS_array \ ../CREDITS >CREDITS.cc gmake all-am gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/src' source='Box.cc' object='Box.lo' libtool=yes \ DEPDIR=.deps depmode=aix /bin/sh ../depcomp \ /bin/sh ../libtool --tag=CXX --mode=compile xlC -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/contrib/gmp-4.3.1//include -g -O2 -c -o Box.lo Box.cc libtool: compile: xlC -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/contrib/gmp-4.3.1//include -g -O2 -c -M Box.cc -DPIC -o .libs/Box.o "Row.defs.hh", line 88.46: 1540-0063 (S) The text "Row_Impl_Handler" is unexpected. "Linear_Row.defs.hh", line 124.52: 1540-0063 (S) The text "Row" is unexpected. "Linear_Expression.defs.hh", line 236.60: 1540-0063 (S) The text "Linear_Row" is unexpected. "Linear_System.defs.hh", line 54.55: 1540-0063 (S) The text "Matrix" is unexpected. "Constraint_System.defs.hh", line 127.60: 1540-0063 (S) The text "Linear_System" is unexpected. "Constraint.defs.hh", line 260.53: 1540-0063 (S) The text "Linear_Row" is unexpected. "Congruence_System.defs.hh", line 120.60: 1540-0063 (S) The text "Matrix" is unexpected. "Congruence.defs.hh", line 210.53: 1540-0063 (S) The text "Row" is unexpected. "Variables_Set.defs.hh", line 47.21: 1540-0274 (S) The name lookup for "dimension_type" did not find a declaration. "Generator_System.defs.hh", line 183.61: 1540-0063 (S) The text "Linear_System" is unexpected. "Generator.defs.hh", line 243.52: 1540-0063 (S) The text "Linear_Row" is unexpected. "Grid_Generator_System.defs.hh", line 178.13: 1540-0063 (S) The text "Generator_System" is unexpected. "Grid_Generator.defs.hh", line 227.57: 1540-0063 (S) The text "Generator" is unexpected. "C_Polyhedron.defs.hh", line 58.54: 1540-0063 (S) The text "Polyhedron" is unexpected. "Interval_Restriction.defs.hh", line 55.31: 1540-0064 (S) Syntax error: ")" was expected but "," was found. "Linear_Row.inlines.hh", line 260.32: 1540-0216 (S) An expression of type "const Parma_Polyhedra_Library::Linear_Row" cannot be converted to type "const Parma_Polyhedra_Library::Row &". "Linear_Row.inlines.hh", line 260.62: 1540-0216 (S) An expression of type "const Parma_Polyhedra_Library::Linear_Row" cannot be converted to type "const Parma_Polyhedra_Library::Row &". "Linear_Expression.inlines.hh", line 140.4: 1540-0218 (S) The call does not match any parameter list for "operator[]". "Linear_Expression.inlines.hh", line 147.4: 1540-0218 (S) The call does not match any parameter list for "operator[]". gmake[3]: *** [Box.lo] Error 1 gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/src' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/src' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2' gmake: *** [all] Error 2

Davide Del Vento wrote:
Folks, I am trying to compile the latest PPL on bluefire, an IBM Power6 running AIX 5.3, with IBM's compiler xlc/xlC (http://www.cisl.ucar.edu/docs/bluefire/be_quickstart.html#software)
Unfortunately, while the configure script is happy (see config.log for details), the compilation fails as described in the attached make.log and I have no clues about it.
Note that before it was failing with the following one, which I believe was due to a different make version being used, but might be the first culprit (I have the make.log for this too but I'm not sending it right now):
/usr/bin/sed -f ./ppl-config.sed >ppl-config.h "../ppl-config.h", line 1.0: 1540-0809 (W) The source file is empty.
Do you have any recommendations about what I can do to fix the issue?
Hi Davide,
looking at config.log, I gather you are using C and C++ compilers called xlc and xlC, respectively. We never compiled the PPL using those, but this should not be a problem as long as they implement a large enough fragment of the C and C++ standards.
Looking at make.log, I see something strange is happening. The first errors, that is,
"Row.defs.hh", line 88.46: 1540-0063 (S) The text "Row_Impl_Handler" is unexpected. "Linear_Row.defs.hh", line 124.52: 1540-0063 (S) The text "Row" is unexpected. "Linear_Expression.defs.hh", line 236.60: 1540-0063 (S) The text "Linear_Row" is unexpected. "Linear_System.defs.hh", line 54.55: 1540-0063 (S) The text "Matrix" is unexpected. "Constraint_System.defs.hh", line 127.60: 1540-0063 (S) The text "Linear_System" is unexpected. "Constraint.defs.hh", line 260.53: 1540-0063 (S) The text "Linear_Row" is unexpected. "Congruence_System.defs.hh", line 120.60: 1540-0063 (S) The text "Matrix" is unexpected.
would be explained if you were including some funny header file doing
#define private #define public
I know, this is crazy, but how else could the text "Row_Impl_Handler" be unexpected in the lines
class Parma_Polyhedra_Library::Row : private Row_Impl_Handler {
and
class Parma_Polyhedra_Library::Linear_Row : public Row {
?
Do you have the option of compiling with GCC 4.0.3 or later version? Otherwise, please use the -E option of your compiler to inspect the preprocessor output, and check how the two lines above are transformed.
PS: I speak Italian, but I'm not sure if this list is read just by Italian, despite its .it domain.
This is an English-language mailing list indeed. All the best,
Roberto

Thanks for your message!
xlc and xlC are the IBM's compilers for c and c++ respectively. They do support several standards: http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=/co...
and sometimes are more nitpicking than gcc about the standards, as I believe it's happening here. Anyway, I was able to remove several of those errors with the enclosed patch. Can you please have a look at it just to be sure that I didn't change what ppl was supposed to do? Unfortunately, though, the problem is NOT solved, since there are other (possibly similar) problems that you can see in the make.log Do you have any clue about them?
Compiling with gcc is possible, but there will be several linking problems with other libraries that I eventually need to link together (gcc binaries are not-linkable with xlC binaries).
Thanks again Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233 mobile: (720) 240-1704 email: ddvento@ucar.edu
On 09/10/2009 12:46 AM Roberto Bagnara wrote:
Davide Del Vento wrote:
Folks, I am trying to compile the latest PPL on bluefire, an IBM Power6 running AIX 5.3, with IBM's compiler xlc/xlC (http://www.cisl.ucar.edu/docs/bluefire/be_quickstart.html#software)
Unfortunately, while the configure script is happy (see config.log for details), the compilation fails as described in the attached make.log and I have no clues about it.
Note that before it was failing with the following one, which I believe was due to a different make version being used, but might be the first culprit (I have the make.log for this too but I'm not sending it right now):
/usr/bin/sed -f ./ppl-config.sed >ppl-config.h "../ppl-config.h", line 1.0: 1540-0809 (W) The source file is empty.
Do you have any recommendations about what I can do to fix the issue?
Hi Davide,
looking at config.log, I gather you are using C and C++ compilers called xlc and xlC, respectively. We never compiled the PPL using those, but this should not be a problem as long as they implement a large enough fragment of the C and C++ standards.
Looking at make.log, I see something strange is happening. The first errors, that is,
"Row.defs.hh", line 88.46: 1540-0063 (S) The text "Row_Impl_Handler" is unexpected. "Linear_Row.defs.hh", line 124.52: 1540-0063 (S) The text "Row" is unexpected. "Linear_Expression.defs.hh", line 236.60: 1540-0063 (S) The text "Linear_Row" is unexpected. "Linear_System.defs.hh", line 54.55: 1540-0063 (S) The text "Matrix" is unexpected. "Constraint_System.defs.hh", line 127.60: 1540-0063 (S) The text "Linear_System" is unexpected. "Constraint.defs.hh", line 260.53: 1540-0063 (S) The text "Linear_Row" is unexpected. "Congruence_System.defs.hh", line 120.60: 1540-0063 (S) The text "Matrix" is unexpected.
would be explained if you were including some funny header file doing
#define private #define public
I know, this is crazy, but how else could the text "Row_Impl_Handler" be unexpected in the lines
class Parma_Polyhedra_Library::Row : private Row_Impl_Handler {
and
class Parma_Polyhedra_Library::Linear_Row : public Row {
?
Do you have the option of compiling with GCC 4.0.3 or later version? Otherwise, please use the -E option of your compiler to inspect the preprocessor output, and check how the two lines above are transformed.
PS: I speak Italian, but I'm not sure if this list is read just by Italian, despite its .it domain.
This is an English-language mailing list indeed. All the best,
Roberto
make all-recursive Making all in . Target "all-am" is up to date. Making all in utils Target "all" is up to date. Making all in src for file in namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ; do i="#include "$file"" ; ( cd ../src ; /usr/local/bin//grep -F -q "$i" namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ) || echo "$i" ; done > ppl_include_files.hh ../utils/build_header -I .. -I ../src ../src/ppl_header.hh >ppl.hh make all-am source='Box.cc' object='Box.lo' libtool=yes DEPDIR=.deps depmode=aix /bin/sh ../depcomp /bin/sh ../libtool --tag=CXX --mode=compile xlC -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/contrib/gmp-4.3.1//include -g -O2 -c -o Box.lo Box.cc libtool: compile: xlC -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I/contrib/gmp-4.3.1//include -g -O2 -c -M Box.cc -DPIC -o .libs/Box.o "Interval_Restriction.defs.hh", line 55.31: 1540-0064 (S) Syntax error: ")" was expected but "," was found. "Variables_Set.inlines.hh", line 55.12: 1540-0218 (S) The call does not match any parameter list for "operator==". "Checked_Number.inlines.hh", line 595.13: 1540-1283 (I) "template <class T1, class T2> Parma_Polyhedra_Library::operator==(const T1 &, const T2 &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.12: 1540-0130 (I) "type" is not declared. "Variables_Set.inlines.hh", line 55.12: 1540-0700 (I) The previous message was produced while processing "operator==". "Row.defs.hh", line 352.6: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Row &, const Row &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Row &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Linear_Row.inlines.hh", line 258.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Linear_Row &, const Linear_Row &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Linear_Row &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Matrix.defs.hh", line 355.6: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Matrix &, const Matrix &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Matrix &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Linear_System.defs.hh", line 415.6: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Linear_System &, const Linear_System &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Linear_System &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Bit_Row.defs.hh", line 40.6: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Bit_Row &, const Bit_Row &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Bit_Row &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Constraint_System.defs.hh", line 52.6: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Polyhedron &, const Polyhedron &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Polyhedron &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Constraint.inlines.hh", line 135.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Constraint &, const Constraint &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Constraint &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Constraint.inlines.hh", line 147.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Linear_Expression &, const Linear_Expression &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Linear_Expression &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Constraint.inlines.hh", line 157.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Variable, const Variable)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Variable" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Constraint.inlines.hh", line 245.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Linear_Expression &, Coefficient_traits::const_reference)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Linear_Expression &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Constraint.inlines.hh", line 211.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(Coefficient_traits::const_reference, const Linear_Expression &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const __gmp_expr<__mpz_struct [1],__mpz_struct [1]> &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "Box.templates.hh", line 527.1: 1540-1283 (I) "template <class ITV> Parma_Polyhedra_Library::operator==(const Box<ITV> &, const Box<ITV> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const Box<ITV> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "Congruence.inlines.hh", line 139.1: 1540-1283 (I) "Parma_Polyhedra_Library::operator==(const Congruence &, const Congruence &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0256 (I) A parameter of type "const Parma_Polyhedra_Library::Congruence &" cannot be initialized with an expression of type "std::set<unsigned long,std::less<unsigned long>,std::allocator<unsigned long> >::reverse_iterator". "/usr/vacpp/include/utility", line 86.14: 1540-1283 (I) "template <class _T1, class _T2> std::operator==(const pair<_T1,_T2> &, const pair<_T1,_T2> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const pair<_T1,_T2> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/xutility", line 316.14: 1540-1283 (I) "template <class _Ty, class _D, class _Pt, class _Rt, class _Pt2, class _Rt2> std::operator==(const _Ptrit<_Ty,_D,_Pt,_Rt,_Pt,_Rt> &, const _Ptrit<_Ty,_D,_Pt2,_Rt2,_Pt,_Rt> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const _Ptrit<_Ty,_D,_Pt,_Rt,_Pt,_Rt> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/xutility", line 433.14: 1540-1283 (I) "template <class _RI> std::operator==(const reverse_iterator<_RI> &, const reverse_iterator<_RI> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.12: 1540-0290 (I) The function template parameter "_RI" has been found to have two values: "std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator" and "std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::const_iterator". "/usr/vacpp/include/xutility", line 548.14: 1540-1283 (I) "template <class _E, class _Tr> std::operator==(const istreambuf_iterator<_E,_Tr> &, const istreambuf_iterator<_E,_Tr> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const istreambuf_iterator<_E,_Tr> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/xmemory", line 430.14: 1540-1283 (I) "template <class _Ty, class _U> std::operator==(const allocator<_Ty> &, const allocator<_U> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const allocator<_Ty> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/string", line 107.14: 1540-1283 (I) "template <class _E, class _Tr, class _A> std::operator==(const basic_string<_E,_Tr,_A> &, const basic_string<_E,_Tr,_A> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const basic_string<_E,_Tr,_A> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/string", line 111.14: 1540-1283 (I) "template <class _E, class _Tr, class _A> std::operator==(const _E *, const basic_string<_E,_Tr,_A> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const _E *" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/string", line 115.14: 1540-1283 (I) "template <class _E, class _Tr, class _A> std::operator==(const basic_string<_E,_Tr,_A> &, const _E *)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const basic_string<_E,_Tr,_A> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/iterator", line 192.14: 1540-1283 (I) "template <class _Ty, class _E, class _Tr, class _Dist> std::operator==(const istream_iterator<_Ty,_E,_Tr,_Dist> &, const istream_iterator<_Ty,_E,_Tr,_Dist> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const istream_iterator<_Ty,_E,_Tr,_Dist> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/vector", line 800.14: 1540-1283 (I) "template <class _Ty, class _A> std::operator==(const vector<_Ty,_A> &, const vector<_Ty,_A> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const vector<_Ty,_A> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/xtree", line 453.14: 1540-1283 (I) "template <class _Tr> std::operator==(const _Tree<_Tr> &, const _Tree<_Tr> &)" is not a viable candidate. "Variables_Set.inlines.hh", line 55.10: 1540-0288 (I) The function template parameter of type "const _Tree<_Tr> &" cannot be initialized with an argument of type "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>". "/usr/vacpp/include/xutility", line 377.19: 1540-1260 (S) An object of type "std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator" cannot be constructed from an rvalue of type "std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::const_iterator". "/usr/vacpp/include/xutility", line 376.17: 1540-0700 (I) The previous message was produced while processing "std::reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::iterator>::reverse_iterator(const reverse_iterator<std::_Tree<std::_Tset_traits<unsigned long,std::less<unsigned long>,std::allocator<unsigned long>,0> >::const_iterator> &)". "Variables_Set.inlines.hh", line 53.1: 1540-0700 (I) The previous message was produced while processing "Parma_Polyhedra_Library::Variables_Set::space_dimension() const". make: The error code from the last command is 1.
Stop. make: The error code from the last command is 2.
Stop. make: The error code from the last command is 1.
Stop. make: The error code from the last command is 2.
Stop.

Davide Del Vento wrote:
Thanks for your message!
xlc and xlC are the IBM's compilers for c and c++ respectively. They do support several standards: http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=/co...
and sometimes are more nitpicking than gcc about the standards, as I believe it's happening here. Anyway, I was able to remove several of those errors with the enclosed patch. Can you please have a look at it just to be sure that I didn't change what ppl was supposed to do? Unfortunately, though, the problem is NOT solved, since there are other (possibly similar) problems that you can see in the make.log Do you have any clue about them?
All of the changes in your patch have to do with a single name lookup issue. Namely, the IBM compiler seems unable to compile the following
/* ========================= */ namespace Namespace { class Base {}; // Definition. class Derived; // Forward declaration. }
class Namespace::Derived // Definition. : public Base { typedef Base base_type; } /* ========================= */
If I have understood, it claims that there is no accessible declaration for `Base'. This is really strange ... I really don't think that we are using extensions of gcc, rather I suspect that the IBM compiler is just wrong.
Looking to name lookup rules in the C++ standard (14882-1998), one can see the following example in section 3.4.1(8) (unqualified name lookup, pages 30-31):
=============================== [Example: class B { }; namespace M { namespace N { class X : public B { void f(); }; } } void M::N::X::f() { i = 16; }
// The following scopes are searched for a declaration of i: // 1) outermost block scope of M::N::X::f, before the use of i // 2) scope of class M::N::X // 3) scope of M::N::X’s base class B // 4) scope of namespace M::N // 5) scope of namespace M // 6) global scope, before the definition of M::N::X::f —end example] ===============================
In points 4 and 5 it is said that the unqualified name (i) is also searched in the scope of the enclosing namespaces (here M::N and M). Hence, in our simpler example above, `Base' should also be searched inside `Namespace'.
According to the make.log contents, it is not just a matter of the names of base classes when using inheritance ... and we cannot reasonably change *all* the uses of unqualified names in the PPL sources to become qualified names (that is, add Parma_Polyhedra_Library:: everywhere even if not needed).
Are you using the latest available version of the compiler? I am asking because it seems there has been bug corrections regarding name lookup issues last June:
http://www-01.ibm.com/support/docview.wss?uid=swg24023988
Cheers, Enea Zaffanella.
Compiling with gcc is possible, but there will be several linking problems with other libraries that I eventually need to link together (gcc binaries are not-linkable with xlC binaries).
Thanks again Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233 mobile: (720) 240-1704 email: ddvento@ucar.edu

Thanks again for your time!
I am not fluent in C++ standards, and eventually I gave up on using the IBM compiler.
I tried gcc, it configured fine, but it failed during make with the following error, and several others thereafter (see attachments for details):
globals.inlines.hh:76: error: 'PPL_SIZEOF_MP_LIMB_T' was not declared in this scope
:-(
Note that my gmp installation looked fine, and all its test passed.
Thanks Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233
On 09/17/2009 01:29 AM Enea Zaffanella wrote:
Davide Del Vento wrote:
Thanks for your message!
xlc and xlC are the IBM's compilers for c and c++ respectively. They do support several standards: http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=/co...
and sometimes are more nitpicking than gcc about the standards, as I believe it's happening here. Anyway, I was able to remove several of those errors with the enclosed patch. Can you please have a look at it just to be sure that I didn't change what ppl was supposed to do? Unfortunately, though, the problem is NOT solved, since there are other (possibly similar) problems that you can see in the make.log Do you have any clue about them?
All of the changes in your patch have to do with a single name lookup issue. Namely, the IBM compiler seems unable to compile the following
/* ========================= */ namespace Namespace { class Base {}; // Definition. class Derived; // Forward declaration. }
class Namespace::Derived // Definition. : public Base { typedef Base base_type; } /* ========================= */
If I have understood, it claims that there is no accessible declaration for `Base'. This is really strange ... I really don't think that we are using extensions of gcc, rather I suspect that the IBM compiler is just wrong.
Looking to name lookup rules in the C++ standard (14882-1998), one can see the following example in section 3.4.1(8) (unqualified name lookup, pages 30-31):
=============================== [Example: class B { }; namespace M { namespace N { class X : public B { void f(); }; } } void M::N::X::f() { i = 16; }
// The following scopes are searched for a declaration of i: // 1) outermost block scope of M::N::X::f, before the use of i // 2) scope of class M::N::X // 3) scope of M::N::X’s base class B // 4) scope of namespace M::N // 5) scope of namespace M // 6) global scope, before the definition of M::N::X::f —end example] ===============================
In points 4 and 5 it is said that the unqualified name (i) is also searched in the scope of the enclosing namespaces (here M::N and M). Hence, in our simpler example above, `Base' should also be searched inside `Namespace'.
According to the make.log contents, it is not just a matter of the names of base classes when using inheritance ... and we cannot reasonably change *all* the uses of unqualified names in the PPL sources to become qualified names (that is, add Parma_Polyhedra_Library:: everywhere even if not needed).
Are you using the latest available version of the compiler? I am asking because it seems there has been bug corrections regarding name lookup issues last June:
http://www-01.ibm.com/support/docview.wss?uid=swg24023988
Cheers, Enea Zaffanella.
Compiling with gcc is possible, but there will be several linking problems with other libraries that I eventually need to link together (gcc binaries are not-linkable with xlC binaries).
Thanks again Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233
make all-recursive Making all in . /usr/bin/sed -f ./ppl-config.sed >ppl-config.h Target "all-am" is up to date. Making all in utils g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT timings.o -MD -MP -MF .deps/timings.Tpo -c -o timings.o timings.cc mv -f .deps/timings.Tpo .deps/timings.Po rm -f libppl_utils.a ar cru libppl_utils.a timings.o ranlib libppl_utils.a Target "all" is up to date. Making all in src for file in namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ; do i="#include "$file"" ; ( cd ../src ; /usr/local/bin//grep -F -q "$i" namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ) || echo "$i" ; done > ppl_include_files.hh ../utils/build_header -I .. -I ../src ../src/ppl_header.hh >ppl.hh make all-am /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c -o Box.lo Box.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c Box.cc -DPIC -o .libs/Box.o globals.inlines.hh: In function 'Parma_Polyhedra_Library::memory_size_type Parma_Polyhedra_Library::external_memory_in_bytes(const mpz_class&)': globals.inlines.hh:76: error: 'PPL_SIZEOF_MP_LIMB_T' was not declared in this scope Checked_Number.inlines.hh: At global scope: Checked_Number.inlines.hh:163: error: expected constructor, destructor, or type conversion before '(' token Checked_Number.inlines.hh:163: error: expected unqualified-id before ')' token Checked_Number.inlines.hh:164: error: expected unqualified-id before ')' token Checked_Number.inlines.hh:165: error: expected unqualified-id before ')' token Coefficient.types.hh:89: error: 'PPL_COEFFICIENT_TYPE' does not name a type Coefficient.types.hh:95: error: 'Coefficient' was not declared in this scope Coefficient.types.hh:95: error: template argument 1 is invalid Coefficient.types.hh:95: error: invalid type in declaration before ';' token Coefficient.defs.hh:51: error: 'Coefficient_traits' is not a class or namespace Coefficient.defs.hh:51: error: expected initializer before 'Coefficient_zero' Coefficient.defs.hh:54: error: 'Coefficient_traits' is not a class or namespace Coefficient.defs.hh:54: error: expected initializer before 'Coefficient_one' Row.defs.hh:283: error: ISO C++ forbids declaration of 'Coefficient' with no type Row.defs.hh:283: error: expected ';' before '&' token Row.defs.hh:286: error: 'Coefficient_traits' is not a class or namespace Row.defs.hh:286: error: expected ';' before 'operator' Row.defs.hh:462: error: ISO C++ forbids declaration of 'Coefficient' with no type Row.defs.hh:462: error: expected ';' before '&' token Row.defs.hh:465: error: 'Coefficient_traits' is not a class or namespace Row.defs.hh:465: error: expected ';' before 'operator' Row.defs.hh:488: error: 'Coefficient' does not name a type math_utilities.defs.hh:38: error: 'Coefficient' has not been declared math_utilities.defs.hh:38: error: 'Coefficient' has not been declared math_utilities.defs.hh:46: error: 'Coefficient_traits' is not a class or namespace math_utilities.defs.hh:46: error: expected ',' or '...' before 'x' math_utilities.defs.hh:89: error: 'Coefficient_traits' is not a class or namespace math_utilities.defs.hh:89: error: expected ',' or '...' before 'x' math_utilities.inlines.hh:33: error: 'Coefficient_traits' is not a class or namespace math_utilities.inlines.hh:33: error: expected ',' or '...' before 'x' math_utilities.inlines.hh: In function 'void Parma_Polyhedra_Library::normalize2(int)': math_utilities.inlines.hh:36: error: 'Coefficient' was not declared in this scope math_utilities.inlines.hh:36: error: template argument 1 is invalid math_utilities.inlines.hh:36: error: expected initializer before 'holdergcd' math_utilities.inlines.hh:36: error: 'Coefficient' cannot appear in a constant-expression math_utilities.inlines.hh:36: error: template argument 1 is invalid math_utilities.inlines.hh:36: error: expected initializer before 'gcd' math_utilities.inlines.hh:37: error: 'gcd' was not declared in this scope math_utilities.inlines.hh:37: error: 'x' was not declared in this scope math_utilities.inlines.hh:37: error: 'y' was not declared in this scope math_utilities.inlines.hh:38: error: 'nx' was not declared in this scope math_utilities.inlines.hh:39: error: 'ny' was not declared in this scope math_utilities.inlines.hh: At global scope: math_utilities.inlines.hh:35: warning: unused parameter 'const_reference' math_utilities.inlines.hh:52: error: 'Coefficient' has not been declared math_utilities.inlines.hh:52: error: 'Coefficient' has not been declared math_utilities.inlines.hh:65: error: 'Coefficient_traits' is not a class or namespace math_utilities.inlines.hh:65: error: expected ',' or '...' before 'x' math_utilities.inlines.hh: In function 'void Parma_Polyhedra_Library::div_round_up(Parma_Polyhedra_Library::Checked_Number<T, P>&, int)': math_utilities.inlines.hh:71: error: 'x' was not declared in this scope math_utilities.inlines.hh:72: error: 'y' was not declared in this scope Row.inlines.hh: In static member function 'static void* Parma_Polyhedra_Library::Row_Impl_Handler::Impl::operator new(size_t, Parma_Polyhedra_Library::dimension_type)': Row.inlines.hh:82: error: 'Coefficient' was not declared in this scope Row.inlines.hh: In static member function 'static Parma_Polyhedra_Library::dimension_type Parma_Polyhedra_Library::Row_Impl_Handler::Impl::max_size()': Row.inlines.hh:98: error: 'Coefficient' was not declared in this scope Row.inlines.hh: At global scope: Row.inlines.hh:136: error: expected initializer before '&' token Row.inlines.hh:142: error: 'Coefficient_traits' is not a class or namespace Row.inlines.hh:143: error: expected initializer before 'Row_Impl_Handler' Row.inlines.hh: In member function 'Parma_Polyhedra_Library::memory_size_type Parma_Polyhedra_Library::Row_Impl_Handler::Impl::total_memory_in_bytes(Parma_Polyhedra_Library::dimension_type) const': Row.inlines.hh:152: error: 'Coefficient' was not declared in this scope Row.inlines.hh: At global scope: Row.inlines.hh:344: error: expected initializer before '&' token Row.inlines.hh:350: error: 'Coefficient_traits' is not a class or namespace Row.inlines.hh:351: error: expected initializer before 'Row' Linear_Row.defs.hh:323: error: 'Coefficient_traits' is not a class or namespace Linear_Row.defs.hh:323: error: expected ';' before 'inhomogeneous_term' Linear_Row.defs.hh:326: error: 'Coefficient_traits' is not a class or namespace Linear_Row.defs.hh:326: error: expected ';' before 'coefficient' Linear_Row.inlines.hh:240: error: 'Coefficient_traits' is not a class or namespace Linear_Row.inlines.hh:241: error: expected initializer before 'Linear_Row' Linear_Row.inlines.hh:245: error: 'Coefficient_traits' is not a class or namespace Linear_Row.inlines.hh:246: error: expected initializer before 'Linear_Row' Linear_Expression.defs.hh:69: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:69: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:69: error: 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator+(int)' must have an argument of class or enumerated type Linear_Expression.defs.hh:74: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:74: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:109: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:109: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:109: error: 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator-(int)' must have an argument of class or enumerated type Linear_Expression.defs.hh:114: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:114: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:119: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:119: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:119: error: 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int)' must have an argument of class or enumerated type Linear_Expression.defs.hh:124: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:124: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:143: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:143: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:162: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:162: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:167: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:167: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:251: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:251: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:314: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:314: error: expected ';' before 'coefficient' Linear_Expression.defs.hh:317: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:317: error: expected ';' before 'inhomogeneous_term' Linear_Expression.defs.hh:408: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:408: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:408: error: 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator+(int)' must have an argument of class or enumerated type Linear_Expression.defs.hh:410: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:410: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:424: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:424: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:424: error: 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator-(int)' must have an argument of class or enumerated type Linear_Expression.defs.hh:426: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:426: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:433: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:433: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:433: error: 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int)' must have an argument of class or enumerated type Linear_Expression.defs.hh:435: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:435: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:442: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:442: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:449: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:449: error: expected ',' or '...' before 'n' Linear_Expression.defs.hh:452: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.defs.hh:452: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh:63: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:63: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh: In constructor 'Parma_Polyhedra_Library::Linear_Expression::Linear_Expression(int)': Linear_Expression.inlines.hh:65: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Linear_Expression*)this[0]' Linear_Expression.inlines.hh:65: error: 'n' was not declared in this scope Linear_Expression.inlines.hh: At global scope: Linear_Expression.inlines.hh:63: warning: unused parameter 'const_reference' Linear_Expression.inlines.hh:73: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:74: error: expected initializer before 'Linear_Expression' Linear_Expression.inlines.hh:80: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:81: error: expected initializer before 'Linear_Expression' Linear_Expression.inlines.hh:109: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:109: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh: In function 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator+(const Parma_Polyhedra_Library::Linear_Expression&, int)': Linear_Expression.inlines.hh:110: error: 'n' was not declared in this scope Linear_Expression.inlines.hh: At global scope: Linear_Expression.inlines.hh:109: warning: unused parameter 'const_reference' Linear_Expression.inlines.hh:121: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:121: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh: In function 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator-(const Parma_Polyhedra_Library::Linear_Expression&, int)': Linear_Expression.inlines.hh:122: error: 'n' was not declared in this scope Linear_Expression.inlines.hh: At global scope: Linear_Expression.inlines.hh:121: warning: unused parameter 'const_reference' Linear_Expression.inlines.hh:133: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:133: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh: In function 'Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int)': Linear_Expression.inlines.hh:134: error: 'n' was not declared in this scope Linear_Expression.inlines.hh: At global scope: Linear_Expression.inlines.hh:133: warning: unused parameter 'const_reference' Linear_Expression.inlines.hh:139: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:139: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh: In function 'Parma_Polyhedra_Library::Linear_Expression& Parma_Polyhedra_Library::operator+=(Parma_Polyhedra_Library::Linear_Expression&, int)': Linear_Expression.inlines.hh:140: error: no match for 'operator[]' in 'e[0]' Linear_Expression.inlines.hh:140: error: 'n' was not declared in this scope Linear_Expression.inlines.hh: At global scope: Linear_Expression.inlines.hh:139: warning: unused parameter 'const_reference' Linear_Expression.inlines.hh:146: error: 'Coefficient_traits' is not a class or namespace Linear_Expression.inlines.hh:146: error: expected ',' or '...' before 'n' Linear_Expression.inlines.hh: In function 'Parma_Polyhedra_Library::Linear_Expression& Parma_Polyhedra_Library::operator-=(Parma_Polyhedra_Library::Linear_Expression&, int)': Linear_Expression.inlines.hh:147: error: no match for 'operator[]' in 'e[0]' Linear_Expression.inlines.hh:147: error: 'n' was not declared in this scope Linear_Expression.inlines.hh: At global scope: Linear_Expression.inlines.hh:146: warning: unused parameter 'const_reference' Bit_Row.inlines.hh: In member function 'Parma_Polyhedra_Library::memory_size_type Parma_Polyhedra_Library::Bit_Row::external_memory_in_bytes() const': Bit_Row.inlines.hh:97: error: 'PPL_SIZEOF_MP_LIMB_T' was not declared in this scope Constraint_System.defs.hh: At global scope: Constraint_System.defs.hh:377: error: 'Coefficient_traits' is not a class or namespace Constraint_System.defs.hh:377: error: expected ',' or '...' before 'denominator' Constraint.defs.hh:63: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:63: error: expected ',' or '...' before 'n' Constraint.defs.hh:68: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:68: error: expected ',' or '...' before 'n' Constraint.defs.hh:68: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)' must have an argument of class or enumerated type Constraint.defs.hh:68: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)' must take exactly two arguments Constraint.defs.hh:83: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:83: error: expected ',' or '...' before 'n' Constraint.defs.hh:88: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:88: error: expected ',' or '...' before 'n' Constraint.defs.hh:88: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)' must have an argument of class or enumerated type Constraint.defs.hh:88: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)' must take exactly two arguments Constraint.defs.hh:103: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:103: error: expected ',' or '...' before 'n' Constraint.defs.hh:108: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:108: error: expected ',' or '...' before 'n' Constraint.defs.hh:108: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)' must have an argument of class or enumerated type Constraint.defs.hh:108: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)' must take exactly two arguments Constraint.defs.hh:123: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:123: error: expected ',' or '...' before 'n' Constraint.defs.hh:128: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:128: error: expected ',' or '...' before 'n' Constraint.defs.hh:128: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)' must have an argument of class or enumerated type Constraint.defs.hh:128: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)' must take exactly two arguments Constraint.defs.hh:143: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:143: error: expected ',' or '...' before 'n' Constraint.defs.hh:148: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:148: error: expected ',' or '...' before 'n' Constraint.defs.hh:148: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)' must have an argument of class or enumerated type Constraint.defs.hh:148: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)' must take exactly two arguments Constraint.defs.hh:326: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:326: error: expected ';' before 'coefficient' Constraint.defs.hh:329: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:329: error: expected ';' before 'inhomogeneous_term' Constraint.defs.hh:479: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:479: error: expected ',' or '...' before 'n' Constraint.defs.hh:481: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:481: error: expected ',' or '...' before 'n' Constraint.defs.hh:481: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)' must have an argument of class or enumerated type Constraint.defs.hh:481: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)' must take exactly two arguments Constraint.defs.hh:488: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:488: error: expected ',' or '...' before 'n' Constraint.defs.hh:490: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:490: error: expected ',' or '...' before 'n' Constraint.defs.hh:490: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)' must have an argument of class or enumerated type Constraint.defs.hh:490: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)' must take exactly two arguments Constraint.defs.hh:495: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:495: error: expected ',' or '...' before 'n' Constraint.defs.hh:497: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:497: error: expected ',' or '...' before 'n' Constraint.defs.hh:497: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)' must have an argument of class or enumerated type Constraint.defs.hh:497: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)' must take exactly two arguments Constraint.defs.hh:504: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:504: error: expected ',' or '...' before 'n' Constraint.defs.hh:506: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:506: error: expected ',' or '...' before 'n' Constraint.defs.hh:506: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)' must have an argument of class or enumerated type Constraint.defs.hh:506: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)' must take exactly two arguments Constraint.defs.hh:511: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:511: error: expected ',' or '...' before 'n' Constraint.defs.hh:513: error: 'Coefficient_traits' is not a class or namespace Constraint.defs.hh:513: error: expected ',' or '...' before 'n' Constraint.defs.hh:513: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)' must have an argument of class or enumerated type Constraint.defs.hh:513: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)' must take exactly two arguments Constraint.inlines.hh: In member function 'Parma_Polyhedra_Library::Constraint::Type Parma_Polyhedra_Library::Constraint::type() const': Constraint.inlines.hh:86: error: no match for 'operator[]' in '*(const Parma_Polyhedra_Library::Constraint*)this[(((const Parma_Polyhedra_Library::Constraint*)this)->Parma_Polyhedra_Library::Constraint::<anonymous>.Parma_Polyhedra_Library::Linear_Row::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Constraint.inlines.hh: At global scope: Constraint.inlines.hh:111: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:112: error: expected initializer before 'Constraint' Constraint.inlines.hh:118: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:119: error: expected initializer before 'Constraint' Constraint.inlines.hh:211: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:211: error: expected ',' or '...' before 'n' Constraint.inlines.hh:211: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)' must have an argument of class or enumerated type Constraint.inlines.hh:211: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)' must take exactly two arguments Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(int)': Constraint.inlines.hh:212: error: 'n' was not declared in this scope Constraint.inlines.hh:212: error: 'e' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:211: warning: unused parameter 'const_reference' Constraint.inlines.hh:221: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:221: error: expected ',' or '...' before 'n' Constraint.inlines.hh:221: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)' must have an argument of class or enumerated type Constraint.inlines.hh:221: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)' must take exactly two arguments Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int)': Constraint.inlines.hh:222: error: 'n' was not declared in this scope Constraint.inlines.hh:222: error: 'e' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:221: warning: unused parameter 'const_reference' Constraint.inlines.hh:231: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:231: error: expected ',' or '...' before 'n' Constraint.inlines.hh:231: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)' must have an argument of class or enumerated type Constraint.inlines.hh:231: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)' must take exactly two arguments Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int)': Constraint.inlines.hh:235: error: 'e' was not declared in this scope Constraint.inlines.hh:236: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:231: warning: unused parameter 'const_reference' Constraint.inlines.hh:245: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:245: error: expected ',' or '...' before 'n' Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator==(const Parma_Polyhedra_Library::Linear_Expression&, int)': Constraint.inlines.hh:246: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:245: warning: unused parameter 'const_reference' Constraint.inlines.hh:255: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:255: error: expected ',' or '...' before 'n' Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(const Parma_Polyhedra_Library::Linear_Expression&, int)': Constraint.inlines.hh:256: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:255: warning: unused parameter 'const_reference' Constraint.inlines.hh:265: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:265: error: expected ',' or '...' before 'n' Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(const Parma_Polyhedra_Library::Linear_Expression&, int)': Constraint.inlines.hh:271: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:265: warning: unused parameter 'const_reference' Constraint.inlines.hh:293: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:293: error: expected ',' or '...' before 'n' Constraint.inlines.hh:293: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)' must have an argument of class or enumerated type Constraint.inlines.hh:293: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)' must take exactly two arguments Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int)': Constraint.inlines.hh:294: error: 'e' was not declared in this scope Constraint.inlines.hh:294: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:293: warning: unused parameter 'const_reference' Constraint.inlines.hh:299: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:299: error: expected ',' or '...' before 'n' Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(const Parma_Polyhedra_Library::Linear_Expression&, int)': Constraint.inlines.hh:300: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:299: warning: unused parameter 'const_reference' Constraint.inlines.hh:317: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:317: error: expected ',' or '...' before 'n' Constraint.inlines.hh:317: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)' must have an argument of class or enumerated type Constraint.inlines.hh:317: error: 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)' must take exactly two arguments Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int)': Constraint.inlines.hh:318: error: 'e' was not declared in this scope Constraint.inlines.hh:318: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:317: warning: unused parameter 'const_reference' Constraint.inlines.hh:323: error: 'Coefficient_traits' is not a class or namespace Constraint.inlines.hh:323: error: expected ',' or '...' before 'n' Constraint.inlines.hh: In function 'Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(const Parma_Polyhedra_Library::Linear_Expression&, int)': Constraint.inlines.hh:324: error: 'n' was not declared in this scope Constraint.inlines.hh: At global scope: Constraint.inlines.hh:323: warning: unused parameter 'const_reference' Box.defs.hh:587: error: 'Coefficient' has not been declared Box.defs.hh:587: error: 'Coefficient' has not been declared Box.defs.hh:618: error: 'Coefficient' has not been declared Box.defs.hh:618: error: 'Coefficient' has not been declared Box.defs.hh:646: error: 'Coefficient' has not been declared Box.defs.hh:646: error: 'Coefficient' has not been declared Box.defs.hh:677: error: 'Coefficient' has not been declared Box.defs.hh:677: error: 'Coefficient' has not been declared Box.defs.hh:962: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:962: error: expected ',' or '...' before 'denominator' Box.defs.hh:987: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:987: error: expected ',' or '...' before 'denominator' Box.defs.hh:1017: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:1017: error: expected ',' or '...' before 'denominator' Box.defs.hh:1048: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:1048: error: expected ',' or '...' before 'denominator' Box.defs.hh:1123: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:1123: error: expected ',' or '...' before 'denominator' Box.defs.hh:1154: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:1154: error: expected ',' or '...' before 'denominator' Box.defs.hh:1476: error: 'Coefficient' has not been declared Box.defs.hh:1476: error: 'Coefficient' has not been declared Box.defs.hh:1497: error: 'Coefficient' has not been declared Box.defs.hh:1497: error: 'Coefficient' has not been declared Box.defs.hh:1604: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:1604: error: expected ',' or '...' before 'num' Box.defs.hh:1907: error: 'Coefficient' has not been declared Box.defs.hh:1907: error: 'Coefficient' has not been declared Box.defs.hh:1937: error: 'Coefficient' has not been declared Box.defs.hh:1937: error: 'Coefficient' has not been declared Box.defs.hh:2014: error: 'Coefficient_traits' is not a class or namespace Box.defs.hh:2014: error: expected ',' or '...' before 'num' Congruence_System.defs.hh:472: error: 'Coefficient_traits' is not a class or namespace Congruence_System.defs.hh:472: error: expected ',' or '...' before 'denominator' Congruence.defs.hh:77: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:77: error: expected ',' or '...' before 'n' Congruence.defs.hh:87: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:87: error: expected ',' or '...' before 'k' Congruence.defs.hh:92: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:92: error: expected ',' or '...' before 'm' Congruence.defs.hh:239: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:239: error: expected ';' before 'coefficient' Congruence.defs.hh:242: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:242: error: expected ';' before 'inhomogeneous_term' Congruence.defs.hh:245: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:245: error: expected ';' before 'modulus' Congruence.defs.hh:254: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:254: error: expected ',' or '...' before 'k' Congruence.defs.hh:323: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:323: error: expected ',' or '...' before 'n' Congruence.defs.hh:327: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:327: error: expected ',' or '...' before 'n' Congruence.defs.hh:412: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:412: error: expected ',' or '...' before 'k' Congruence.defs.hh:426: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:426: error: expected ',' or '...' before 'm' Congruence.defs.hh:448: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:448: error: expected ',' or '...' before 'k' Congruence.defs.hh:450: error: 'Coefficient_traits' is not a class or namespace Congruence.defs.hh:450: error: expected ',' or '...' before 'm' Congruence.inlines.hh:46: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:46: error: expected ',' or '...' before 'k' Congruence.inlines.hh: In constructor 'Parma_Polyhedra_Library::Congruence::Congruence(const Parma_Polyhedra_Library::Congruence&, int)': Congruence.inlines.hh:48: error: 'k' was not declared in this scope Congruence.inlines.hh:49: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Congruence*)this[(((Parma_Polyhedra_Library::Congruence*)this)->Parma_Polyhedra_Library::Congruence::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Congruence.inlines.hh:51: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Congruence*)this[(((Parma_Polyhedra_Library::Congruence*)this)->Parma_Polyhedra_Library::Congruence::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Congruence.inlines.hh: At global scope: Congruence.inlines.hh:46: warning: unused parameter 'const_reference' Congruence.inlines.hh:60: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:60: error: expected ',' or '...' before 'm' Congruence.inlines.hh: In constructor 'Parma_Polyhedra_Library::Congruence::Congruence(Parma_Polyhedra_Library::Linear_Expression&, int)': Congruence.inlines.hh:62: error: 'm' was not declared in this scope Congruence.inlines.hh:63: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Congruence*)this[(((Parma_Polyhedra_Library::Congruence*)this)->Parma_Polyhedra_Library::Congruence::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Congruence.inlines.hh: At global scope: Congruence.inlines.hh:60: warning: unused parameter 'const_reference' Congruence.inlines.hh:68: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:68: error: expected ',' or '...' before 'n' Congruence.inlines.hh: In static member function 'static Parma_Polyhedra_Library::Congruence Parma_Polyhedra_Library::Congruence::create(const Parma_Polyhedra_Library::Linear_Expression&, int)': Congruence.inlines.hh:71: error: 'n' was not declared in this scope Congruence.inlines.hh: At global scope: Congruence.inlines.hh:68: warning: unused parameter 'const_reference' Congruence.inlines.hh:77: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:77: error: expected ',' or '...' before 'n' Congruence.inlines.hh: In static member function 'static Parma_Polyhedra_Library::Congruence Parma_Polyhedra_Library::Congruence::create(int)': Congruence.inlines.hh:80: error: 'e' was not declared in this scope Congruence.inlines.hh:81: error: 'n' was not declared in this scope Congruence.inlines.hh: At global scope: Congruence.inlines.hh:78: warning: unused parameter 'const_reference' Congruence.inlines.hh:94: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:94: error: expected ',' or '...' before 'n' Congruence.inlines.hh: In function 'Parma_Polyhedra_Library::Congruence Parma_Polyhedra_Library::operator%=(const Parma_Polyhedra_Library::Linear_Expression&, int)': Congruence.inlines.hh:95: error: 'n' was not declared in this scope Congruence.inlines.hh: At global scope: Congruence.inlines.hh:94: warning: unused parameter 'const_reference' Congruence.inlines.hh:100: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:100: error: expected ',' or '...' before 'k' Congruence.inlines.hh: In function 'Parma_Polyhedra_Library::Congruence Parma_Polyhedra_Library::operator/(const Parma_Polyhedra_Library::Congruence&, int)': Congruence.inlines.hh:101: error: 'k' was not declared in this scope Congruence.inlines.hh: At global scope: Congruence.inlines.hh:100: warning: unused parameter 'const_reference' Congruence.inlines.hh:123: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:123: error: expected ',' or '...' before 'm' Congruence.inlines.hh: In function 'Parma_Polyhedra_Library::Congruence Parma_Polyhedra_Library::operator/(const Parma_Polyhedra_Library::Constraint&, int)': Congruence.inlines.hh:125: error: 'm' was not declared in this scope Congruence.inlines.hh: At global scope: Congruence.inlines.hh:123: warning: unused parameter 'const_reference' Congruence.inlines.hh:129: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:129: error: expected ',' or '...' before 'k' Congruence.inlines.hh: In member function 'Parma_Polyhedra_Library::Congruence& Parma_Polyhedra_Library::Congruence::operator/=(int)': Congruence.inlines.hh:130: error: 'k' was not declared in this scope Congruence.inlines.hh:131: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Congruence*)this[(((Parma_Polyhedra_Library::Congruence*)this)->Parma_Polyhedra_Library::Congruence::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Congruence.inlines.hh:133: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Congruence*)this[(((Parma_Polyhedra_Library::Congruence*)this)->Parma_Polyhedra_Library::Congruence::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Congruence.inlines.hh: At global scope: Congruence.inlines.hh:129: warning: unused parameter 'const_reference' Congruence.inlines.hh:165: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:166: error: expected initializer before 'Congruence' Congruence.inlines.hh:172: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:173: error: expected initializer before 'Congruence' Congruence.inlines.hh:177: error: 'Coefficient_traits' is not a class or namespace Congruence.inlines.hh:178: error: expected initializer before 'Congruence' Congruence.inlines.hh: In member function 'bool Parma_Polyhedra_Library::Congruence::is_proper_congruence() const': Congruence.inlines.hh:185: error: 'modulus' was not declared in this scope Congruence.inlines.hh: In member function 'bool Parma_Polyhedra_Library::Congruence::is_equality() const': Congruence.inlines.hh:190: error: 'modulus' was not declared in this scope Congruence.inlines.hh: In member function 'bool Parma_Polyhedra_Library::Congruence::is_equal_at_dimension(Parma_Polyhedra_Library::dimension_type, const Parma_Polyhedra_Library::Congruence&) const': Congruence.inlines.hh:196: error: 'operator[]' not defined Congruence.inlines.hh:196: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'modulus' Congruence.inlines.hh:196: error: no match for 'operator[]' in 'cg[dim]' Congruence.inlines.hh:196: error: 'modulus' was not declared in this scope Congruence.inlines.hh: In member function 'void Parma_Polyhedra_Library::Congruence::set_is_equality()': Congruence.inlines.hh:201: error: no match for 'operator[]' in '*(Parma_Polyhedra_Library::Congruence*)this[(((Parma_Polyhedra_Library::Congruence*)this)->Parma_Polyhedra_Library::Congruence::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Congruence.inlines.hh: In member function 'void Parma_Polyhedra_Library::Congruence::negate(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type)': Congruence.inlines.hh:207: error: 'operator[]' not defined Box.inlines.hh: At global scope: Box.inlines.hh:193: error: 'Coefficient' has not been declared Box.inlines.hh:193: error: 'Coefficient' has not been declared Box.inlines.hh:201: error: 'Coefficient' has not been declared Box.inlines.hh:201: error: 'Coefficient' has not been declared Box.inlines.hh:209: error: 'Coefficient' has not been declared Box.inlines.hh:209: error: 'Coefficient' has not been declared Box.inlines.hh:217: error: 'Coefficient' has not been declared Box.inlines.hh:217: error: 'Coefficient' has not been declared Box.inlines.hh:260: error: 'Coefficient' has not been declared Box.inlines.hh:260: error: 'Coefficient' has not been declared Box.inlines.hh:280: error: 'Coefficient' has not been declared Box.inlines.hh:280: error: 'Coefficient' has not been declared Box.inlines.hh:379: error: 'Coefficient_traits' is not a class or namespace Box.inlines.hh:379: error: expected ',' or '...' before 'num' Box.inlines.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::add_interval_constraint_no_check(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::Constraint::Type, int)': Box.inlines.hh:383: error: 'den' was not declared in this scope Box.inlines.hh:391: error: 'num' was not declared in this scope Generator_System.defs.hh: At global scope: Generator_System.defs.hh:483: error: 'Coefficient_traits' is not a class or namespace Generator_System.defs.hh:483: error: expected ',' or '...' before 'denominator' Generator.defs.hh:271: error: 'Coefficient_traits' is not a class or namespace Generator.defs.hh:271: error: expected ',' or '...' before 'd' Generator.defs.hh:284: error: 'Coefficient_traits' is not a class or namespace Generator.defs.hh:284: error: expected ',' or '...' before 'd' Generator.defs.hh:339: error: 'Coefficient_traits' is not a class or namespace Generator.defs.hh:339: error: expected ';' before 'coefficient' Generator.defs.hh:346: error: 'Coefficient_traits' is not a class or namespace Generator.defs.hh:346: error: expected ';' before 'divisor' Generator.defs.hh:272: error: default argument missing for parameter 2 of 'static Parma_Polyhedra_Library::Generator Parma_Polyhedra_Library::Generator::point(const Parma_Polyhedra_Library::Linear_Expression&, int)' Generator.defs.hh:284: error: default argument missing for parameter 2 of 'static Parma_Polyhedra_Library::Generator Parma_Polyhedra_Library::Generator::closure_point(const Parma_Polyhedra_Library::Linear_Expression&, int)' Generator.defs.hh:493: error: 'Coefficient_traits' is not a class or namespace Generator.defs.hh:493: error: expected ',' or '...' before 'd' Generator.defs.hh:493: error: default argument missing for parameter 2 of 'Parma_Polyhedra_Library::Generator Parma_Polyhedra_Library::point(const Parma_Polyhedra_Library::Linear_Expression&, int)' Generator.defs.hh:503: error: 'Coefficient_traits' is not a class or namespace Generator.defs.hh:503: error: expected ',' or '...' before 'd' Generator.defs.hh:503: error: default argument missing for parameter 2 of 'Parma_Polyhedra_Library::Generator Parma_Polyhedra_Library::closure_point(const Parma_Polyhedra_Library::Linear_Expression&, int)' Generator.inlines.hh: In member function 'bool Parma_Polyhedra_Library::Generator::is_line_or_ray() const': Generator.inlines.hh:79: error: no match for 'operator[]' in '*(const Parma_Polyhedra_Library::Generator*)this[0]' Generator.inlines.hh: In member function 'Parma_Polyhedra_Library::Generator::Type Parma_Polyhedra_Library::Generator::type() const': Generator.inlines.hh:98: error: no match for 'operator[]' in 'g[(((const Parma_Polyhedra_Library::Generator*)this)->Parma_Polyhedra_Library::Generator::<anonymous>.Parma_Polyhedra_Library::Linear_Row::<anonymous>.Parma_Polyhedra_Library::Row::size() - 1ul)]' Generator.inlines.hh: At global scope: Generator.inlines.hh:122: error: 'Coefficient_traits' is not a class or namespace Generator.inlines.hh:123: error: expected initializer before 'Generator' Generator.inlines.hh:129: error: 'Coefficient_traits' is not a class or namespace Generator.inlines.hh:130: error: expected initializer before 'Generator' Generator.inlines.hh:174: error: 'Coefficient_traits' is not a class or namespace Generator.inlines.hh:174: error: expected ',' or '...' before 'd' Generator.inlines.hh: In function 'Parma_Polyhedra_Library::Generator Parma_Polyhedra_Library::point(const Parma_Polyhedra_Library::Linear_Expression&, int)': Generator.inlines.hh:175: error: 'd' was not declared in this scope Generator.inlines.hh: At global scope: Generator.inlines.hh:174: warning: unused parameter 'const_reference' Generator.inlines.hh:181: error: 'Coefficient_traits' is not a class or namespace Generator.inlines.hh:181: error: expected ',' or '...' before 'd' Generator.inlines.hh: In function 'Parma_Polyhedra_Library::Generator Parma_Polyhedra_Library::closure_point(const Parma_Polyhedra_Library::Linear_Expression&, int)': Generator.inlines.hh:182: error: 'd' was not declared in this scope Generator.inlines.hh: At global scope: Generator.inlines.hh:181: warning: unused parameter 'const_reference' Generator.inlines.hh: In function 'bool Parma_Polyhedra_Library::l_m_distance_assign(Parma_Polyhedra_Library::Checked_Number<To, Parma_Polyhedra_Library::Extended_Number_Policy>&, const Parma_Polyhedra_Library::Generator&, const Parma_Polyhedra_Library::Generator&, Parma_Polyhedra_Library::Rounding_Dir, Temp&, Temp&, Temp&)': Generator.inlines.hh:243: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Generator.inlines.hh:244: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Generator.inlines.hh:248: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Generator.inlines.hh:250: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Grid_Generator_System.defs.hh: At global scope: Grid_Generator_System.defs.hh:434: error: 'Coefficient_traits' is not a class or namespace Grid_Generator_System.defs.hh:434: error: expected ',' or '...' before 'denominator' Grid_Generator.defs.hh:247: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:247: error: expected ',' or '...' before 'd' Grid_Generator.defs.hh:260: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:260: error: expected ',' or '...' before 'd' Grid_Generator.defs.hh:321: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:321: error: expected ';' before 'coefficient' Grid_Generator.defs.hh:328: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:328: error: expected ';' before 'divisor' Grid_Generator.defs.hh:413: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:413: error: expected ',' or '...' before 'd' Grid_Generator.defs.hh:435: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:435: error: expected ',' or '...' before 'd' Grid_Generator.defs.hh:458: error: ISO C++ forbids declaration of 'Coefficient' with no type Grid_Generator.defs.hh:458: error: expected ';' before '&' token Grid_Generator.defs.hh:461: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:461: error: expected ';' before 'operator' Grid_Generator.defs.hh:248: error: default argument missing for parameter 2 of 'static Parma_Polyhedra_Library::Grid_Generator Parma_Polyhedra_Library::Grid_Generator::parameter(const Parma_Polyhedra_Library::Linear_Expression&, int)' Grid_Generator.defs.hh:261: error: default argument missing for parameter 2 of 'static Parma_Polyhedra_Library::Grid_Generator Parma_Polyhedra_Library::Grid_Generator::grid_point(const Parma_Polyhedra_Library::Linear_Expression&, int)' Grid_Generator.defs.hh:502: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:502: error: expected ',' or '...' before 'd' Grid_Generator.defs.hh:502: error: default argument missing for parameter 2 of 'Parma_Polyhedra_Library::Grid_Generator Parma_Polyhedra_Library::parameter(const Parma_Polyhedra_Library::Linear_Expression&, int)' Grid_Generator.defs.hh:512: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.defs.hh:512: error: expected ',' or '...' before 'd' Grid_Generator.defs.hh:512: error: default argument missing for parameter 2 of 'Parma_Polyhedra_Library::Grid_Generator Parma_Polyhedra_Library::grid_point(const Parma_Polyhedra_Library::Linear_Expression&, int)' Grid_Generator.inlines.hh:53: error: expected initializer before '&' token Grid_Generator.inlines.hh:58: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.inlines.hh:59: error: expected initializer before 'Grid_Generator' Grid_Generator.inlines.hh:110: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.inlines.hh:110: error: expected ',' or '...' before 'd' Grid_Generator.inlines.hh: In member function 'void Parma_Polyhedra_Library::Grid_Generator::set_divisor(int)': Grid_Generator.inlines.hh:113: error: 'operator[]' is not a member of 'Parma_Polyhedra_Library::Generator' Grid_Generator.inlines.hh:113: error: 'd' was not declared in this scope Grid_Generator.inlines.hh:115: error: 'operator[]' is not a member of 'Parma_Polyhedra_Library::Generator' Grid_Generator.inlines.hh:115: error: 'd' was not declared in this scope Grid_Generator.inlines.hh: At global scope: Grid_Generator.inlines.hh:110: warning: unused parameter 'const_reference' Grid_Generator.inlines.hh:118: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.inlines.hh:119: error: expected initializer before 'Grid_Generator' Grid_Generator.inlines.hh: In member function 'bool Parma_Polyhedra_Library::Grid_Generator::is_equal_at_dimension(Parma_Polyhedra_Library::dimension_type, const Parma_Polyhedra_Library::Grid_Generator&) const': Grid_Generator.inlines.hh:131: error: 'operator[]' not defined Grid_Generator.inlines.hh:131: error: 'const class Parma_Polyhedra_Library::Grid_Generator' has no member named 'divisor' Grid_Generator.inlines.hh:131: error: no match for 'operator[]' in 'gg[dim]' Grid_Generator.inlines.hh:131: error: 'divisor' was not declared in this scope Grid_Generator.inlines.hh: In member function 'void Parma_Polyhedra_Library::Grid_Generator::negate(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type)': Grid_Generator.inlines.hh:159: error: 'operator[]' not defined Grid_Generator.inlines.hh: At global scope: Grid_Generator.inlines.hh:162: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.inlines.hh:163: error: expected initializer before 'Grid_Generator' Grid_Generator.inlines.hh:216: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.inlines.hh:216: error: expected ',' or '...' before 'd' Grid_Generator.inlines.hh: In function 'Parma_Polyhedra_Library::Grid_Generator Parma_Polyhedra_Library::parameter(const Parma_Polyhedra_Library::Linear_Expression&, int)': Grid_Generator.inlines.hh:217: error: 'd' was not declared in this scope Grid_Generator.inlines.hh: At global scope: Grid_Generator.inlines.hh:216: warning: unused parameter 'const_reference' Grid_Generator.inlines.hh:223: error: 'Coefficient_traits' is not a class or namespace Grid_Generator.inlines.hh:223: error: expected ',' or '...' before 'd' Grid_Generator.inlines.hh: In function 'Parma_Polyhedra_Library::Grid_Generator Parma_Polyhedra_Library::grid_point(const Parma_Polyhedra_Library::Linear_Expression&, int)': Grid_Generator.inlines.hh:224: error: 'd' was not declared in this scope Grid_Generator.inlines.hh: At global scope: Grid_Generator.inlines.hh:223: warning: unused parameter 'const_reference' Polyhedron.defs.hh:367: error: 'Coefficient' does not name a type Polyhedron.defs.hh:672: error: 'Coefficient' has not been declared Polyhedron.defs.hh:672: error: 'Coefficient' has not been declared Polyhedron.defs.hh:703: error: 'Coefficient' has not been declared Polyhedron.defs.hh:703: error: 'Coefficient' has not been declared Polyhedron.defs.hh:731: error: 'Coefficient' has not been declared Polyhedron.defs.hh:731: error: 'Coefficient' has not been declared Polyhedron.defs.hh:762: error: 'Coefficient' has not been declared Polyhedron.defs.hh:762: error: 'Coefficient' has not been declared Polyhedron.defs.hh:1367: error: 'Coefficient_traits' is not a class or namespace Polyhedron.defs.hh:1367: error: expected ',' or '...' before 'denominator' Polyhedron.defs.hh:1459: error: 'Coefficient_traits' is not a class or namespace Polyhedron.defs.hh:1459: error: expected ',' or '...' before 'denominator' Polyhedron.defs.hh:1491: error: 'Coefficient_traits' is not a class or namespace Polyhedron.defs.hh:1491: error: expected ',' or '...' before 'denominator' Polyhedron.defs.hh:1524: error: 'Coefficient_traits' is not a class or namespace Polyhedron.defs.hh:1524: error: expected ',' or '...' before 'denominator' Polyhedron.defs.hh:1604: error: 'Coefficient_traits' is not a class or namespace Polyhedron.defs.hh:1604: error: expected ',' or '...' before 'denominator' Polyhedron.defs.hh:1636: error: 'Coefficient_traits' is not a class or namespace Polyhedron.defs.hh:1636: error: expected ',' or '...' before 'denominator' Polyhedron.defs.hh:2465: error: 'Coefficient' has not been declared Polyhedron.defs.hh:2465: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:316: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:316: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:324: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:324: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:331: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:331: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:339: error: 'Coefficient' has not been declared Polyhedron.inlines.hh:339: error: 'Coefficient' has not been declared MIP_Problem.defs.hh:351: error: 'Coefficient' has not been declared MIP_Problem.defs.hh:352: error: 'Coefficient' has not been declared MIP_Problem.defs.hh:377: error: 'Coefficient' has not been declared MIP_Problem.defs.hh:377: error: 'Coefficient' has not been declared MIP_Problem.inlines.hh:88: error: variable or field 'optimal_value' declared void MIP_Problem.inlines.hh:88: error: 'Parma_Polyhedra_Library::MIP_Problem::optimal_value' declared as an 'inline' variable MIP_Problem.inlines.hh:88: error: 'int Parma_Polyhedra_Library::MIP_Problem::optimal_value' is not a static member of 'class Parma_Polyhedra_Library::MIP_Problem' MIP_Problem.inlines.hh:88: error: 'Coefficient' was not declared in this scope MIP_Problem.inlines.hh:88: error: 'num' was not declared in this scope MIP_Problem.inlines.hh:88: error: 'Coefficient' was not declared in this scope MIP_Problem.inlines.hh:88: error: 'den' was not declared in this scope MIP_Problem.inlines.hh:88: error: initializer expression list treated as compound expression MIP_Problem.inlines.hh:88: error: expected ',' or ';' before 'const' Polyhedron.templates.hh: In constructor 'Parma_Polyhedra_Library::Polyhedron::Polyhedron(Parma_Polyhedra_Library::Topology, const Parma_Polyhedra_Library::Box<ITV>&, Parma_Polyhedra_Library::Complexity_Class)': Polyhedron.templates.hh:61: error: 'Coefficient' was not declared in this scope Polyhedron.templates.hh:61: error: template argument 1 is invalid Polyhedron.templates.hh:61: error: expected initializer before 'holderl_n' Polyhedron.templates.hh:61: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:61: error: template argument 1 is invalid Polyhedron.templates.hh:61: error: expected initializer before 'l_n' Polyhedron.templates.hh:62: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:62: error: template argument 1 is invalid Polyhedron.templates.hh:62: error: expected initializer before 'holderl_d' Polyhedron.templates.hh:62: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:62: error: template argument 1 is invalid Polyhedron.templates.hh:62: error: expected initializer before 'l_d' Polyhedron.templates.hh:63: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:63: error: template argument 1 is invalid Polyhedron.templates.hh:63: error: expected initializer before 'holderu_n' Polyhedron.templates.hh:63: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:63: error: template argument 1 is invalid Polyhedron.templates.hh:63: error: expected initializer before 'u_n' Polyhedron.templates.hh:64: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:64: error: template argument 1 is invalid Polyhedron.templates.hh:64: error: expected initializer before 'holderu_d' Polyhedron.templates.hh:64: error: 'Coefficient' cannot appear in a constant-expression Polyhedron.templates.hh:64: error: template argument 1 is invalid Polyhedron.templates.hh:64: error: expected initializer before 'u_d' Polyhedron.templates.hh:70: error: 'l_n' was not declared in this scope Polyhedron.templates.hh:70: error: 'l_d' was not declared in this scope Polyhedron.templates.hh:73: error: 'u_n' was not declared in this scope Polyhedron.templates.hh:73: error: 'u_d' was not declared in this scope Polyhedron.templates.hh:97: error: 'l_n' was not declared in this scope Polyhedron.templates.hh:97: error: 'l_d' was not declared in this scope Polyhedron.templates.hh:100: error: 'u_n' was not declared in this scope Polyhedron.templates.hh:100: error: 'u_d' was not declared in this scope Polyhedron.templates.hh: In member function 'void Parma_Polyhedra_Library::Polyhedron::map_space_dimensions(const Partial_Function&)': Polyhedron.templates.hh:263: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((new_space_dimension - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Polyhedron.templates.hh:266: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Polyhedron.templates.hh:268: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Polyhedron.templates.hh:283: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Polyhedron.templates.hh:287: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Grid.defs.hh: At global scope: Grid.defs.hh:363: error: 'Coefficient' does not name a type Grid.defs.hh:833: error: 'Coefficient' has not been declared Grid.defs.hh:833: error: 'Coefficient' has not been declared Grid.defs.hh:867: error: 'Coefficient' has not been declared Grid.defs.hh:867: error: 'Coefficient' has not been declared Grid.defs.hh:898: error: 'Coefficient' has not been declared Grid.defs.hh:898: error: 'Coefficient' has not been declared Grid.defs.hh:932: error: 'Coefficient' has not been declared Grid.defs.hh:932: error: 'Coefficient' has not been declared Grid.defs.hh:1512: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1512: error: expected ',' or '...' before 'denominator' Grid.defs.hh:1576: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1576: error: expected ',' or '...' before 'denominator' Grid.defs.hh:1613: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1613: error: expected ',' or '...' before 'denominator' Grid.defs.hh:1652: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1652: error: expected ',' or '...' before 'denominator' Grid.defs.hh:1685: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1685: error: expected ',' or '...' before 'modulus' Grid.defs.hh:1716: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1716: error: expected ',' or '...' before 'modulus' Grid.defs.hh:1748: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1748: error: expected ',' or '...' before 'denominator' Grid.defs.hh:1780: error: 'Coefficient_traits' is not a class or namespace Grid.defs.hh:1780: error: expected ',' or '...' before 'denominator' Grid.defs.hh:2397: error: 'Coefficient' has not been declared Grid.defs.hh:2397: error: 'Coefficient' has not been declared Grid.defs.hh:2509: error: 'Coefficient' has not been declared Grid.defs.hh:2661: error: expected ',' or '...' before '&' token Grid.defs.hh:2664: error: ISO C++ forbids declaration of 'Coefficient' with no type Grid.defs.hh:2668: error: expected ',' or '...' before '&' token Grid.defs.hh:2672: error: ISO C++ forbids declaration of 'Coefficient' with no type Grid.defs.hh:2672: error: 'static void Parma_Polyhedra_Library::Grid::multiply_grid(int)' cannot be overloaded Grid.defs.hh:2664: error: with 'static void Parma_Polyhedra_Library::Grid::multiply_grid(int)' Grid.inlines.hh:346: error: 'Coefficient' has not been declared Grid.inlines.hh:346: error: 'Coefficient' has not been declared Grid.inlines.hh:352: error: 'Coefficient' has not been declared Grid.inlines.hh:352: error: 'Coefficient' has not been declared Grid.inlines.hh:359: error: 'Coefficient' has not been declared Grid.inlines.hh:359: error: 'Coefficient' has not been declared Grid.inlines.hh:365: error: 'Coefficient' has not been declared Grid.inlines.hh:365: error: 'Coefficient' has not been declared Grid.inlines.hh: In static member function 'static void Parma_Polyhedra_Library::Grid::normalize_divisors(Parma_Polyhedra_Library::Grid_Generator_System&)': Grid.inlines.hh:372: error: 'Coefficient' was not declared in this scope Grid.inlines.hh:372: error: template argument 1 is invalid Grid.inlines.hh:372: error: expected initializer before 'holderdivisor' Grid.inlines.hh:372: error: 'Coefficient' cannot appear in a constant-expression Grid.inlines.hh:372: error: template argument 1 is invalid Grid.inlines.hh:372: error: expected initializer before 'divisor' Grid.inlines.hh:373: error: 'divisor' was not declared in this scope Grid.templates.hh: In constructor 'Parma_Polyhedra_Library::Grid::Grid(const Parma_Polyhedra_Library::Box<ITV>&, Parma_Polyhedra_Library::Complexity_Class)': Grid.templates.hh:60: error: 'Coefficient' was not declared in this scope Grid.templates.hh:60: error: template argument 1 is invalid Grid.templates.hh:60: error: expected initializer before 'holderl_n' Grid.templates.hh:60: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:60: error: template argument 1 is invalid Grid.templates.hh:60: error: expected initializer before 'l_n' Grid.templates.hh:61: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:61: error: template argument 1 is invalid Grid.templates.hh:61: error: expected initializer before 'holderl_d' Grid.templates.hh:61: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:61: error: template argument 1 is invalid Grid.templates.hh:61: error: expected initializer before 'l_d' Grid.templates.hh:62: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:62: error: template argument 1 is invalid Grid.templates.hh:62: error: expected initializer before 'holderu_n' Grid.templates.hh:62: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:62: error: template argument 1 is invalid Grid.templates.hh:62: error: expected initializer before 'u_n' Grid.templates.hh:63: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:63: error: template argument 1 is invalid Grid.templates.hh:63: error: expected initializer before 'holderu_d' Grid.templates.hh:63: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:63: error: template argument 1 is invalid Grid.templates.hh:63: error: expected initializer before 'u_d' Grid.templates.hh:64: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((((Parma_Polyhedra_Library::Grid*)this)->Parma_Polyhedra_Library::Grid::space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Grid.templates.hh:69: error: 'l_n' was not declared in this scope Grid.templates.hh:69: error: 'l_d' was not declared in this scope Grid.templates.hh:70: error: 'u_n' was not declared in this scope Grid.templates.hh:70: error: 'u_d' was not declared in this scope Grid.templates.hh:78: error: expected initializer before '&' token Grid.templates.hh:79: error: 'point_divisor' was not declared in this scope Grid.templates.hh:90: error: no match for 'operator[]' in 'point[(k + 1)]' Grid.templates.hh: In constructor 'Parma_Polyhedra_Library::Grid::Grid(const Box&, Parma_Polyhedra_Library::From_Covering_Box)': Grid.templates.hh:120: error: 'Coefficient' was not declared in this scope Grid.templates.hh:120: error: template argument 1 is invalid Grid.templates.hh:120: error: expected initializer before 'holderl_n' Grid.templates.hh:120: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:120: error: template argument 1 is invalid Grid.templates.hh:120: error: expected initializer before 'l_n' Grid.templates.hh:121: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:121: error: template argument 1 is invalid Grid.templates.hh:121: error: expected initializer before 'holderl_d' Grid.templates.hh:121: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:121: error: template argument 1 is invalid Grid.templates.hh:121: error: expected initializer before 'l_d' Grid.templates.hh:132: error: 'l_n' was not declared in this scope Grid.templates.hh:132: error: 'l_d' was not declared in this scope Grid.templates.hh:134: error: 'l_n' was not declared in this scope Grid.templates.hh:134: error: 'l_d' was not declared in this scope Grid.templates.hh:151: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:151: error: template argument 1 is invalid Grid.templates.hh:151: error: expected initializer before 'holderu_n' Grid.templates.hh:151: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:151: error: template argument 1 is invalid Grid.templates.hh:151: error: expected initializer before 'u_n' Grid.templates.hh:152: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:152: error: template argument 1 is invalid Grid.templates.hh:152: error: expected initializer before 'holderu_d' Grid.templates.hh:152: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:152: error: template argument 1 is invalid Grid.templates.hh:152: error: expected initializer before 'u_d' Grid.templates.hh:153: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:153: error: template argument 1 is invalid Grid.templates.hh:153: error: expected initializer before 'holderd' Grid.templates.hh:153: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:153: error: template argument 1 is invalid Grid.templates.hh:153: error: expected initializer before 'd' Grid.templates.hh:154: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((((Parma_Polyhedra_Library::Grid*)this)->Parma_Polyhedra_Library::Grid::space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Grid.templates.hh:159: error: 'l_n' was not declared in this scope Grid.templates.hh:159: error: 'l_d' was not declared in this scope Grid.templates.hh:161: error: expected initializer before '&' token Grid.templates.hh:163: error: 'point_divisor' was not declared in this scope Grid.templates.hh:165: error: 'd' was not declared in this scope Grid.templates.hh:173: error: no match for 'operator[]' in 'point[(k + 1)]' Grid.templates.hh:175: error: 'u_n' was not declared in this scope Grid.templates.hh:175: error: 'u_d' was not declared in this scope Grid.templates.hh:205: error: 'u_n' was not declared in this scope Grid.templates.hh:205: error: 'u_d' was not declared in this scope Grid.templates.hh:206: error: expected initializer before '&' token Grid.templates.hh:208: error: 'point_divisor' was not declared in this scope Grid.templates.hh:210: error: 'd' was not declared in this scope Grid.templates.hh:218: error: no match for 'operator[]' in 'point[(k + 1)]' Grid.templates.hh: In member function 'void Parma_Polyhedra_Library::Grid::get_covering_box(Parma_Polyhedra_Library::Box<ITV>&) const': Grid.templates.hh:270: error: 'Coefficient' was not declared in this scope Grid.templates.hh:270: error: template argument 1 is invalid Grid.templates.hh:270: error: expected initializer before 'holdergcd' Grid.templates.hh:270: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:270: error: template argument 1 is invalid Grid.templates.hh:270: error: expected initializer before 'gcd' Grid.templates.hh:271: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:271: error: template argument 1 is invalid Grid.templates.hh:271: error: expected initializer before 'holderbound' Grid.templates.hh:271: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:271: error: template argument 1 is invalid Grid.templates.hh:271: error: expected initializer before 'bound' Grid.templates.hh:282: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:288: error: no match for 'operator[]' in 'gen[(dim + 1)]' Grid.templates.hh:305: error: no match for 'operator[]' in 'gen[dim]' Grid.templates.hh:305: error: no match for 'operator[]' in 'point[dim]' Grid.templates.hh:308: error: 'const class Parma_Polyhedra_Library::Grid_Generator' has no member named 'divisor' Grid.templates.hh:312: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:312: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:312: error: no match for 'operator[]' in 'gen[(dim + 1)]' Grid.templates.hh:320: error: expected initializer before '&' token Grid.templates.hh:321: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:321: error: template argument 1 is invalid Grid.templates.hh:321: error: expected initializer before 'holderlower_bound' Grid.templates.hh:321: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:321: error: template argument 1 is invalid Grid.templates.hh:321: error: expected initializer before 'lower_bound' Grid.templates.hh:326: error: 'lower_bound' was not declared in this scope Grid.templates.hh:326: error: no match for 'operator[]' in 'point[(dim + 1)]' Grid.templates.hh:330: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:333: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:338: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:339: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:342: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:343: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:346: error: 'bound' was not declared in this scope Grid.templates.hh:346: error: no match for 'operator[]' in 'interval_sizes[dim]' Grid.templates.hh:347: error: 'gcd' was not declared in this scope Grid.templates.hh:347: error: 'divisor' was not declared in this scope Grid.templates.hh:355: error: 'gcd' was not declared in this scope Grid.templates.hh:355: error: 'divisor' was not declared in this scope Grid.templates.hh:364: error: expected initializer before '&' token Grid.templates.hh:368: error: 'gcd' was not declared in this scope Grid.templates.hh:368: error: no match for 'operator[]' in 'point[(dim + 1)]' Grid.templates.hh:368: error: 'divisor' was not declared in this scope Grid.templates.hh:369: error: 'bound' was not declared in this scope Grid.templates.hh:369: error: no match for 'operator[]' in 'point[(dim + 1)]' Grid.templates.hh: In member function 'void Parma_Polyhedra_Library::Grid::map_space_dimensions(const Partial_Function&)': Grid.templates.hh:500: error: expected initializer before '&' token Grid.templates.hh:503: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((new_space_dimension - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Grid.templates.hh:506: error: 'const class Parma_Polyhedra_Library::Grid_Generator' has no member named 'coefficient' Grid.templates.hh:508: error: 'const class Parma_Polyhedra_Library::Grid_Generator' has no member named 'coefficient' Grid.templates.hh:519: error: 'system_divisor' was not declared in this scope Grid.templates.hh:522: error: 'const class Parma_Polyhedra_Library::Grid_Generator' has no member named 'divisor' Grid.templates.hh: In static member function 'static void Parma_Polyhedra_Library::Grid::reduce_reduced(M&, Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, const std::vector<Parma_Polyhedra_Library::Grid::Dimension_Kind, std::allocator<Parma_Polyhedra_Library::Grid::Dimension_Kind> >&, bool)': Grid.templates.hh:549: error: expected initializer before '&' token Grid.templates.hh:551: error: 'pivot_dim' was not declared in this scope Grid.templates.hh:554: error: 'Coefficient' was not declared in this scope Grid.templates.hh:554: error: template argument 1 is invalid Grid.templates.hh:554: error: expected initializer before 'holderpivot_dim_half' Grid.templates.hh:554: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:554: error: template argument 1 is invalid Grid.templates.hh:554: error: expected initializer before 'pivot_dim_half' Grid.templates.hh:555: error: 'pivot_dim_half' was not declared in this scope Grid.templates.hh:555: error: 'pivot_dim' was not declared in this scope Grid.templates.hh:570: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:570: error: template argument 1 is invalid Grid.templates.hh:570: error: expected initializer before 'holdernum_rows_to_subtract' Grid.templates.hh:570: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:570: error: template argument 1 is invalid Grid.templates.hh:570: error: expected initializer before 'num_rows_to_subtract' Grid.templates.hh:571: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:571: error: template argument 1 is invalid Grid.templates.hh:571: error: expected initializer before 'holderrow_dim_remainder' Grid.templates.hh:571: error: 'Coefficient' cannot appear in a constant-expression Grid.templates.hh:571: error: template argument 1 is invalid Grid.templates.hh:571: error: expected initializer before 'row_dim_remainder' Grid.templates.hh:585: error: expected initializer before '&' token Grid.templates.hh:587: error: 'num_rows_to_subtract' was not declared in this scope Grid.templates.hh:587: error: 'row_dim' was not declared in this scope Grid.templates.hh:593: error: 'row_dim_remainder' was not declared in this scope BD_Shape.defs.hh: At global scope: BD_Shape.defs.hh:288: error: 'Coefficient' has not been declared BD_Shape.defs.hh:653: error: 'Coefficient' has not been declared BD_Shape.defs.hh:653: error: 'Coefficient' has not been declared BD_Shape.defs.hh:684: error: 'Coefficient' has not been declared BD_Shape.defs.hh:684: error: 'Coefficient' has not been declared BD_Shape.defs.hh:712: error: 'Coefficient' has not been declared BD_Shape.defs.hh:712: error: 'Coefficient' has not been declared BD_Shape.defs.hh:743: error: 'Coefficient' has not been declared BD_Shape.defs.hh:743: error: 'Coefficient' has not been declared BD_Shape.defs.hh:1201: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:1201: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:1225: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:1225: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:1255: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:1255: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:1308: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:1309: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:1363: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:1363: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:1395: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:1395: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:1937: error: 'Coefficient' has not been declared BD_Shape.defs.hh:1937: error: 'Coefficient' has not been declared BD_Shape.defs.hh:1968: error: 'Coefficient' has not been declared BD_Shape.defs.hh:1968: error: 'Coefficient' has not been declared BD_Shape.defs.hh:2019: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:2019: error: expected ',' or '...' before 'num' BD_Shape.defs.hh:2030: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:2030: error: expected ',' or '...' before 'denominator' BD_Shape.defs.hh:2056: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:2056: error: expected ',' or '...' before 'sc_den' BD_Shape.defs.hh:2078: error: 'Coefficient_traits' is not a class or namespace BD_Shape.defs.hh:2078: error: expected ',' or '...' before 'sc_den' Octagonal_Shape.defs.hh:295: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:296: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:748: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:748: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:779: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:779: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:807: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:807: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:838: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:838: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:1081: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1081: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1104: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1104: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1134: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1134: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1189: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1189: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1219: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1220: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1274: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1274: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1713: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1713: error: expected ',' or '...' before 'num' Octagonal_Shape.defs.hh:1725: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1725: error: expected ',' or '...' before 'denominator' Octagonal_Shape.defs.hh:1764: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1764: error: expected ',' or '...' before 'sc_den' Octagonal_Shape.defs.hh:1798: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.defs.hh:1798: error: expected ',' or '...' before 'sc_den' Octagonal_Shape.defs.hh:1926: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:1926: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:1961: error: 'Coefficient' has not been declared Octagonal_Shape.defs.hh:1961: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:266: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:266: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:274: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:274: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:283: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:283: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:291: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:291: error: 'Coefficient' has not been declared Octagonal_Shape.inlines.hh:396: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.inlines.hh:396: error: expected ',' or '...' before 'num' Octagonal_Shape.inlines.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::add_octagonal_constraint(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, int)': Octagonal_Shape.inlines.hh:403: error: 'den' was not declared in this scope Octagonal_Shape.inlines.hh:406: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh: In constructor 'Parma_Polyhedra_Library::Octagonal_Shape<T>::Octagonal_Shape(const Parma_Polyhedra_Library::Polyhedron&, Parma_Polyhedra_Library::Complexity_Class)': Octagonal_Shape.templates.hh:117: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:117: error: template argument 1 is invalid Octagonal_Shape.templates.hh:117: error: expected initializer before 'holdernum' Octagonal_Shape.templates.hh:117: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:117: error: template argument 1 is invalid Octagonal_Shape.templates.hh:117: error: expected initializer before 'num' Octagonal_Shape.templates.hh:118: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:118: error: template argument 1 is invalid Octagonal_Shape.templates.hh:118: error: expected initializer before 'holderden' Octagonal_Shape.templates.hh:118: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:118: error: template argument 1 is invalid Octagonal_Shape.templates.hh:118: error: expected initializer before 'den' Octagonal_Shape.templates.hh:125: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:125: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:135: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:135: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:147: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:147: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:160: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:160: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:171: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:171: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:179: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:179: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh: In constructor 'Parma_Polyhedra_Library::Octagonal_Shape<T>::Octagonal_Shape(const Parma_Polyhedra_Library::Generator_System&)': Octagonal_Shape.templates.hh:225: error: expected initializer before '&' token Octagonal_Shape.templates.hh:227: error: expected initializer before '&' token Octagonal_Shape.templates.hh:232: error: expected initializer before '&' token Octagonal_Shape.templates.hh:238: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:238: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:238: error: 'd' was not declared in this scope Octagonal_Shape.templates.hh:245: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:245: error: 'd' was not declared in this scope Octagonal_Shape.templates.hh:252: error: expected initializer before '&' token Octagonal_Shape.templates.hh:254: error: expected initializer before '&' token Octagonal_Shape.templates.hh:259: error: expected initializer before '&' token Octagonal_Shape.templates.hh:265: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:265: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:265: error: 'd' was not declared in this scope Octagonal_Shape.templates.hh:276: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:276: error: 'd' was not declared in this scope Octagonal_Shape.templates.hh:300: error: expected initializer before '&' token Octagonal_Shape.templates.hh:305: error: expected initializer before '&' token Octagonal_Shape.templates.hh:308: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:308: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:313: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:313: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:319: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:328: error: expected initializer before '&' token Octagonal_Shape.templates.hh:333: error: expected initializer before '&' token Octagonal_Shape.templates.hh:337: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:337: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:340: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:340: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:343: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:343: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:346: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:346: error: 'g_j' was not declared in this scope Octagonal_Shape.templates.hh:351: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh:354: error: 'g_i' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::add_constraint(const Parma_Polyhedra_Library::Constraint&)': Octagonal_Shape.templates.hh:391: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:391: error: template argument 1 is invalid Octagonal_Shape.templates.hh:391: error: expected initializer before 'holdercoeff' Octagonal_Shape.templates.hh:391: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:391: error: template argument 1 is invalid Octagonal_Shape.templates.hh:391: error: expected initializer before 'coeff' Octagonal_Shape.templates.hh:392: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:392: error: template argument 1 is invalid Octagonal_Shape.templates.hh:392: error: expected initializer before 'holderterm' Octagonal_Shape.templates.hh:392: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:392: error: template argument 1 is invalid Octagonal_Shape.templates.hh:392: error: expected initializer before 'term' Octagonal_Shape.templates.hh:395: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:395: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:401: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:402: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:412: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:418: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:418: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::refine_no_check(const Parma_Polyhedra_Library::Constraint&)': Octagonal_Shape.templates.hh:486: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:486: error: template argument 1 is invalid Octagonal_Shape.templates.hh:486: error: expected initializer before 'holdercoeff' Octagonal_Shape.templates.hh:486: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:486: error: template argument 1 is invalid Octagonal_Shape.templates.hh:486: error: expected initializer before 'coeff' Octagonal_Shape.templates.hh:487: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:487: error: template argument 1 is invalid Octagonal_Shape.templates.hh:487: error: expected initializer before 'holderterm' Octagonal_Shape.templates.hh:487: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:487: error: template argument 1 is invalid Octagonal_Shape.templates.hh:487: error: expected initializer before 'term' Octagonal_Shape.templates.hh:490: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:490: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:494: error: expected initializer before '&' token Octagonal_Shape.templates.hh:496: error: 'c_inhomo' was not declared in this scope Octagonal_Shape.templates.hh:508: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:514: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:514: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Congruence_System Parma_Polyhedra_Library::Octagonal_Shape<T>::minimized_congruences() const': Octagonal_Shape.templates.hh:590: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Octagonal_Shape.templates.hh:594: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Octagonal_Shape.templates.hh:602: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:602: error: template argument 1 is invalid Octagonal_Shape.templates.hh:602: error: expected initializer before 'holdernum' Octagonal_Shape.templates.hh:602: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:602: error: template argument 1 is invalid Octagonal_Shape.templates.hh:602: error: expected initializer before 'num' Octagonal_Shape.templates.hh:603: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:603: error: template argument 1 is invalid Octagonal_Shape.templates.hh:603: error: expected initializer before 'holderden' Octagonal_Shape.templates.hh:603: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:603: error: template argument 1 is invalid Octagonal_Shape.templates.hh:603: error: expected initializer before 'den' Octagonal_Shape.templates.hh:634: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:634: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:651: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:651: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::Octagonal_Shape<T>::bounds(const Parma_Polyhedra_Library::Linear_Expression&, bool) const': Octagonal_Shape.templates.hh:1016: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:1016: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1016: error: expected initializer before 'holdercoeff' Octagonal_Shape.templates.hh:1016: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1016: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1016: error: expected initializer before 'coeff' Octagonal_Shape.templates.hh:1017: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1017: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1017: error: expected initializer before 'holderterm' Octagonal_Shape.templates.hh:1017: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1017: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1017: error: expected initializer before 'term' Octagonal_Shape.templates.hh:1019: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:1019: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:1040: error: 'Coefficient' has not been declared Octagonal_Shape.templates.hh:1040: error: 'Coefficient' has not been declared Octagonal_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::Octagonal_Shape<T>::max_min(const Parma_Polyhedra_Library::Linear_Expression&, bool, int&, int&, bool&) const': Octagonal_Shape.templates.hh:1054: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1072: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:1072: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1072: error: expected initializer before 'holdercoeff' Octagonal_Shape.templates.hh:1072: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1072: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1072: error: expected initializer before 'coeff' Octagonal_Shape.templates.hh:1073: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1073: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1073: error: expected initializer before 'holderterm' Octagonal_Shape.templates.hh:1073: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1073: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1073: error: expected initializer before 'term' Octagonal_Shape.templates.hh:1075: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:1075: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:1091: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1102: error: expected initializer before '&' token Octagonal_Shape.templates.hh:1103: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1103: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1103: error: expected initializer before 'holderminus_b' Octagonal_Shape.templates.hh:1103: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1103: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1103: error: expected initializer before 'minus_b' Octagonal_Shape.templates.hh:1104: error: 'minus_b' was not declared in this scope Octagonal_Shape.templates.hh:1104: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:1105: error: expected initializer before '&' token Octagonal_Shape.templates.hh:1106: error: 'sc_b' was not declared in this scope Octagonal_Shape.templates.hh:1110: error: expected initializer before '&' token Octagonal_Shape.templates.hh:1111: error: 'coeff_i' was not declared in this scope Octagonal_Shape.templates.hh:1115: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1115: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1115: error: expected initializer before 'holderminus_coeff_i' Octagonal_Shape.templates.hh:1115: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1115: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1115: error: expected initializer before 'minus_coeff_i' Octagonal_Shape.templates.hh:1116: error: 'minus_coeff_i' was not declared in this scope Octagonal_Shape.templates.hh:1116: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:1129: error: no matching function for call to 'neg_assign(int&)' Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:1143: error: 'Coefficient' has not been declared Octagonal_Shape.templates.hh:1143: error: 'Coefficient' has not been declared Octagonal_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::Octagonal_Shape<T>::max_min(const Parma_Polyhedra_Library::Linear_Expression&, bool, int&, int&, bool&, Parma_Polyhedra_Library::Generator&) const': Octagonal_Shape.templates.hh:1157: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::Octagonal_Shape<T>::relation_with(const Parma_Polyhedra_Library::Congruence&) const': Octagonal_Shape.templates.hh:1212: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1212: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'modulus' Octagonal_Shape.templates.hh:1217: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:1217: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1217: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1217: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1217: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1217: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1217: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1217: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1217: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' Octagonal_Shape.templates.hh:1218: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1218: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1218: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1218: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1218: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1218: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1218: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1218: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1218: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' Octagonal_Shape.templates.hh:1220: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1220: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1220: error: expected initializer before 'holdermod' Octagonal_Shape.templates.hh:1220: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1220: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1220: error: expected initializer before 'mod' Octagonal_Shape.templates.hh:1221: error: 'mod' was not declared in this scope Octagonal_Shape.templates.hh:1221: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'modulus' Octagonal_Shape.templates.hh:1224: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'coefficient' Octagonal_Shape.templates.hh:1230: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1230: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1230: error: expected initializer before 'holderv' Octagonal_Shape.templates.hh:1230: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1230: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1230: error: expected initializer before 'v' Octagonal_Shape.templates.hh:1231: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1231: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1231: error: expected initializer before 'holderlower_num' Octagonal_Shape.templates.hh:1231: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1231: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1231: error: expected initializer before 'lower_num' Octagonal_Shape.templates.hh:1232: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1232: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1232: error: expected initializer before 'holderlower_den' Octagonal_Shape.templates.hh:1232: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1232: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1232: error: expected initializer before 'lower_den' Octagonal_Shape.templates.hh:1233: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1233: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1233: error: expected initializer before 'holderlower' Octagonal_Shape.templates.hh:1233: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1233: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1233: error: expected initializer before 'lower' Octagonal_Shape.templates.hh:1234: error: 'lower_num' was not declared in this scope Octagonal_Shape.templates.hh:1235: error: 'lower_den' was not declared in this scope Octagonal_Shape.templates.hh:1236: error: 'v' was not declared in this scope Octagonal_Shape.templates.hh:1236: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1237: error: 'lower' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::Octagonal_Shape<T>::relation_with(const Parma_Polyhedra_Library::Constraint&) const': Octagonal_Shape.templates.hh:1264: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1265: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1267: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1274: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1287: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:1287: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1287: error: expected initializer before 'holdercoeff' Octagonal_Shape.templates.hh:1287: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1287: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1287: error: expected initializer before 'coeff' Octagonal_Shape.templates.hh:1288: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1288: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1288: error: expected initializer before 'holderc_term' Octagonal_Shape.templates.hh:1288: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1288: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1288: error: expected initializer before 'c_term' Octagonal_Shape.templates.hh:1290: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:1290: error: 'c_term' was not declared in this scope Octagonal_Shape.templates.hh:1300: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'coefficient' Octagonal_Shape.templates.hh:1302: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1302: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1302: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1302: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1302: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1302: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1302: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1302: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1302: error: request for member 'item' in 'holdermax_num', which is of non-class type 'int' Octagonal_Shape.templates.hh:1303: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1303: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1303: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1303: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1303: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1303: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1303: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1303: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1303: error: request for member 'item' in 'holdermax_den', which is of non-class type 'int' Octagonal_Shape.templates.hh:1305: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1305: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1305: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1305: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1305: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1305: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1305: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1305: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1305: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' Octagonal_Shape.templates.hh:1306: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1306: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1306: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1306: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1306: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1306: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1306: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1306: error: invalid type in declaration before '=' token Octagonal_Shape.templates.hh:1306: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' Octagonal_Shape.templates.hh:1313: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1328: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1341: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1342: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1378: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Octagonal_Shape.templates.hh:1401: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:1412: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1412: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1412: error: expected initializer before 'holdernumer' Octagonal_Shape.templates.hh:1412: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1412: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1412: error: expected initializer before 'numer' Octagonal_Shape.templates.hh:1413: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1413: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1413: error: expected initializer before 'holderdenom' Octagonal_Shape.templates.hh:1413: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1413: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1413: error: expected initializer before 'denom' Octagonal_Shape.templates.hh:1422: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:1423: error: 'c_term' was not declared in this scope Octagonal_Shape.templates.hh:1435: error: 'numer' was not declared in this scope Octagonal_Shape.templates.hh:1435: error: 'denom' was not declared in this scope Octagonal_Shape.templates.hh:1450: error: 'numer' was not declared in this scope Octagonal_Shape.templates.hh:1450: error: 'denom' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Gen_Relation Parma_Polyhedra_Library::Octagonal_Shape<T>::relation_with(const Parma_Polyhedra_Library::Generator&) const': Octagonal_Shape.templates.hh:1530: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:1530: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1530: error: expected initializer before 'holdernum' Octagonal_Shape.templates.hh:1530: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1530: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1530: error: expected initializer before 'num' Octagonal_Shape.templates.hh:1531: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1531: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1531: error: expected initializer before 'holderden' Octagonal_Shape.templates.hh:1531: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1531: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1531: error: expected initializer before 'den' Octagonal_Shape.templates.hh:1532: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1532: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1532: error: expected initializer before 'holderproduct' Octagonal_Shape.templates.hh:1532: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:1532: error: template argument 1 is invalid Octagonal_Shape.templates.hh:1532: error: expected initializer before 'product' Octagonal_Shape.templates.hh:1543: error: expected initializer before '&' token Octagonal_Shape.templates.hh:1552: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1552: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1554: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1554: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1559: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1570: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1570: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1572: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1572: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1577: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1591: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1591: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1593: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1593: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1598: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1625: error: expected initializer before '&' token Octagonal_Shape.templates.hh:1629: error: expected initializer before '&' token Octagonal_Shape.templates.hh:1641: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1641: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1642: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1642: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1644: error: 'g_coeff_y' was not declared in this scope Octagonal_Shape.templates.hh:1649: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1661: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1661: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1662: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1662: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1664: error: 'g_coeff_y' was not declared in this scope Octagonal_Shape.templates.hh:1669: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1682: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1682: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1683: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1683: error: 'g_coeff_y' was not declared in this scope Octagonal_Shape.templates.hh:1685: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1690: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1706: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1706: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1707: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1707: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1708: error: 'g_coeff_y' was not declared in this scope Octagonal_Shape.templates.hh:1713: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1725: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1725: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1727: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1727: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1728: error: 'g_coeff_y' was not declared in this scope Octagonal_Shape.templates.hh:1733: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh:1746: error: 'num' was not declared in this scope Octagonal_Shape.templates.hh:1746: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:1747: error: 'product' was not declared in this scope Octagonal_Shape.templates.hh:1747: error: 'g_coeff_x' was not declared in this scope Octagonal_Shape.templates.hh:1748: error: 'g_coeff_y' was not declared in this scope Octagonal_Shape.templates.hh:1753: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::get_limiting_octagon(const Parma_Polyhedra_Library::Constraint_System&, Parma_Polyhedra_Library::Octagonal_Shape<T>&) const': Octagonal_Shape.templates.hh:3031: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:3031: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3031: error: expected initializer before 'holdercoeff' Octagonal_Shape.templates.hh:3031: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3031: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3031: error: expected initializer before 'coeff' Octagonal_Shape.templates.hh:3032: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3032: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3032: error: expected initializer before 'holderterm' Octagonal_Shape.templates.hh:3032: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3032: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3032: error: expected initializer before 'term' Octagonal_Shape.templates.hh:3043: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:3043: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:3058: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh:3061: error: 'term' was not declared in this scope Octagonal_Shape.templates.hh:3061: error: 'coeff' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:3315: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:3315: error: expected ',' or '...' before 'sc_den' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::deduce_v_pm_u_bounds(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:3318: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3319: error: 'ub_v' was not declared in this scope Octagonal_Shape.templates.hh:3336: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:3336: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3336: error: expected initializer before 'holderminus_expr_u' Octagonal_Shape.templates.hh:3336: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3336: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3336: error: expected initializer before 'minus_expr_u' Octagonal_Shape.templates.hh:3342: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3344: error: 'expr_u' was not declared in this scope Octagonal_Shape.templates.hh:3349: error: 'expr_u' was not declared in this scope Octagonal_Shape.templates.hh:3388: error: 'minus_expr_u' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:3434: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:3434: error: expected ',' or '...' before 'sc_den' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:3437: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3438: error: 'minus_lb_v' was not declared in this scope Octagonal_Shape.templates.hh:3453: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:3453: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3453: error: expected initializer before 'holderminus_expr_u' Octagonal_Shape.templates.hh:3453: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3453: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3453: error: expected initializer before 'minus_expr_u' Octagonal_Shape.templates.hh:3459: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3461: error: 'expr_u' was not declared in this scope Octagonal_Shape.templates.hh:3466: error: 'expr_u' was not declared in this scope Octagonal_Shape.templates.hh:3506: error: 'minus_expr_u' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:3641: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:3641: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::refine(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:3642: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:3647: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:3650: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3660: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:3678: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:3678: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3678: error: expected initializer before 'holderminus_den' Octagonal_Shape.templates.hh:3678: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3678: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3678: error: expected initializer before 'minus_den' Octagonal_Shape.templates.hh:3679: error: 'minus_den' was not declared in this scope Octagonal_Shape.templates.hh:3686: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:3687: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:3692: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3692: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3692: error: expected initializer before 'holdertwo_b' Octagonal_Shape.templates.hh:3692: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3692: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3692: error: expected initializer before 'two_b' Octagonal_Shape.templates.hh:3693: error: 'two_b' was not declared in this scope Octagonal_Shape.templates.hh:3693: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3716: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3720: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:3723: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3727: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3733: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3737: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3744: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3747: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:3767: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3770: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:3798: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3798: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3798: error: expected initializer before 'holderminus_b' Octagonal_Shape.templates.hh:3798: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3798: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3798: error: expected initializer before 'minus_b' Octagonal_Shape.templates.hh:3799: error: 'minus_b' was not declared in this scope Octagonal_Shape.templates.hh:3799: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:3800: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3801: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3802: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3803: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3828: error: 'sc_b' was not declared in this scope Octagonal_Shape.templates.hh:3829: error: 'minus_sc_b' was not declared in this scope Octagonal_Shape.templates.hh:3834: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3834: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3834: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:3834: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:3834: error: template argument 1 is invalid Octagonal_Shape.templates.hh:3834: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:3846: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3847: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:3878: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:3920: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3927: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3938: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3943: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3945: error: 'ppi' was not declared in this scope Octagonal_Shape.templates.hh:3945: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3952: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3965: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3972: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3983: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3988: error: expected initializer before '&' token Octagonal_Shape.templates.hh:3990: error: 'npi' was not declared in this scope Octagonal_Shape.templates.hh:3990: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:3998: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4017: error: 'sc_b' was not declared in this scope Octagonal_Shape.templates.hh:4022: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4022: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4022: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:4022: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4022: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4022: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:4033: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4034: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:4048: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:4055: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4061: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4072: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4076: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:4084: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:4103: error: 'minus_sc_b' was not declared in this scope Octagonal_Shape.templates.hh:4108: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4108: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4108: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:4108: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4108: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4108: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:4117: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4118: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:4132: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:4140: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4146: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4157: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4161: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:4170: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:4194: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:4195: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::affine_image(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:4197: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4226: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:4239: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4240: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:4240: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4240: error: expected initializer before 'holderminus_den' Octagonal_Shape.templates.hh:4240: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4240: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4240: error: expected initializer before 'minus_den' Octagonal_Shape.templates.hh:4241: error: 'minus_den' was not declared in this scope Octagonal_Shape.templates.hh:4241: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4256: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4256: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4256: error: expected initializer before 'holdertwo_b' Octagonal_Shape.templates.hh:4256: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4256: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4256: error: expected initializer before 'two_b' Octagonal_Shape.templates.hh:4257: error: 'two_b' was not declared in this scope Octagonal_Shape.templates.hh:4257: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4267: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4268: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:4273: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4327: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4351: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4355: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4361: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4365: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4388: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4388: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4388: error: expected initializer before 'holderminus_b' Octagonal_Shape.templates.hh:4388: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4388: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4388: error: expected initializer before 'minus_b' Octagonal_Shape.templates.hh:4389: error: 'minus_b' was not declared in this scope Octagonal_Shape.templates.hh:4389: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4391: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4392: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4393: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4394: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4413: error: 'sc_b' was not declared in this scope Octagonal_Shape.templates.hh:4414: error: 'minus_sc_b' was not declared in this scope Octagonal_Shape.templates.hh:4420: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4420: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4420: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:4420: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4420: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4420: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:4432: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4433: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:4464: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:4509: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4515: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4526: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4531: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4532: error: 'ppi' was not declared in this scope Octagonal_Shape.templates.hh:4532: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4539: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4552: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4558: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4569: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4574: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4575: error: 'npi' was not declared in this scope Octagonal_Shape.templates.hh:4575: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:4583: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:4602: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:4603: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::affine_preimage(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:4606: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4626: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4637: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:4662: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4663: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:4663: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4667: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4682: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4683: error: 'coeff_v' was not declared in this scope Octagonal_Shape.templates.hh:4686: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4692: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:4692: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4692: error: expected initializer before 'holderminus_coeff_v' Octagonal_Shape.templates.hh:4692: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4692: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4692: error: expected initializer before 'minus_coeff_v' Octagonal_Shape.templates.hh:4693: error: 'minus_coeff_v' was not declared in this scope Octagonal_Shape.templates.hh:4694: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:4712: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:4712: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::generalized_affine_image(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:4714: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4740: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4758: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:4773: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4774: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:4774: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4774: error: expected initializer before 'holderminus_den' Octagonal_Shape.templates.hh:4774: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4774: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4774: error: expected initializer before 'minus_den' Octagonal_Shape.templates.hh:4775: error: 'minus_den' was not declared in this scope Octagonal_Shape.templates.hh:4775: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:4788: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4788: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4788: error: expected initializer before 'holdertwo_b' Octagonal_Shape.templates.hh:4788: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4788: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4788: error: expected initializer before 'two_b' Octagonal_Shape.templates.hh:4789: error: 'two_b' was not declared in this scope Octagonal_Shape.templates.hh:4789: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4814: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4815: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:4821: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4889: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4976: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4976: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4976: error: expected initializer before 'holderminus_b' Octagonal_Shape.templates.hh:4976: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:4976: error: template argument 1 is invalid Octagonal_Shape.templates.hh:4976: error: expected initializer before 'minus_b' Octagonal_Shape.templates.hh:4977: error: 'minus_b' was not declared in this scope Octagonal_Shape.templates.hh:4977: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:4978: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4979: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4980: error: expected initializer before '&' token Octagonal_Shape.templates.hh:4981: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5002: error: 'sc_b' was not declared in this scope Octagonal_Shape.templates.hh:5006: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5006: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5006: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:5006: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5006: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5006: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:5017: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5018: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:5032: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:5048: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5055: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5066: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5070: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5071: error: 'pi' was not declared in this scope Octagonal_Shape.templates.hh:5098: error: 'minus_sc_b' was not declared in this scope Octagonal_Shape.templates.hh:5100: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5100: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5100: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:5100: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5100: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5100: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:5111: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5112: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:5126: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:5143: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5150: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5161: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5165: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5166: error: 'pi' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::generalized_affine_image(const Parma_Polyhedra_Library::Linear_Expression&, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&)': Octagonal_Shape.templates.hh:5235: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5242: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5275: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5277: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:5283: error: 'b_lhs' was not declared in this scope Octagonal_Shape.templates.hh:5284: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:5292: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5294: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:5389: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:5390: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::bounded_affine_image(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:5392: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5426: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5440: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5441: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:5441: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5441: error: expected initializer before 'holderminus_den' Octagonal_Shape.templates.hh:5441: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5441: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5441: error: expected initializer before 'minus_den' Octagonal_Shape.templates.hh:5442: error: 'minus_den' was not declared in this scope Octagonal_Shape.templates.hh:5442: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5459: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5459: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5459: error: expected initializer before 'holdertwo_b' Octagonal_Shape.templates.hh:5459: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5459: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5459: error: expected initializer before 'two_b' Octagonal_Shape.templates.hh:5460: error: 'two_b' was not declared in this scope Octagonal_Shape.templates.hh:5460: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:5469: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5470: error: 'w_coeff' was not declared in this scope Octagonal_Shape.templates.hh:5506: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:5508: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:5512: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:5514: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:5535: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5535: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5535: error: expected initializer before 'holderminus_b' Octagonal_Shape.templates.hh:5535: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5535: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5535: error: expected initializer before 'minus_b' Octagonal_Shape.templates.hh:5536: error: 'minus_b' was not declared in this scope Octagonal_Shape.templates.hh:5536: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:5538: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5539: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5540: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5556: error: 'minus_sc_b' was not declared in this scope Octagonal_Shape.templates.hh:5562: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5562: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5562: error: expected initializer before 'holderminus_sc_i' Octagonal_Shape.templates.hh:5562: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5562: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5562: error: expected initializer before 'minus_sc_i' Octagonal_Shape.templates.hh:5573: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5574: error: 'sc_i' was not declared in this scope Octagonal_Shape.templates.hh:5592: error: 'minus_sc_i' was not declared in this scope Octagonal_Shape.templates.hh:5627: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5633: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5644: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5649: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5650: error: 'npi' was not declared in this scope Octagonal_Shape.templates.hh:5650: error: 'sc_den' was not declared in this scope Octagonal_Shape.templates.hh:5658: error: 'minus_sc_den' was not declared in this scope Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:5679: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:5680: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::generalized_affine_preimage(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:5682: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5708: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5719: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5720: error: 'expr_v' was not declared in this scope Octagonal_Shape.templates.hh:5724: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5725: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:5725: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5725: error: expected initializer before 'holderinverse_den' Octagonal_Shape.templates.hh:5725: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5725: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5725: error: expected initializer before 'inverse_den' Octagonal_Shape.templates.hh:5726: error: 'inverse_den' was not declared in this scope Octagonal_Shape.templates.hh:5737: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::generalized_affine_preimage(const Parma_Polyhedra_Library::Linear_Expression&, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&)': Octagonal_Shape.templates.hh:5788: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5795: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5810: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5812: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:5818: error: 'b_lhs' was not declared in this scope Octagonal_Shape.templates.hh:5819: error: 'den' was not declared in this scope Octagonal_Shape.templates.hh:5828: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5830: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh: At global scope: Octagonal_Shape.templates.hh:5919: error: 'Coefficient_traits' is not a class or namespace Octagonal_Shape.templates.hh:5920: error: expected ',' or '...' before 'denominator' Octagonal_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::Octagonal_Shape<T>::bounded_affine_preimage(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&, int)': Octagonal_Shape.templates.hh:5922: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5947: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5948: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5953: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Octagonal_Shape.templates.hh:5954: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5960: error: expected initializer before '&' token Octagonal_Shape.templates.hh:5966: error: 'expr_v' was not declared in this scope Octagonal_Shape.templates.hh:5966: error: 'denominator' was not declared in this scope Octagonal_Shape.templates.hh:5967: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:5967: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5967: error: expected initializer before 'holderinverse_den' Octagonal_Shape.templates.hh:5967: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:5967: error: template argument 1 is invalid Octagonal_Shape.templates.hh:5967: error: expected initializer before 'inverse_den' Octagonal_Shape.templates.hh:5968: error: 'inverse_den' was not declared in this scope Octagonal_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Octagonal_Shape<T>::constraints() const': Octagonal_Shape.templates.hh:5991: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((((const Parma_Polyhedra_Library::Octagonal_Shape<T>*)this)->Parma_Polyhedra_Library::Octagonal_Shape<T>::space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Octagonal_Shape.templates.hh:5995: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((((const Parma_Polyhedra_Library::Octagonal_Shape<T>*)this)->Parma_Polyhedra_Library::Octagonal_Shape<T>::space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Octagonal_Shape.templates.hh:6003: error: 'Coefficient' was not declared in this scope Octagonal_Shape.templates.hh:6003: error: template argument 1 is invalid Octagonal_Shape.templates.hh:6003: error: expected initializer before 'holdera' Octagonal_Shape.templates.hh:6003: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:6003: error: template argument 1 is invalid Octagonal_Shape.templates.hh:6003: error: expected initializer before 'a' Octagonal_Shape.templates.hh:6004: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:6004: error: template argument 1 is invalid Octagonal_Shape.templates.hh:6004: error: expected initializer before 'holderb' Octagonal_Shape.templates.hh:6004: error: 'Coefficient' cannot appear in a constant-expression Octagonal_Shape.templates.hh:6004: error: template argument 1 is invalid Octagonal_Shape.templates.hh:6004: error: expected initializer before 'b' Octagonal_Shape.templates.hh:6017: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6017: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6024: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6024: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6029: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6029: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6049: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6049: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6055: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6055: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6059: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6059: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6068: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6068: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6074: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6074: error: 'a' was not declared in this scope Octagonal_Shape.templates.hh:6078: error: 'b' was not declared in this scope Octagonal_Shape.templates.hh:6078: error: 'a' was not declared in this scope BD_Shape.inlines.hh: At global scope: BD_Shape.inlines.hh:415: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:415: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:423: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:423: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:431: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:431: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:439: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:439: error: 'Coefficient' has not been declared BD_Shape.inlines.hh:716: error: 'Coefficient_traits' is not a class or namespace BD_Shape.inlines.hh:716: error: expected ',' or '...' before 'num' BD_Shape.inlines.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::add_dbm_constraint(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, int)': BD_Shape.inlines.hh:720: error: 'den' was not declared in this scope BD_Shape.inlines.hh:722: error: 'num' was not declared in this scope BD_Shape.templates.hh: In constructor 'Parma_Polyhedra_Library::BD_Shape<T>::BD_Shape(const Parma_Polyhedra_Library::Generator_System&)': BD_Shape.templates.hh:83: error: expected initializer before '&' token BD_Shape.templates.hh:85: error: expected initializer before '&' token BD_Shape.templates.hh:89: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:89: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:89: error: 'd' was not declared in this scope BD_Shape.templates.hh:90: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:90: error: 'd' was not declared in this scope BD_Shape.templates.hh:93: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:93: error: 'd' was not declared in this scope BD_Shape.templates.hh:99: error: expected initializer before '&' token BD_Shape.templates.hh:101: error: expected initializer before '&' token BD_Shape.templates.hh:105: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:105: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:105: error: 'd' was not declared in this scope BD_Shape.templates.hh:108: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:108: error: 'd' was not declared in this scope BD_Shape.templates.hh:112: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:112: error: 'd' was not declared in this scope BD_Shape.templates.hh:135: error: expected initializer before '&' token BD_Shape.templates.hh:139: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:139: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:141: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:145: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:150: error: expected initializer before '&' token BD_Shape.templates.hh:154: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:154: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh:156: error: 'g_i' was not declared in this scope BD_Shape.templates.hh:160: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' BD_Shape.templates.hh: In constructor 'Parma_Polyhedra_Library::BD_Shape<T>::BD_Shape(const Parma_Polyhedra_Library::Polyhedron&, Parma_Polyhedra_Library::Complexity_Class)': BD_Shape.templates.hh:247: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:247: error: template argument 1 is invalid BD_Shape.templates.hh:247: error: expected initializer before 'holdernum' BD_Shape.templates.hh:247: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:247: error: template argument 1 is invalid BD_Shape.templates.hh:247: error: expected initializer before 'num' BD_Shape.templates.hh:248: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:248: error: template argument 1 is invalid BD_Shape.templates.hh:248: error: expected initializer before 'holderden' BD_Shape.templates.hh:248: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:248: error: template argument 1 is invalid BD_Shape.templates.hh:248: error: expected initializer before 'den' BD_Shape.templates.hh:255: error: 'num' was not declared in this scope BD_Shape.templates.hh:255: error: 'den' was not declared in this scope BD_Shape.templates.hh:266: error: 'num' was not declared in this scope BD_Shape.templates.hh:266: error: 'den' was not declared in this scope BD_Shape.templates.hh:274: error: 'num' was not declared in this scope BD_Shape.templates.hh:274: error: 'den' was not declared in this scope BD_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Congruence_System Parma_Polyhedra_Library::BD_Shape<T>::minimized_congruences() const': BD_Shape.templates.hh:334: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:338: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:340: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:340: error: template argument 1 is invalid BD_Shape.templates.hh:340: error: expected initializer before 'holdernum' BD_Shape.templates.hh:340: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:340: error: template argument 1 is invalid BD_Shape.templates.hh:340: error: expected initializer before 'num' BD_Shape.templates.hh:341: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:341: error: template argument 1 is invalid BD_Shape.templates.hh:341: error: expected initializer before 'holderden' BD_Shape.templates.hh:341: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:341: error: template argument 1 is invalid BD_Shape.templates.hh:341: error: expected initializer before 'den' BD_Shape.templates.hh:356: error: 'num' was not declared in this scope BD_Shape.templates.hh:356: error: 'den' was not declared in this scope BD_Shape.templates.hh:362: error: 'num' was not declared in this scope BD_Shape.templates.hh:362: error: 'den' was not declared in this scope BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::add_constraint(const Parma_Polyhedra_Library::Constraint&)': BD_Shape.templates.hh:394: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:394: error: template argument 1 is invalid BD_Shape.templates.hh:394: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:394: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:394: error: template argument 1 is invalid BD_Shape.templates.hh:394: error: expected initializer before 'coeff' BD_Shape.templates.hh:396: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:400: error: expected initializer before '&' token BD_Shape.templates.hh:403: error: 'inhomo' was not declared in this scope BD_Shape.templates.hh:411: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:420: error: 'inhomo' was not declared in this scope BD_Shape.templates.hh:428: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:428: error: template argument 1 is invalid BD_Shape.templates.hh:428: error: expected initializer before 'holderminus_c_term' BD_Shape.templates.hh:428: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:428: error: template argument 1 is invalid BD_Shape.templates.hh:428: error: expected initializer before 'minus_c_term' BD_Shape.templates.hh:429: error: 'minus_c_term' was not declared in this scope BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::refine_no_check(const Parma_Polyhedra_Library::Constraint&)': BD_Shape.templates.hh:481: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:481: error: template argument 1 is invalid BD_Shape.templates.hh:481: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:481: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:481: error: template argument 1 is invalid BD_Shape.templates.hh:481: error: expected initializer before 'coeff' BD_Shape.templates.hh:483: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:486: error: expected initializer before '&' token BD_Shape.templates.hh:489: error: 'inhomo' was not declared in this scope BD_Shape.templates.hh:498: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:507: error: 'inhomo' was not declared in this scope BD_Shape.templates.hh:515: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:515: error: template argument 1 is invalid BD_Shape.templates.hh:515: error: expected initializer before 'holderminus_c_term' BD_Shape.templates.hh:515: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:515: error: template argument 1 is invalid BD_Shape.templates.hh:515: error: expected initializer before 'minus_c_term' BD_Shape.templates.hh:516: error: 'minus_c_term' was not declared in this scope BD_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::BD_Shape<T>::bounds(const Parma_Polyhedra_Library::Linear_Expression&, bool) const': BD_Shape.templates.hh:1038: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1038: error: template argument 1 is invalid BD_Shape.templates.hh:1038: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:1038: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1038: error: template argument 1 is invalid BD_Shape.templates.hh:1038: error: expected initializer before 'coeff' BD_Shape.templates.hh:1040: error: 'coeff' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:1062: error: 'Coefficient' has not been declared BD_Shape.templates.hh:1062: error: 'Coefficient' has not been declared BD_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::BD_Shape<T>::max_min(const Parma_Polyhedra_Library::Linear_Expression&, bool, int&, int&, bool&) const': BD_Shape.templates.hh:1077: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1096: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1096: error: template argument 1 is invalid BD_Shape.templates.hh:1096: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:1096: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1096: error: template argument 1 is invalid BD_Shape.templates.hh:1096: error: expected initializer before 'coeff' BD_Shape.templates.hh:1098: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:1115: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1126: error: expected initializer before '&' token BD_Shape.templates.hh:1127: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1127: error: template argument 1 is invalid BD_Shape.templates.hh:1127: error: expected initializer before 'holderminus_b' BD_Shape.templates.hh:1127: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1127: error: template argument 1 is invalid BD_Shape.templates.hh:1127: error: expected initializer before 'minus_b' BD_Shape.templates.hh:1128: error: 'minus_b' was not declared in this scope BD_Shape.templates.hh:1128: error: 'b' was not declared in this scope BD_Shape.templates.hh:1129: error: expected initializer before '&' token BD_Shape.templates.hh:1130: error: 'sc_b' was not declared in this scope BD_Shape.templates.hh:1134: error: expected initializer before '&' token BD_Shape.templates.hh:1135: error: 'coeff_i' was not declared in this scope BD_Shape.templates.hh:1139: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1139: error: template argument 1 is invalid BD_Shape.templates.hh:1139: error: expected initializer before 'holderminus_coeff_i' BD_Shape.templates.hh:1139: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1139: error: template argument 1 is invalid BD_Shape.templates.hh:1139: error: expected initializer before 'minus_coeff_i' BD_Shape.templates.hh:1140: error: 'minus_coeff_i' was not declared in this scope BD_Shape.templates.hh:1147: error: no matching function for call to 'neg_assign(int&)' BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:1161: error: 'Coefficient' has not been declared BD_Shape.templates.hh:1161: error: 'Coefficient' has not been declared BD_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::BD_Shape<T>::max_min(const Parma_Polyhedra_Library::Linear_Expression&, bool, int&, int&, bool&, Parma_Polyhedra_Library::Generator&) const': BD_Shape.templates.hh:1177: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' BD_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::BD_Shape<T>::relation_with(const Parma_Polyhedra_Library::Congruence&) const': BD_Shape.templates.hh:1220: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1220: error: template argument 1 is invalid BD_Shape.templates.hh:1220: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:1220: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1220: error: template argument 1 is invalid BD_Shape.templates.hh:1220: error: expected initializer before 'coeff' BD_Shape.templates.hh:1222: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:1236: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1236: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'modulus' BD_Shape.templates.hh:1241: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1241: error: template argument 1 is invalid BD_Shape.templates.hh:1241: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1241: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1241: error: template argument 1 is invalid BD_Shape.templates.hh:1241: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1241: error: template argument 1 is invalid BD_Shape.templates.hh:1241: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1241: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' BD_Shape.templates.hh:1242: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1242: error: template argument 1 is invalid BD_Shape.templates.hh:1242: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1242: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1242: error: template argument 1 is invalid BD_Shape.templates.hh:1242: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1242: error: template argument 1 is invalid BD_Shape.templates.hh:1242: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1242: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' BD_Shape.templates.hh:1244: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1244: error: template argument 1 is invalid BD_Shape.templates.hh:1244: error: expected initializer before 'holdermod' BD_Shape.templates.hh:1244: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1244: error: template argument 1 is invalid BD_Shape.templates.hh:1244: error: expected initializer before 'mod' BD_Shape.templates.hh:1245: error: 'mod' was not declared in this scope BD_Shape.templates.hh:1245: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'modulus' BD_Shape.templates.hh:1248: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'coefficient' BD_Shape.templates.hh:1254: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1254: error: template argument 1 is invalid BD_Shape.templates.hh:1254: error: expected initializer before 'holderv' BD_Shape.templates.hh:1254: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1254: error: template argument 1 is invalid BD_Shape.templates.hh:1254: error: expected initializer before 'v' BD_Shape.templates.hh:1255: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1255: error: template argument 1 is invalid BD_Shape.templates.hh:1255: error: expected initializer before 'holderlower_num' BD_Shape.templates.hh:1255: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1255: error: template argument 1 is invalid BD_Shape.templates.hh:1255: error: expected initializer before 'lower_num' BD_Shape.templates.hh:1256: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1256: error: template argument 1 is invalid BD_Shape.templates.hh:1256: error: expected initializer before 'holderlower_den' BD_Shape.templates.hh:1256: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1256: error: template argument 1 is invalid BD_Shape.templates.hh:1256: error: expected initializer before 'lower_den' BD_Shape.templates.hh:1257: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1257: error: template argument 1 is invalid BD_Shape.templates.hh:1257: error: expected initializer before 'holderlower' BD_Shape.templates.hh:1257: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1257: error: template argument 1 is invalid BD_Shape.templates.hh:1257: error: expected initializer before 'lower' BD_Shape.templates.hh:1258: error: 'lower_num' was not declared in this scope BD_Shape.templates.hh:1259: error: 'lower_den' was not declared in this scope BD_Shape.templates.hh:1260: error: 'v' was not declared in this scope BD_Shape.templates.hh:1260: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1261: error: 'lower' was not declared in this scope BD_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::BD_Shape<T>::relation_with(const Parma_Polyhedra_Library::Constraint&) const': BD_Shape.templates.hh:1288: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1289: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1291: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1296: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1309: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1309: error: template argument 1 is invalid BD_Shape.templates.hh:1309: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:1309: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1309: error: template argument 1 is invalid BD_Shape.templates.hh:1309: error: expected initializer before 'coeff' BD_Shape.templates.hh:1310: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:1320: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'coefficient' BD_Shape.templates.hh:1322: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1322: error: template argument 1 is invalid BD_Shape.templates.hh:1322: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1322: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1322: error: template argument 1 is invalid BD_Shape.templates.hh:1322: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1322: error: template argument 1 is invalid BD_Shape.templates.hh:1322: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1322: error: request for member 'item' in 'holdermax_num', which is of non-class type 'int' BD_Shape.templates.hh:1323: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1323: error: template argument 1 is invalid BD_Shape.templates.hh:1323: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1323: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1323: error: template argument 1 is invalid BD_Shape.templates.hh:1323: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1323: error: template argument 1 is invalid BD_Shape.templates.hh:1323: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1323: error: request for member 'item' in 'holdermax_den', which is of non-class type 'int' BD_Shape.templates.hh:1325: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1325: error: template argument 1 is invalid BD_Shape.templates.hh:1325: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1325: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1325: error: template argument 1 is invalid BD_Shape.templates.hh:1325: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1325: error: template argument 1 is invalid BD_Shape.templates.hh:1325: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1325: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' BD_Shape.templates.hh:1326: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1326: error: template argument 1 is invalid BD_Shape.templates.hh:1326: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1326: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1326: error: template argument 1 is invalid BD_Shape.templates.hh:1326: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1326: error: template argument 1 is invalid BD_Shape.templates.hh:1326: error: invalid type in declaration before '=' token BD_Shape.templates.hh:1326: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' BD_Shape.templates.hh:1333: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1348: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1361: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1362: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1399: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1419: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:1439: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:1451: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1451: error: template argument 1 is invalid BD_Shape.templates.hh:1451: error: expected initializer before 'holdernumer' BD_Shape.templates.hh:1451: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1451: error: template argument 1 is invalid BD_Shape.templates.hh:1451: error: expected initializer before 'numer' BD_Shape.templates.hh:1452: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1452: error: template argument 1 is invalid BD_Shape.templates.hh:1452: error: expected initializer before 'holderdenom' BD_Shape.templates.hh:1452: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1452: error: template argument 1 is invalid BD_Shape.templates.hh:1452: error: expected initializer before 'denom' BD_Shape.templates.hh:1453: error: 'numer' was not declared in this scope BD_Shape.templates.hh:1453: error: 'denom' was not declared in this scope BD_Shape.templates.hh:1468: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1468: error: template argument 1 is invalid BD_Shape.templates.hh:1468: error: expected initializer before 'holdernumer' BD_Shape.templates.hh:1468: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1468: error: template argument 1 is invalid BD_Shape.templates.hh:1468: error: expected initializer before 'numer' BD_Shape.templates.hh:1469: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1469: error: template argument 1 is invalid BD_Shape.templates.hh:1469: error: expected initializer before 'holderdenom' BD_Shape.templates.hh:1469: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1469: error: template argument 1 is invalid BD_Shape.templates.hh:1469: error: expected initializer before 'denom' BD_Shape.templates.hh:1470: error: 'numer' was not declared in this scope BD_Shape.templates.hh:1470: error: 'denom' was not declared in this scope BD_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Gen_Relation Parma_Polyhedra_Library::BD_Shape<T>::relation_with(const Parma_Polyhedra_Library::Generator&) const': BD_Shape.templates.hh:1544: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1544: error: template argument 1 is invalid BD_Shape.templates.hh:1544: error: expected initializer before 'holdernum' BD_Shape.templates.hh:1544: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1544: error: template argument 1 is invalid BD_Shape.templates.hh:1544: error: expected initializer before 'num' BD_Shape.templates.hh:1545: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1545: error: template argument 1 is invalid BD_Shape.templates.hh:1545: error: expected initializer before 'holderden' BD_Shape.templates.hh:1545: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1545: error: template argument 1 is invalid BD_Shape.templates.hh:1545: error: expected initializer before 'den' BD_Shape.templates.hh:1546: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1546: error: template argument 1 is invalid BD_Shape.templates.hh:1546: error: expected initializer before 'holderproduct' BD_Shape.templates.hh:1546: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1546: error: template argument 1 is invalid BD_Shape.templates.hh:1546: error: expected initializer before 'product' BD_Shape.templates.hh:1549: error: expected initializer before '&' token BD_Shape.templates.hh:1553: error: expected initializer before '&' token BD_Shape.templates.hh:1560: error: 'num' was not declared in this scope BD_Shape.templates.hh:1560: error: 'den' was not declared in this scope BD_Shape.templates.hh:1561: error: 'product' was not declared in this scope BD_Shape.templates.hh:1562: error: 'g_coeff_y' was not declared in this scope BD_Shape.templates.hh:1563: error: 'g_coeff_x' was not declared in this scope BD_Shape.templates.hh:1565: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' BD_Shape.templates.hh:1574: error: 'num' was not declared in this scope BD_Shape.templates.hh:1574: error: 'den' was not declared in this scope BD_Shape.templates.hh:1575: error: 'product' was not declared in this scope BD_Shape.templates.hh:1576: error: 'g_coeff_y' was not declared in this scope BD_Shape.templates.hh:1577: error: 'g_coeff_x' was not declared in this scope BD_Shape.templates.hh:1579: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' BD_Shape.templates.hh:1594: error: 'num' was not declared in this scope BD_Shape.templates.hh:1594: error: 'den' was not declared in this scope BD_Shape.templates.hh:1595: error: 'product' was not declared in this scope BD_Shape.templates.hh:1596: error: 'g_coeff_x' was not declared in this scope BD_Shape.templates.hh:1597: error: 'g_coeff_y' was not declared in this scope BD_Shape.templates.hh:1599: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'divisor' BD_Shape.templates.hh: In member function 'bool Parma_Polyhedra_Library::BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const Parma_Polyhedra_Library::BD_Shape<T>&)': BD_Shape.templates.hh:1955: error: no match for 'operator*' in '0 * eps' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:1957: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:1957: error: template argument 1 is invalid BD_Shape.templates.hh:1957: error: expected initializer before 'holdernum' BD_Shape.templates.hh:1957: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1957: error: template argument 1 is invalid BD_Shape.templates.hh:1957: error: expected initializer before 'num' BD_Shape.templates.hh:1958: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1958: error: template argument 1 is invalid BD_Shape.templates.hh:1958: error: expected initializer before 'holderden' BD_Shape.templates.hh:1958: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:1958: error: template argument 1 is invalid BD_Shape.templates.hh:1958: error: expected initializer before 'den' BD_Shape.templates.hh:1980: error: 'num' was not declared in this scope BD_Shape.templates.hh:1980: error: 'den' was not declared in this scope BD_Shape.templates.hh:2001: error: 'num' was not declared in this scope BD_Shape.templates.hh:2001: error: 'den' was not declared in this scope BD_Shape.templates.hh:2062: error: 'num' was not declared in this scope BD_Shape.templates.hh:2062: error: 'den' was not declared in this scope BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::get_limiting_shape(const Parma_Polyhedra_Library::Constraint_System&, Parma_Polyhedra_Library::BD_Shape<T>&) const': BD_Shape.templates.hh:2816: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:2816: error: template argument 1 is invalid BD_Shape.templates.hh:2816: error: expected initializer before 'holdercoeff' BD_Shape.templates.hh:2816: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:2816: error: template argument 1 is invalid BD_Shape.templates.hh:2816: error: expected initializer before 'coeff' BD_Shape.templates.hh:2817: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:2817: error: template argument 1 is invalid BD_Shape.templates.hh:2817: error: expected initializer before 'holderminus_c_term' BD_Shape.templates.hh:2817: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:2817: error: template argument 1 is invalid BD_Shape.templates.hh:2817: error: expected initializer before 'minus_c_term' BD_Shape.templates.hh:2827: error: 'coeff' was not declared in this scope BD_Shape.templates.hh:2839: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh:2849: error: 'minus_c_term' was not declared in this scope BD_Shape.templates.hh:2849: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:3099: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:3099: error: expected ',' or '...' before 'sc_den' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::deduce_v_minus_u_bounds(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:3101: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3102: error: 'ub_v' was not declared in this scope BD_Shape.templates.hh:3122: error: expected initializer before '&' token BD_Shape.templates.hh:3123: error: 'expr_u' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:3160: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:3160: error: expected ',' or '...' before 'sc_den' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::deduce_u_minus_v_bounds(Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:3162: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3163: error: 'minus_lb_v' was not declared in this scope BD_Shape.templates.hh:3184: error: expected initializer before '&' token BD_Shape.templates.hh:3185: error: 'expr_u' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:3294: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:3294: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::refine(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:3295: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:3300: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3303: error: expected initializer before '&' token BD_Shape.templates.hh:3311: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3323: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3331: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:3331: error: template argument 1 is invalid BD_Shape.templates.hh:3331: error: expected initializer before 'holderminus_den' BD_Shape.templates.hh:3331: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3331: error: template argument 1 is invalid BD_Shape.templates.hh:3331: error: expected initializer before 'minus_den' BD_Shape.templates.hh:3332: error: 'minus_den' was not declared in this scope BD_Shape.templates.hh:3339: error: 'b' was not declared in this scope BD_Shape.templates.hh:3360: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3365: error: 'b' was not declared in this scope BD_Shape.templates.hh:3394: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3394: error: template argument 1 is invalid BD_Shape.templates.hh:3394: error: expected initializer before 'holderminus_b' BD_Shape.templates.hh:3394: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3394: error: template argument 1 is invalid BD_Shape.templates.hh:3394: error: expected initializer before 'minus_b' BD_Shape.templates.hh:3395: error: 'minus_b' was not declared in this scope BD_Shape.templates.hh:3395: error: 'b' was not declared in this scope BD_Shape.templates.hh:3396: error: expected initializer before '&' token BD_Shape.templates.hh:3397: error: expected initializer before '&' token BD_Shape.templates.hh:3398: error: expected initializer before '&' token BD_Shape.templates.hh:3399: error: expected initializer before '&' token BD_Shape.templates.hh:3416: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3416: error: template argument 1 is invalid BD_Shape.templates.hh:3416: error: expected initializer before 'holderminus_sc_i' BD_Shape.templates.hh:3416: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3416: error: template argument 1 is invalid BD_Shape.templates.hh:3416: error: expected initializer before 'minus_sc_i' BD_Shape.templates.hh:3432: error: 'sc_b' was not declared in this scope BD_Shape.templates.hh:3433: error: 'minus_sc_b' was not declared in this scope BD_Shape.templates.hh:3439: error: expected initializer before '&' token BD_Shape.templates.hh:3440: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:3467: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:3506: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:3519: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3524: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3524: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3540: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3545: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3545: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3558: error: 'sc_b' was not declared in this scope BD_Shape.templates.hh:3564: error: expected initializer before '&' token BD_Shape.templates.hh:3565: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:3579: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:3586: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3592: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:3601: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3604: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3615: error: 'minus_sc_b' was not declared in this scope BD_Shape.templates.hh:3619: error: expected initializer before '&' token BD_Shape.templates.hh:3620: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:3634: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:3641: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3647: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:3656: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3660: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:3678: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:3678: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::affine_image(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:3680: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:3701: error: expected initializer before '&' token BD_Shape.templates.hh:3709: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3723: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:3723: error: template argument 1 is invalid BD_Shape.templates.hh:3723: error: expected initializer before 'holderminus_den' BD_Shape.templates.hh:3723: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3723: error: template argument 1 is invalid BD_Shape.templates.hh:3723: error: expected initializer before 'minus_den' BD_Shape.templates.hh:3724: error: 'minus_den' was not declared in this scope BD_Shape.templates.hh:3724: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:3734: error: 'b' was not declared in this scope BD_Shape.templates.hh:3742: error: expected initializer before '&' token BD_Shape.templates.hh:3743: error: 'a' was not declared in this scope BD_Shape.templates.hh:3748: error: 'b' was not declared in this scope BD_Shape.templates.hh:3776: error: 'b' was not declared in this scope BD_Shape.templates.hh:3800: error: 'b' was not declared in this scope BD_Shape.templates.hh:3811: error: 'b' was not declared in this scope BD_Shape.templates.hh:3819: error: 'b' was not declared in this scope BD_Shape.templates.hh:3843: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3843: error: template argument 1 is invalid BD_Shape.templates.hh:3843: error: expected initializer before 'holderminus_b' BD_Shape.templates.hh:3843: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3843: error: template argument 1 is invalid BD_Shape.templates.hh:3843: error: expected initializer before 'minus_b' BD_Shape.templates.hh:3844: error: 'minus_b' was not declared in this scope BD_Shape.templates.hh:3844: error: 'b' was not declared in this scope BD_Shape.templates.hh:3845: error: expected initializer before '&' token BD_Shape.templates.hh:3846: error: expected initializer before '&' token BD_Shape.templates.hh:3847: error: expected initializer before '&' token BD_Shape.templates.hh:3848: error: expected initializer before '&' token BD_Shape.templates.hh:3867: error: 'sc_b' was not declared in this scope BD_Shape.templates.hh:3868: error: 'minus_sc_b' was not declared in this scope BD_Shape.templates.hh:3874: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3874: error: template argument 1 is invalid BD_Shape.templates.hh:3874: error: expected initializer before 'holderminus_sc_i' BD_Shape.templates.hh:3874: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:3874: error: template argument 1 is invalid BD_Shape.templates.hh:3874: error: expected initializer before 'minus_sc_i' BD_Shape.templates.hh:3878: error: expected initializer before '&' token BD_Shape.templates.hh:3879: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:3904: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:3947: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3953: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:3962: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3967: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3967: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3975: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3981: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:3991: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:3996: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:3996: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:4009: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:4009: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::affine_preimage(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:4011: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4033: error: expected initializer before '&' token BD_Shape.templates.hh:4041: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4067: error: expected initializer before '&' token BD_Shape.templates.hh:4068: error: 'a' was not declared in this scope BD_Shape.templates.hh:4068: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4072: error: 'b' was not declared in this scope BD_Shape.templates.hh:4090: error: expected initializer before '&' token BD_Shape.templates.hh:4091: error: 'expr_v' was not declared in this scope BD_Shape.templates.hh:4093: error: 'denominator' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:4113: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:4113: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::bounded_affine_image(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:4115: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4141: error: expected initializer before '&' token BD_Shape.templates.hh:4149: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4163: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:4163: error: template argument 1 is invalid BD_Shape.templates.hh:4163: error: expected initializer before 'holderminus_den' BD_Shape.templates.hh:4163: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4163: error: template argument 1 is invalid BD_Shape.templates.hh:4163: error: expected initializer before 'minus_den' BD_Shape.templates.hh:4164: error: 'minus_den' was not declared in this scope BD_Shape.templates.hh:4164: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4173: error: 'b' was not declared in this scope BD_Shape.templates.hh:4180: error: expected initializer before '&' token BD_Shape.templates.hh:4181: error: 'a' was not declared in this scope BD_Shape.templates.hh:4214: error: 'b' was not declared in this scope BD_Shape.templates.hh:4224: error: 'b' was not declared in this scope BD_Shape.templates.hh:4245: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4245: error: template argument 1 is invalid BD_Shape.templates.hh:4245: error: expected initializer before 'holderminus_b' BD_Shape.templates.hh:4245: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4245: error: template argument 1 is invalid BD_Shape.templates.hh:4245: error: expected initializer before 'minus_b' BD_Shape.templates.hh:4246: error: 'minus_b' was not declared in this scope BD_Shape.templates.hh:4246: error: 'b' was not declared in this scope BD_Shape.templates.hh:4247: error: expected initializer before '&' token BD_Shape.templates.hh:4248: error: expected initializer before '&' token BD_Shape.templates.hh:4249: error: expected initializer before '&' token BD_Shape.templates.hh:4265: error: 'sc_b' was not declared in this scope BD_Shape.templates.hh:4271: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4271: error: template argument 1 is invalid BD_Shape.templates.hh:4271: error: expected initializer before 'holderminus_sc_i' BD_Shape.templates.hh:4271: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4271: error: template argument 1 is invalid BD_Shape.templates.hh:4271: error: expected initializer before 'minus_sc_i' BD_Shape.templates.hh:4275: error: expected initializer before '&' token BD_Shape.templates.hh:4276: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:4291: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:4322: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:4328: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:4337: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:4342: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4342: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:4355: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:4355: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::bounded_affine_preimage(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:4357: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4383: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4384: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4389: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4390: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4396: error: expected initializer before '&' token BD_Shape.templates.hh:4402: error: 'lb_expr_v' was not declared in this scope BD_Shape.templates.hh:4402: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4403: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:4403: error: template argument 1 is invalid BD_Shape.templates.hh:4403: error: expected initializer before 'holderlb_inverse_den' BD_Shape.templates.hh:4403: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4403: error: template argument 1 is invalid BD_Shape.templates.hh:4403: error: expected initializer before 'lb_inverse_den' BD_Shape.templates.hh:4404: error: 'lb_inverse_den' was not declared in this scope BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:4423: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:4424: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::generalized_affine_image(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:4426: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4458: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4467: error: expected initializer before '&' token BD_Shape.templates.hh:4475: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4491: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:4491: error: template argument 1 is invalid BD_Shape.templates.hh:4491: error: expected initializer before 'holderminus_den' BD_Shape.templates.hh:4491: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4491: error: template argument 1 is invalid BD_Shape.templates.hh:4491: error: expected initializer before 'minus_den' BD_Shape.templates.hh:4492: error: 'minus_den' was not declared in this scope BD_Shape.templates.hh:4492: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:4503: error: 'b' was not declared in this scope BD_Shape.templates.hh:4520: error: expected initializer before '&' token BD_Shape.templates.hh:4521: error: 'a' was not declared in this scope BD_Shape.templates.hh:4526: error: 'b' was not declared in this scope BD_Shape.templates.hh:4650: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4650: error: template argument 1 is invalid BD_Shape.templates.hh:4650: error: expected initializer before 'holderminus_b' BD_Shape.templates.hh:4650: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4650: error: template argument 1 is invalid BD_Shape.templates.hh:4650: error: expected initializer before 'minus_b' BD_Shape.templates.hh:4651: error: 'minus_b' was not declared in this scope BD_Shape.templates.hh:4651: error: 'b' was not declared in this scope BD_Shape.templates.hh:4652: error: expected initializer before '&' token BD_Shape.templates.hh:4653: error: expected initializer before '&' token BD_Shape.templates.hh:4654: error: expected initializer before '&' token BD_Shape.templates.hh:4655: error: expected initializer before '&' token BD_Shape.templates.hh:4672: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4672: error: template argument 1 is invalid BD_Shape.templates.hh:4672: error: expected initializer before 'holderminus_sc_i' BD_Shape.templates.hh:4672: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:4672: error: template argument 1 is invalid BD_Shape.templates.hh:4672: error: expected initializer before 'minus_sc_i' BD_Shape.templates.hh:4679: error: 'sc_b' was not declared in this scope BD_Shape.templates.hh:4684: error: expected initializer before '&' token BD_Shape.templates.hh:4685: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:4699: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:4717: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:4723: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:4732: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:4736: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4747: error: 'minus_sc_b' was not declared in this scope BD_Shape.templates.hh:4750: error: expected initializer before '&' token BD_Shape.templates.hh:4751: error: 'sc_i' was not declared in this scope BD_Shape.templates.hh:4765: error: 'minus_sc_i' was not declared in this scope BD_Shape.templates.hh:4783: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:4789: error: 'minus_sc_den' was not declared in this scope BD_Shape.templates.hh:4798: error: 'sc_den' was not declared in this scope BD_Shape.templates.hh:4802: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::generalized_affine_image(const Parma_Polyhedra_Library::Linear_Expression&, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&)': BD_Shape.templates.hh:4859: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4866: error: expected initializer before '&' token BD_Shape.templates.hh:4897: error: expected initializer before '&' token BD_Shape.templates.hh:4899: error: 'den' was not declared in this scope BD_Shape.templates.hh:4905: error: 'b_lhs' was not declared in this scope BD_Shape.templates.hh:4906: error: 'den' was not declared in this scope BD_Shape.templates.hh:4914: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:4916: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh: At global scope: BD_Shape.templates.hh:5005: error: 'Coefficient_traits' is not a class or namespace BD_Shape.templates.hh:5006: error: expected ',' or '...' before 'denominator' BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::generalized_affine_preimage(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': BD_Shape.templates.hh:5008: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:5040: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:5051: error: expected initializer before '&' token BD_Shape.templates.hh:5052: error: 'expr_v' was not declared in this scope BD_Shape.templates.hh:5056: error: 'denominator' was not declared in this scope BD_Shape.templates.hh:5057: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:5057: error: template argument 1 is invalid BD_Shape.templates.hh:5057: error: expected initializer before 'holderinverse_den' BD_Shape.templates.hh:5057: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5057: error: template argument 1 is invalid BD_Shape.templates.hh:5057: error: expected initializer before 'inverse_den' BD_Shape.templates.hh:5058: error: 'inverse_den' was not declared in this scope BD_Shape.templates.hh:5065: error: 'denominator' was not declared in this scope BD_Shape.templates.hh: In member function 'void Parma_Polyhedra_Library::BD_Shape<T>::generalized_affine_preimage(const Parma_Polyhedra_Library::Linear_Expression&, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&)': BD_Shape.templates.hh:5122: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:5129: error: expected initializer before '&' token BD_Shape.templates.hh:5143: error: expected initializer before '&' token BD_Shape.templates.hh:5145: error: 'den' was not declared in this scope BD_Shape.templates.hh:5151: error: 'b_lhs' was not declared in this scope BD_Shape.templates.hh:5152: error: 'den' was not declared in this scope BD_Shape.templates.hh:5160: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh:5162: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' BD_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::BD_Shape<T>::constraints() const': BD_Shape.templates.hh:5251: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:5258: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:5260: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:5260: error: template argument 1 is invalid BD_Shape.templates.hh:5260: error: expected initializer before 'holdera' BD_Shape.templates.hh:5260: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5260: error: template argument 1 is invalid BD_Shape.templates.hh:5260: error: expected initializer before 'a' BD_Shape.templates.hh:5261: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5261: error: template argument 1 is invalid BD_Shape.templates.hh:5261: error: expected initializer before 'holderb' BD_Shape.templates.hh:5261: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5261: error: template argument 1 is invalid BD_Shape.templates.hh:5261: error: expected initializer before 'b' BD_Shape.templates.hh:5270: error: 'b' was not declared in this scope BD_Shape.templates.hh:5270: error: 'a' was not declared in this scope BD_Shape.templates.hh:5276: error: 'b' was not declared in this scope BD_Shape.templates.hh:5276: error: 'a' was not declared in this scope BD_Shape.templates.hh:5280: error: 'b' was not declared in this scope BD_Shape.templates.hh:5280: error: 'a' was not declared in this scope BD_Shape.templates.hh:5296: error: 'b' was not declared in this scope BD_Shape.templates.hh:5296: error: 'a' was not declared in this scope BD_Shape.templates.hh:5302: error: 'b' was not declared in this scope BD_Shape.templates.hh:5302: error: 'a' was not declared in this scope BD_Shape.templates.hh:5306: error: 'b' was not declared in this scope BD_Shape.templates.hh:5306: error: 'a' was not declared in this scope BD_Shape.templates.hh: In member function 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::BD_Shape<T>::minimized_constraints() const': BD_Shape.templates.hh:5327: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:5331: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) BD_Shape.templates.hh:5333: error: 'Coefficient' was not declared in this scope BD_Shape.templates.hh:5333: error: template argument 1 is invalid BD_Shape.templates.hh:5333: error: expected initializer before 'holdernum' BD_Shape.templates.hh:5333: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5333: error: template argument 1 is invalid BD_Shape.templates.hh:5333: error: expected initializer before 'num' BD_Shape.templates.hh:5334: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5334: error: template argument 1 is invalid BD_Shape.templates.hh:5334: error: expected initializer before 'holderden' BD_Shape.templates.hh:5334: error: 'Coefficient' cannot appear in a constant-expression BD_Shape.templates.hh:5334: error: template argument 1 is invalid BD_Shape.templates.hh:5334: error: expected initializer before 'den' BD_Shape.templates.hh:5352: error: 'num' was not declared in this scope BD_Shape.templates.hh:5352: error: 'den' was not declared in this scope BD_Shape.templates.hh:5358: error: 'num' was not declared in this scope BD_Shape.templates.hh:5358: error: 'den' was not declared in this scope BD_Shape.templates.hh:5370: error: 'num' was not declared in this scope BD_Shape.templates.hh:5370: error: 'den' was not declared in this scope BD_Shape.templates.hh:5374: error: 'num' was not declared in this scope BD_Shape.templates.hh:5374: error: 'den' was not declared in this scope BD_Shape.templates.hh:5386: error: 'num' was not declared in this scope BD_Shape.templates.hh:5386: error: 'den' was not declared in this scope BD_Shape.templates.hh:5390: error: 'num' was not declared in this scope BD_Shape.templates.hh:5390: error: 'den' was not declared in this scope Box.templates.hh: In constructor 'Parma_Polyhedra_Library::Box<Interval>::Box(const Parma_Polyhedra_Library::Generator_System&)': Box.templates.hh:143: error: expected initializer before '&' token Box.templates.hh:147: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:148: error: 'd' was not declared in this scope Box.templates.hh:157: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:158: error: 'd' was not declared in this scope Box.templates.hh:180: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:185: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:198: error: expected initializer before '&' token Box.templates.hh:200: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:201: error: 'd' was not declared in this scope Box.templates.hh: In constructor 'Parma_Polyhedra_Library::Box<Interval>::Box(const Parma_Polyhedra_Library::Polyhedron&, Parma_Polyhedra_Library::Complexity_Class)': Box.templates.hh:390: error: 'Coefficient' was not declared in this scope Box.templates.hh:390: error: template argument 1 is invalid Box.templates.hh:390: error: invalid type in declaration before '=' token Box.templates.hh:390: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:390: error: template argument 1 is invalid Box.templates.hh:390: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:390: error: template argument 1 is invalid Box.templates.hh:390: error: invalid type in declaration before '=' token Box.templates.hh:390: error: request for member 'item' in 'holderbound_num', which is of non-class type 'int' Box.templates.hh:391: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:391: error: template argument 1 is invalid Box.templates.hh:391: error: invalid type in declaration before '=' token Box.templates.hh:391: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:391: error: template argument 1 is invalid Box.templates.hh:391: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:391: error: template argument 1 is invalid Box.templates.hh:391: error: invalid type in declaration before '=' token Box.templates.hh:391: error: request for member 'item' in 'holderbound_den', which is of non-class type 'int' Box.templates.hh: In constructor 'Parma_Polyhedra_Library::Box<Interval>::Box(const Parma_Polyhedra_Library::Grid&, Parma_Polyhedra_Library::Complexity_Class)': Box.templates.hh:470: error: 'Coefficient' was not declared in this scope Box.templates.hh:470: error: template argument 1 is invalid Box.templates.hh:470: error: invalid type in declaration before '=' token Box.templates.hh:470: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:470: error: template argument 1 is invalid Box.templates.hh:470: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:470: error: template argument 1 is invalid Box.templates.hh:470: error: invalid type in declaration before '=' token Box.templates.hh:470: error: request for member 'item' in 'holderbound_num', which is of non-class type 'int' Box.templates.hh:471: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:471: error: template argument 1 is invalid Box.templates.hh:471: error: invalid type in declaration before '=' token Box.templates.hh:471: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:471: error: template argument 1 is invalid Box.templates.hh:471: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:471: error: template argument 1 is invalid Box.templates.hh:471: error: invalid type in declaration before '=' token Box.templates.hh:471: error: request for member 'item' in 'holderbound_den', which is of non-class type 'int' Box.templates.hh: In member function 'bool Parma_Polyhedra_Library::Box<Interval>::bounds(const Parma_Polyhedra_Library::Linear_Expression&, bool) const': Box.templates.hh:560: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh: At global scope: Box.templates.hh:580: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:580: error: expected ',' or '...' before 'num' Box.templates.hh: In function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::interval_relation(const ITV&, Parma_Polyhedra_Library::Constraint::Type, int)': Box.templates.hh:587: error: 'num' was not declared in this scope Box.templates.hh:588: error: 'den' was not declared in this scope Box.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::Box<Interval>::relation_with(const Parma_Polyhedra_Library::Congruence&) const': Box.templates.hh:796: error: expected initializer before '&' token Box.templates.hh:797: error: 'cg_i' was not declared in this scope Box.templates.hh:813: error: 'Coefficient' was not declared in this scope Box.templates.hh:813: error: template argument 1 is invalid Box.templates.hh:813: error: expected initializer before 'holderlower' Box.templates.hh:813: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:813: error: template argument 1 is invalid Box.templates.hh:813: error: expected initializer before 'lower' Box.templates.hh:814: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:814: error: template argument 1 is invalid Box.templates.hh:814: error: expected initializer before 'holdermod' Box.templates.hh:814: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:814: error: template argument 1 is invalid Box.templates.hh:814: error: expected initializer before 'mod' Box.templates.hh:815: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:815: error: template argument 1 is invalid Box.templates.hh:815: error: expected initializer before 'holderv' Box.templates.hh:815: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:815: error: template argument 1 is invalid Box.templates.hh:815: error: expected initializer before 'v' Box.templates.hh:816: error: 'mod' was not declared in this scope Box.templates.hh:816: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'modulus' Box.templates.hh:817: error: 'v' was not declared in this scope Box.templates.hh:817: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'inhomogeneous_term' Box.templates.hh:818: error: no matching function for call to 'assign_r(Parma_Polyhedra_Library::Result (&)(Parma_Polyhedra_Library::I_Result), __gmp_expr<__mpq_struct [1], __mpq_struct [1]>&, Parma_Polyhedra_Library::Rounding_Dir&)' Box.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Con_Relation Parma_Polyhedra_Library::Box<Interval>::relation_with(const Parma_Polyhedra_Library::Constraint&) const': Box.templates.hh:841: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh:842: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh:844: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh:849: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh:865: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh:882: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh:883: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'coefficient' Box.templates.hh:892: error: expected initializer before '&' token Box.templates.hh:893: error: 'c_i' was not declared in this scope Box.templates.hh:903: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'inhomogeneous_term' Box.templates.hh: In member function 'Parma_Polyhedra_Library::Poly_Gen_Relation Parma_Polyhedra_Library::Box<Interval>::relation_with(const Parma_Polyhedra_Library::Generator&) const': Box.templates.hh:932: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:939: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:956: error: expected initializer before '&' token Box.templates.hh:963: error: 'const class Parma_Polyhedra_Library::Generator' has no member named 'coefficient' Box.templates.hh:964: error: 'g_divisor' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:999: error: 'Coefficient' has not been declared Box.templates.hh:999: error: 'Coefficient' has not been declared Box.templates.hh: In member function 'bool Parma_Polyhedra_Library::Box<Interval>::max_min(const Parma_Polyhedra_Library::Linear_Expression&, bool, int&, int&, bool&) const': Box.templates.hh:1013: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Box.templates.hh:1025: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Box.templates.hh:1032: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh: At global scope: Box.templates.hh:1067: error: 'Coefficient' has not been declared Box.templates.hh:1067: error: 'Coefficient' has not been declared Box.templates.hh: In member function 'bool Parma_Polyhedra_Library::Box<Interval>::max_min(const Parma_Polyhedra_Library::Linear_Expression&, bool, int&, int&, bool&, Parma_Polyhedra_Library::Generator&) const': Box.templates.hh:1075: error: 'Coefficient' was not declared in this scope Box.templates.hh:1075: error: template argument 1 is invalid Box.templates.hh:1075: error: invalid type in declaration before '=' token Box.templates.hh:1075: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1075: error: template argument 1 is invalid Box.templates.hh:1075: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1075: error: template argument 1 is invalid Box.templates.hh:1075: error: invalid type in declaration before '=' token Box.templates.hh:1075: error: request for member 'item' in 'holderg_divisor', which is of non-class type 'int' Box.templates.hh:1079: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1079: error: template argument 1 is invalid Box.templates.hh:1079: error: invalid type in declaration before '=' token Box.templates.hh:1079: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1079: error: template argument 1 is invalid Box.templates.hh:1079: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1079: error: template argument 1 is invalid Box.templates.hh:1079: error: invalid type in declaration before '=' token Box.templates.hh:1079: error: request for member 'item' in 'holdernum', which is of non-class type 'int' Box.templates.hh:1080: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1080: error: template argument 1 is invalid Box.templates.hh:1080: error: invalid type in declaration before '=' token Box.templates.hh:1080: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1080: error: template argument 1 is invalid Box.templates.hh:1080: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1080: error: template argument 1 is invalid Box.templates.hh:1080: error: invalid type in declaration before '=' token Box.templates.hh:1080: error: request for member 'item' in 'holderden', which is of non-class type 'int' Box.templates.hh:1081: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1081: error: template argument 1 is invalid Box.templates.hh:1081: error: invalid type in declaration before '=' token Box.templates.hh:1081: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1081: error: template argument 1 is invalid Box.templates.hh:1081: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1081: error: template argument 1 is invalid Box.templates.hh:1081: error: invalid type in declaration before '=' token Box.templates.hh:1081: error: request for member 'item' in 'holderlcm', which is of non-class type 'int' Box.templates.hh:1082: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1082: error: template argument 1 is invalid Box.templates.hh:1082: error: invalid type in declaration before '=' token Box.templates.hh:1082: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1082: error: template argument 1 is invalid Box.templates.hh:1082: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:1082: error: template argument 1 is invalid Box.templates.hh:1082: error: invalid type in declaration before '=' token Box.templates.hh:1082: error: request for member 'item' in 'holderfactor', which is of non-class type 'int' Box.templates.hh:1085: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:1132: error: no matching function for call to 'lcm_assign(int&, int&, int&)' Box.templates.hh:1133: error: no matching function for call to 'exact_div_assign(int&, int&, int&)' Box.templates.hh:1135: error: no matching function for call to 'exact_div_assign(int&, int&, int&)' Box.templates.hh:1138: error: no match for 'operator*' in 'num * (Parma_Polyhedra_Library::Variable)(i)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::add_constraint_no_check(const Parma_Polyhedra_Library::Constraint&)': Box.templates.hh:1840: error: expected initializer before '&' token Box.templates.hh:1843: error: 'n' was not declared in this scope Box.templates.hh:1851: error: expected initializer before '&' token Box.templates.hh:1852: error: 'n' was not declared in this scope Box.templates.hh:1852: error: 'd' was not declared in this scope Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::add_congruence_no_check(const Parma_Polyhedra_Library::Congruence&)': Box.templates.hh:1899: error: expected initializer before '&' token Box.templates.hh:1902: error: 'n' was not declared in this scope Box.templates.hh:1908: error: expected initializer before '&' token Box.templates.hh:1909: error: 'n' was not declared in this scope Box.templates.hh:1909: error: 'd' was not declared in this scope Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::refine_no_check(const Parma_Polyhedra_Library::Constraint&)': Box.templates.hh:1940: error: expected initializer before '&' token Box.templates.hh:1943: error: 'n' was not declared in this scope Box.templates.hh:1951: error: expected initializer before '&' token Box.templates.hh:1952: error: 'n' was not declared in this scope Box.templates.hh:1952: error: 'd' was not declared in this scope Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::refine_no_check(const Parma_Polyhedra_Library::Congruence&)': Box.templates.hh:1991: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'inhomogeneous_term' Box.templates.hh:1997: error: expected initializer before '&' token Box.templates.hh:1998: error: expected initializer before '&' token Box.templates.hh:1999: error: 'n' was not declared in this scope Box.templates.hh:1999: error: 'd' was not declared in this scope Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::propagate_constraint_no_check(const Parma_Polyhedra_Library::Constraint&)': Box.templates.hh:2053: error: expected initializer before '&' token Box.templates.hh:2058: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'coefficient' Box.templates.hh:2065: error: 'c_inhomogeneous_term' was not declared in this scope Box.templates.hh:2080: error: expected initializer before '&' token Box.templates.hh:2081: error: 'a_k' was not declared in this scope Box.templates.hh:2088: error: 'c_inhomogeneous_term' was not declared in this scope Box.templates.hh:2097: error: expected initializer before '&' token Box.templates.hh:2098: error: 'a_i' was not declared in this scope Box.templates.hh:2161: error: expected initializer before '&' token Box.templates.hh:2162: error: 'a_i' was not declared in this scope Box.templates.hh:2217: error: 'c_inhomogeneous_term' was not declared in this scope Box.templates.hh:2226: error: expected initializer before '&' token Box.templates.hh:2227: error: 'a_i' was not declared in this scope Box.templates.hh:2290: error: expected initializer before '&' token Box.templates.hh:2291: error: 'a_i' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:2429: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:2429: error: expected ',' or '...' before 'denominator' Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::affine_image(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, int)': Box.templates.hh:2431: error: 'denominator' was not declared in this scope Box.templates.hh:2448: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Box.templates.hh:2450: error: expected initializer before '&' token Box.templates.hh:2451: error: 'coeff' was not declared in this scope Box.templates.hh:2458: error: 'denominator' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:2471: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:2472: error: expected ',' or '...' before 'denominator' Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::affine_preimage(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, int)': Box.templates.hh:2474: error: 'denominator' was not declared in this scope Box.templates.hh:2490: error: expected initializer before '&' token Box.templates.hh:2491: error: 'expr_v' was not declared in this scope Box.templates.hh:2492: error: in argument to unary ! Box.templates.hh:2494: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'inhomogeneous_term' Box.templates.hh:2496: error: expected initializer before '&' token Box.templates.hh:2497: error: 'coeff' was not declared in this scope Box.templates.hh:2504: error: 'denominator' was not declared in this scope Box.templates.hh:2522: error: 'denominator' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:2534: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:2534: error: expected ',' or '...' before 'denominator' Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::bounded_affine_image(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&, int)': Box.templates.hh:2536: error: 'denominator' was not declared in this scope Box.templates.hh:2561: error: 'denominator' was not declared in this scope Box.templates.hh:2567: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:2572: error: 'denominator' was not declared in this scope Box.templates.hh:2578: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:2583: error: 'denominator' was not declared in this scope Box.templates.hh:2594: error: 'Coefficient' was not declared in this scope Box.templates.hh:2594: error: template argument 1 is invalid Box.templates.hh:2594: error: invalid type in declaration before '=' token Box.templates.hh:2594: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2594: error: template argument 1 is invalid Box.templates.hh:2594: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2594: error: template argument 1 is invalid Box.templates.hh:2594: error: invalid type in declaration before '=' token Box.templates.hh:2594: error: request for member 'item' in 'holdermax_num', which is of non-class type 'int' Box.templates.hh:2595: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2595: error: template argument 1 is invalid Box.templates.hh:2595: error: invalid type in declaration before '=' token Box.templates.hh:2595: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2595: error: template argument 1 is invalid Box.templates.hh:2595: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2595: error: template argument 1 is invalid Box.templates.hh:2595: error: invalid type in declaration before '=' token Box.templates.hh:2595: error: request for member 'item' in 'holdermax_den', which is of non-class type 'int' Box.templates.hh:2597: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2597: error: template argument 1 is invalid Box.templates.hh:2597: error: invalid type in declaration before '=' token Box.templates.hh:2597: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2597: error: template argument 1 is invalid Box.templates.hh:2597: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2597: error: template argument 1 is invalid Box.templates.hh:2597: error: invalid type in declaration before '=' token Box.templates.hh:2597: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' Box.templates.hh:2598: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2598: error: template argument 1 is invalid Box.templates.hh:2598: error: invalid type in declaration before '=' token Box.templates.hh:2598: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2598: error: template argument 1 is invalid Box.templates.hh:2598: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2598: error: template argument 1 is invalid Box.templates.hh:2598: error: invalid type in declaration before '=' token Box.templates.hh:2598: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' Box.templates.hh:2606: error: 'denominator' was not declared in this scope Box.templates.hh:2629: error: 'denominator' was not declared in this scope Box.templates.hh:2647: error: 'denominator' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:2678: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:2678: error: expected ',' or '...' before 'denominator' Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::bounded_affine_preimage(Parma_Polyhedra_Library::Variable, const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&, int)': Box.templates.hh:2681: error: 'denominator' was not declared in this scope Box.templates.hh:2705: error: 'denominator' was not declared in this scope Box.templates.hh:2706: error: expected initializer before '&' token Box.templates.hh:2707: error: expected initializer before '&' token Box.templates.hh:2711: error: 'lb_var_coeff' was not declared in this scope Box.templates.hh:2711: error: 'ub_var_coeff' was not declared in this scope Box.templates.hh:2722: error: 'Coefficient' was not declared in this scope Box.templates.hh:2722: error: template argument 1 is invalid Box.templates.hh:2722: error: expected initializer before 'holderpos_denominator' Box.templates.hh:2722: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2722: error: template argument 1 is invalid Box.templates.hh:2722: error: expected initializer before 'pos_denominator' Box.templates.hh:2723: error: 'pos_denominator' was not declared in this scope Box.templates.hh:2731: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2731: error: template argument 1 is invalid Box.templates.hh:2731: error: invalid type in declaration before '=' token Box.templates.hh:2731: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2731: error: template argument 1 is invalid Box.templates.hh:2731: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2731: error: template argument 1 is invalid Box.templates.hh:2731: error: invalid type in declaration before '=' token Box.templates.hh:2731: error: request for member 'item' in 'holdernum_lower', which is of non-class type 'int' Box.templates.hh:2732: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2732: error: template argument 1 is invalid Box.templates.hh:2732: error: invalid type in declaration before '=' token Box.templates.hh:2732: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2732: error: template argument 1 is invalid Box.templates.hh:2732: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2732: error: template argument 1 is invalid Box.templates.hh:2732: error: invalid type in declaration before '=' token Box.templates.hh:2732: error: request for member 'item' in 'holderden_lower', which is of non-class type 'int' Box.templates.hh:2738: error: no matching function for call to 'neg_assign(int&, int&)' Box.templates.hh:2745: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2745: error: template argument 1 is invalid Box.templates.hh:2745: error: invalid type in declaration before '=' token Box.templates.hh:2745: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2745: error: template argument 1 is invalid Box.templates.hh:2745: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2745: error: template argument 1 is invalid Box.templates.hh:2745: error: invalid type in declaration before '=' token Box.templates.hh:2745: error: request for member 'item' in 'holdernum_upper', which is of non-class type 'int' Box.templates.hh:2746: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2746: error: template argument 1 is invalid Box.templates.hh:2746: error: invalid type in declaration before '=' token Box.templates.hh:2746: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2746: error: template argument 1 is invalid Box.templates.hh:2746: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2746: error: template argument 1 is invalid Box.templates.hh:2746: error: invalid type in declaration before '=' token Box.templates.hh:2746: error: request for member 'item' in 'holderden_upper', which is of non-class type 'int' Box.templates.hh:2752: error: no matching function for call to 'neg_assign(int&, int&)' Box.templates.hh:2762: error: 'ub_var_coeff' was not declared in this scope Box.templates.hh:2763: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2763: error: template argument 1 is invalid Box.templates.hh:2763: error: invalid type in declaration before '=' token Box.templates.hh:2763: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2763: error: template argument 1 is invalid Box.templates.hh:2763: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2763: error: template argument 1 is invalid Box.templates.hh:2763: error: invalid type in declaration before '=' token Box.templates.hh:2763: error: request for member 'item' in 'holderd', which is of non-class type 'int' Box.templates.hh:2764: error: no matching function for call to 'neg_assign(int&, int&)' Box.templates.hh:2771: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2771: error: template argument 1 is invalid Box.templates.hh:2771: error: invalid type in declaration before '=' token Box.templates.hh:2771: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2771: error: template argument 1 is invalid Box.templates.hh:2771: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2771: error: template argument 1 is invalid Box.templates.hh:2771: error: invalid type in declaration before '=' token Box.templates.hh:2771: error: request for member 'item' in 'holderden', which is of non-class type 'int' Box.templates.hh:2779: error: in argument to unary ! Box.templates.hh:2795: error: 'lb_var_coeff' was not declared in this scope Box.templates.hh:2796: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2796: error: template argument 1 is invalid Box.templates.hh:2796: error: invalid type in declaration before '=' token Box.templates.hh:2796: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2796: error: template argument 1 is invalid Box.templates.hh:2796: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2796: error: template argument 1 is invalid Box.templates.hh:2796: error: invalid type in declaration before '=' token Box.templates.hh:2796: error: request for member 'item' in 'holderd', which is of non-class type 'int' Box.templates.hh:2797: error: no matching function for call to 'neg_assign(int&, int&)' Box.templates.hh:2804: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2804: error: template argument 1 is invalid Box.templates.hh:2804: error: invalid type in declaration before '=' token Box.templates.hh:2804: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2804: error: template argument 1 is invalid Box.templates.hh:2804: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2804: error: template argument 1 is invalid Box.templates.hh:2804: error: invalid type in declaration before '=' token Box.templates.hh:2804: error: request for member 'item' in 'holderden', which is of non-class type 'int' Box.templates.hh:2812: error: in argument to unary ! Box.templates.hh:2826: error: 'lb_var_coeff' was not declared in this scope Box.templates.hh:2826: error: 'ub_var_coeff' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:2842: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:2842: error: expected ',' or '...' before 'denominator' Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::generalized_affine_image(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': Box.templates.hh:2844: error: 'denominator' was not declared in this scope Box.templates.hh:2866: error: 'denominator' was not declared in this scope Box.templates.hh: At global scope: Box.templates.hh:2907: error: 'Coefficient_traits' is not a class or namespace Box.templates.hh:2907: error: expected ',' or '...' before 'denominator' Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::generalized_affine_preimage(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&, int)': Box.templates.hh:2910: error: 'denominator' was not declared in this scope Box.templates.hh:2933: error: 'denominator' was not declared in this scope Box.templates.hh:2959: error: expected initializer before '&' token Box.templates.hh:2960: error: 'var_coefficient' was not declared in this scope Box.templates.hh:2962: error: 'denominator' was not declared in this scope Box.templates.hh:2963: error: 'Coefficient' was not declared in this scope Box.templates.hh:2963: error: template argument 1 is invalid Box.templates.hh:2963: error: expected initializer before 'holderinverse_denominator' Box.templates.hh:2963: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2963: error: template argument 1 is invalid Box.templates.hh:2963: error: expected initializer before 'inverse_denominator' Box.templates.hh:2964: error: 'inverse_denominator' was not declared in this scope Box.templates.hh:2980: error: 'Coefficient' was not declared in this scope Box.templates.hh:2980: error: template argument 1 is invalid Box.templates.hh:2980: error: invalid type in declaration before '=' token Box.templates.hh:2980: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2980: error: template argument 1 is invalid Box.templates.hh:2980: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2980: error: template argument 1 is invalid Box.templates.hh:2980: error: invalid type in declaration before '=' token Box.templates.hh:2980: error: request for member 'item' in 'holdermax_num', which is of non-class type 'int' Box.templates.hh:2981: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2981: error: template argument 1 is invalid Box.templates.hh:2981: error: invalid type in declaration before '=' token Box.templates.hh:2981: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2981: error: template argument 1 is invalid Box.templates.hh:2981: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2981: error: template argument 1 is invalid Box.templates.hh:2981: error: invalid type in declaration before '=' token Box.templates.hh:2981: error: request for member 'item' in 'holdermax_den', which is of non-class type 'int' Box.templates.hh:2983: error: 'denominator' was not declared in this scope Box.templates.hh:2984: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2984: error: template argument 1 is invalid Box.templates.hh:2984: error: invalid type in declaration before '=' token Box.templates.hh:2984: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2984: error: template argument 1 is invalid Box.templates.hh:2984: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2984: error: template argument 1 is invalid Box.templates.hh:2984: error: invalid type in declaration before '=' token Box.templates.hh:2984: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' Box.templates.hh:2985: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2985: error: template argument 1 is invalid Box.templates.hh:2985: error: invalid type in declaration before '=' token Box.templates.hh:2985: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2985: error: template argument 1 is invalid Box.templates.hh:2985: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2985: error: template argument 1 is invalid Box.templates.hh:2985: error: invalid type in declaration before '=' token Box.templates.hh:2985: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' Box.templates.hh:2995: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2995: error: template argument 1 is invalid Box.templates.hh:2995: error: expected initializer before 'holderd' Box.templates.hh:2995: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:2995: error: template argument 1 is invalid Box.templates.hh:2995: error: expected initializer before 'd' Box.templates.hh:2999: error: 'd' was not declared in this scope Box.templates.hh:2999: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:3007: error: 'd' was not declared in this scope Box.templates.hh:3007: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:3016: error: no match for 'operator<' in 'min_num < revised_expr' Constraint.inlines.hh:305: note: candidates are: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&) Constraint.inlines.hh:311: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) Constraint.inlines.hh:323: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(const Parma_Polyhedra_Library::Linear_Expression&, int) Constraint.inlines.hh:317: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int) Box.templates.hh:3021: error: no match for 'operator<=' in 'min_num <= revised_expr' Constraint.inlines.hh:281: note: candidates are: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&) Constraint.inlines.hh:287: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) Constraint.inlines.hh:299: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(const Parma_Polyhedra_Library::Linear_Expression&, int) Constraint.inlines.hh:293: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<=(int) Box.templates.hh:3022: error: no match for 'operator<' in 'min_num < revised_expr' Constraint.inlines.hh:305: note: candidates are: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&) Constraint.inlines.hh:311: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) Constraint.inlines.hh:323: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(const Parma_Polyhedra_Library::Linear_Expression&, int) Constraint.inlines.hh:317: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator<(int) Box.templates.hh:3027: error: no match for 'operator>=' in 'max_num >= revised_expr' Constraint.inlines.hh:165: note: candidates are: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&) Constraint.inlines.hh:175: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) Constraint.inlines.hh:255: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(const Parma_Polyhedra_Library::Linear_Expression&, int) Constraint.inlines.hh:221: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>=(int) Box.templates.hh:3028: error: no match for 'operator>' in 'max_num > revised_expr' Constraint.inlines.hh:182: note: candidates are: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&) Constraint.inlines.hh:201: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) Constraint.inlines.hh:265: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(const Parma_Polyhedra_Library::Linear_Expression&, int) Constraint.inlines.hh:231: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int) Box.templates.hh:3032: error: no match for 'operator>' in 'max_num > revised_expr' Constraint.inlines.hh:182: note: candidates are: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(const Parma_Polyhedra_Library::Linear_Expression&, const Parma_Polyhedra_Library::Linear_Expression&) Constraint.inlines.hh:201: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(Parma_Polyhedra_Library::Variable, Parma_Polyhedra_Library::Variable) Constraint.inlines.hh:265: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(const Parma_Polyhedra_Library::Linear_Expression&, int) Constraint.inlines.hh:231: note: Parma_Polyhedra_Library::Constraint Parma_Polyhedra_Library::operator>(int) Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::generalized_affine_image(const Parma_Polyhedra_Library::Linear_Expression&, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&)': Box.templates.hh:3078: error: 'Coefficient' was not declared in this scope Box.templates.hh:3078: error: template argument 1 is invalid Box.templates.hh:3078: error: invalid type in declaration before '=' token Box.templates.hh:3078: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3078: error: template argument 1 is invalid Box.templates.hh:3078: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3078: error: template argument 1 is invalid Box.templates.hh:3078: error: invalid type in declaration before '=' token Box.templates.hh:3078: error: request for member 'item' in 'holdermax_num', which is of non-class type 'int' Box.templates.hh:3079: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3079: error: template argument 1 is invalid Box.templates.hh:3079: error: invalid type in declaration before '=' token Box.templates.hh:3079: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3079: error: template argument 1 is invalid Box.templates.hh:3079: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3079: error: template argument 1 is invalid Box.templates.hh:3079: error: invalid type in declaration before '=' token Box.templates.hh:3079: error: request for member 'item' in 'holdermax_den', which is of non-class type 'int' Box.templates.hh:3082: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3082: error: template argument 1 is invalid Box.templates.hh:3082: error: invalid type in declaration before '=' token Box.templates.hh:3082: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3082: error: template argument 1 is invalid Box.templates.hh:3082: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3082: error: template argument 1 is invalid Box.templates.hh:3082: error: invalid type in declaration before '=' token Box.templates.hh:3082: error: request for member 'item' in 'holdermin_num', which is of non-class type 'int' Box.templates.hh:3083: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3083: error: template argument 1 is invalid Box.templates.hh:3083: error: invalid type in declaration before '=' token Box.templates.hh:3083: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3083: error: template argument 1 is invalid Box.templates.hh:3083: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3083: error: template argument 1 is invalid Box.templates.hh:3083: error: invalid type in declaration before '=' token Box.templates.hh:3083: error: request for member 'item' in 'holdermin_den', which is of non-class type 'int' Box.templates.hh:3096: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:3128: error: expected initializer before '&' token Box.templates.hh:3129: error: expected initializer before '&' token Box.templates.hh:3133: error: 'inhomo' was not declared in this scope Box.templates.hh:3134: error: 'coeff' was not declared in this scope Box.templates.hh:3140: error: 'inhomo' was not declared in this scope Box.templates.hh:3141: error: 'coeff' was not declared in this scope Box.templates.hh:3149: error: 'coeff' was not declared in this scope Box.templates.hh:3232: error: expected initializer before '&' token Box.templates.hh:3235: error: 'inhomo' was not declared in this scope Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::generalized_affine_preimage(const Parma_Polyhedra_Library::Linear_Expression&, Parma_Polyhedra_Library::Relation_Symbol, const Parma_Polyhedra_Library::Linear_Expression&)': Box.templates.hh:3293: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:3294: error: 'Coefficient' was not declared in this scope Box.templates.hh:3294: error: template argument 1 is invalid Box.templates.hh:3294: error: invalid type in declaration before '=' token Box.templates.hh:3294: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3294: error: template argument 1 is invalid Box.templates.hh:3294: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3294: error: template argument 1 is invalid Box.templates.hh:3294: error: invalid type in declaration before '=' token Box.templates.hh:3294: error: request for member 'item' in 'holdertemp', which is of non-class type 'int' Box.templates.hh:3295: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:3295: error: 'const class Parma_Polyhedra_Library::Linear_Expression' has no member named 'coefficient' Box.templates.hh:3296: error: no match for 'operator*' in 'temp * var' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3297: error: no match for 'operator*' in 'temp * var' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh: In member function 'void Parma_Polyhedra_Library::Box<Interval>::get_limiting_box(const Parma_Polyhedra_Library::Constraint_System&, Parma_Polyhedra_Library::Box<Interval>&) const': Box.templates.hh:3364: error: expected initializer before '&' token Box.templates.hh:3365: error: expected initializer before '&' token Box.templates.hh:3366: error: 'n' was not declared in this scope Box.templates.hh:3366: error: 'd' was not declared in this scope Box.templates.hh: In member function 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Box<Interval>::constraints() const': Box.templates.hh:3480: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3484: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3488: error: 'Coefficient' was not declared in this scope Box.templates.hh:3488: error: template argument 1 is invalid Box.templates.hh:3488: error: invalid type in declaration before '=' token Box.templates.hh:3488: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3488: error: template argument 1 is invalid Box.templates.hh:3488: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3488: error: template argument 1 is invalid Box.templates.hh:3488: error: invalid type in declaration before '=' token Box.templates.hh:3488: error: request for member 'item' in 'holdern', which is of non-class type 'int' Box.templates.hh:3489: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3489: error: template argument 1 is invalid Box.templates.hh:3489: error: invalid type in declaration before '=' token Box.templates.hh:3489: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3489: error: template argument 1 is invalid Box.templates.hh:3489: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3489: error: template argument 1 is invalid Box.templates.hh:3489: error: invalid type in declaration before '=' token Box.templates.hh:3489: error: request for member 'item' in 'holderd', which is of non-class type 'int' Box.templates.hh:3492: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3494: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3498: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3500: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh: In member function 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Box<Interval>::minimized_constraints() const': Box.templates.hh:3518: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3522: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3526: error: 'Coefficient' was not declared in this scope Box.templates.hh:3526: error: template argument 1 is invalid Box.templates.hh:3526: error: invalid type in declaration before '=' token Box.templates.hh:3526: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3526: error: template argument 1 is invalid Box.templates.hh:3526: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3526: error: template argument 1 is invalid Box.templates.hh:3526: error: invalid type in declaration before '=' token Box.templates.hh:3526: error: request for member 'item' in 'holdern', which is of non-class type 'int' Box.templates.hh:3527: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3527: error: template argument 1 is invalid Box.templates.hh:3527: error: invalid type in declaration before '=' token Box.templates.hh:3527: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3527: error: template argument 1 is invalid Box.templates.hh:3527: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3527: error: template argument 1 is invalid Box.templates.hh:3527: error: invalid type in declaration before '=' token Box.templates.hh:3527: error: request for member 'item' in 'holderd', which is of non-class type 'int' Box.templates.hh:3532: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3536: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3538: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3542: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3544: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh: In member function 'Parma_Polyhedra_Library::Congruence_System Parma_Polyhedra_Library::Box<Interval>::congruences() const': Box.templates.hh:3562: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3566: error: no match for 'operator*' in '0 * (Parma_Polyhedra_Library::Variable)((space_dim - 1))' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.templates.hh:3570: error: 'Coefficient' was not declared in this scope Box.templates.hh:3570: error: template argument 1 is invalid Box.templates.hh:3570: error: invalid type in declaration before '=' token Box.templates.hh:3570: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3570: error: template argument 1 is invalid Box.templates.hh:3570: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3570: error: template argument 1 is invalid Box.templates.hh:3570: error: invalid type in declaration before '=' token Box.templates.hh:3570: error: request for member 'item' in 'holdern', which is of non-class type 'int' Box.templates.hh:3571: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3571: error: template argument 1 is invalid Box.templates.hh:3571: error: invalid type in declaration before '=' token Box.templates.hh:3571: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3571: error: template argument 1 is invalid Box.templates.hh:3571: error: 'Coefficient' cannot appear in a constant-expression Box.templates.hh:3571: error: template argument 1 is invalid Box.templates.hh:3571: error: invalid type in declaration before '=' token Box.templates.hh:3571: error: request for member 'item' in 'holderd', which is of non-class type 'int' Box.templates.hh:3575: error: no match for 'operator*' in 'd * (Parma_Polyhedra_Library::Variable)(k)' Linear_Expression.defs.hh:433: note: candidates are: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(int) Linear_Expression.inlines.hh:133: note: Parma_Polyhedra_Library::Linear_Expression Parma_Polyhedra_Library::operator*(const Parma_Polyhedra_Library::Linear_Expression&, int) Box.cc: In function 'bool Parma_Polyhedra_Library::extract_interval_constraint(const Parma_Polyhedra_Library::Constraint&, Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type&, Parma_Polyhedra_Library::dimension_type&)': Box.cc:41: error: 'const class Parma_Polyhedra_Library::Constraint' has no member named 'coefficient' Box.cc: In function 'bool Parma_Polyhedra_Library::extract_interval_congruence(const Parma_Polyhedra_Library::Congruence&, Parma_Polyhedra_Library::dimension_type, Parma_Polyhedra_Library::dimension_type&, Parma_Polyhedra_Library::dimension_type&)': Box.cc:66: error: 'const class Parma_Polyhedra_Library::Congruence' has no member named 'coefficient' make: The error code from the last command is 1.
Stop. make: The error code from the last command is 2.
Stop. make: The error code from the last command is 1.
Stop. make: The error code from the last command is 2.
Stop.
This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
It was created by the Parma Polyhedra Library configure 0.10.2, which was generated by GNU Autoconf 2.63. Invocation command line was
$ ./configure --prefix=/contrib/ppl-0.10.2-gcc --with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp --enable-cxx
## --------- ## ## Platform. ## ## --------- ##
hostname = be1105en.ucar.edu uname -m = 00CBB5014C00 uname -r = 3 uname -s = AIX uname -v = 5
/usr/bin/uname -p = powerpc /bin/uname -X = unknown
/bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = 5.3.0.0 /bin/universe = unknown
PATH: /contrib/Modules/3.2.6/bin PATH: /usr/java5/bin/ PATH: /blhome/ddvento/bin/ PATH: /blhome/ddvento/opt/bin/ PATH: /usr/local/lsf/7.0/aix5-64/etc PATH: /usr/local/lsf/7.0/aix5-64/bin PATH: /usr/bin PATH: /etc PATH: /usr/sbin PATH: /usr/ucb PATH: /usr/bin/X11 PATH: /sbin PATH: /usr/java5/jre/bin PATH: /usr/java5/bin PATH: /bin PATH: /usr/bin/ PATH: /usr/local/bin/ PATH: /usr/vac/bin/ PATH: /usr/vacpp/bin/ PATH: /contrib/Python-2.5.2/bin/ PATH: /contrib/bin/
## ----------- ## ## Core tests. ## ## ----------- ##
configure:2298: checking build system type configure:2316: result: powerpc-ibm-aix5.3.0.0 configure:2338: checking host system type configure:2353: result: powerpc-ibm-aix5.3.0.0 configure:2393: checking for a BSD-compatible install configure:2461: result: /usr/local/bin//install -c configure:2472: checking whether build environment is sane configure:2515: result: yes configure:2540: checking for a thread-safe mkdir -p configure:2579: result: /usr/local/bin//mkdir -p configure:2592: checking for gawk configure:2622: result: no configure:2592: checking for mawk configure:2622: result: no configure:2592: checking for nawk configure:2608: found /usr/bin/nawk configure:2619: result: nawk configure:2630: checking whether make sets $(MAKE) configure:2652: result: yes configure:2822: checking how to create a ustar tar archive configure:2835: tar --version tar: illegal option -- - Usage: tar -{c|r|t|u|x} [ -BdDEFhilmopRsUvw ] [ -Number ] [ -f TarFile ] [ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File ... Usage: tar {c|r|t|u|x} [ bBdDEfFhilLXmNopRsSUvw[0-9] ] [ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ] [ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File ... configure:2838: $? = 1 configure:2835: gnutar --version ./configure[2836]: gnutar: not found configure:2838: $? = 127 configure:2835: gtar --version tar (GNU tar) 1.19 Copyright (C) 2007 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason. configure:2838: $? = 0 configure:2878: tardir=conftest.dir && eval gtar --format=ustar -chf - "$tardir" >conftest.tar configure:2881: $? = 0 configure:2885: gtar -xf - <conftest.tar configure:2888: $? = 0 configure:2901: result: gnutar configure:3027: checking for gcc configure:3054: result: gcc -maix64 configure:3286: checking for C compiler version configure:3294: gcc -maix64 --version >&5 gcc (GCC) 4.1.1 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3298: $? = 0 configure:3305: gcc -maix64 -v >&5 Using built-in specs. Target: powerpc-ibm-aix5.3.0.0 Configured with: ../gcc-4.1.1/configure Thread model: aix gcc version 4.1.1 configure:3309: $? = 0 configure:3316: gcc -maix64 -V >&5 gcc: '-V' must come at the start of the command line configure:3320: $? = 1 configure:3343: checking for C compiler default output file name configure:3365: gcc -maix64 -fexceptions -fexceptions conftest.c >&5 configure:3369: $? = 0 configure:3407: result: a.out configure:3426: checking whether the C compiler works configure:3436: ./a.out configure:3440: $? = 0 configure:3459: result: yes configure:3466: checking whether we are cross compiling configure:3468: result: no configure:3471: checking for suffix of executables configure:3478: gcc -maix64 -o conftest -fexceptions -fexceptions conftest.c >&5 configure:3482: $? = 0 configure:3508: result: configure:3514: checking for suffix of object files configure:3540: gcc -maix64 -c -fexceptions -fexceptions conftest.c >&5 configure:3544: $? = 0 configure:3569: result: o configure:3573: checking whether we are using the GNU C compiler configure:3602: gcc -maix64 -c -fexceptions -fexceptions conftest.c >&5 configure:3609: $? = 0 configure:3626: result: yes configure:3635: checking whether gcc -maix64 accepts -g configure:3665: gcc -maix64 -c -g -fexceptions conftest.c >&5 configure:3672: $? = 0 configure:3773: result: yes configure:3790: checking for gcc -maix64 option to accept ISO C89 configure:3864: gcc -maix64 -c -fexceptions -fexceptions conftest.c >&5 configure:3871: $? = 0 configure:3894: result: none needed configure:3923: checking for style of include used by make configure:3951: result: GNU configure:3976: checking dependency style of gcc -maix64 configure:4067: result: gcc3 configure:4096: checking whether we are actually using the Intel C compiler configure:4123: gcc -maix64 -c -fexceptions -fexceptions conftest.c >&5 conftest.c:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me' configure:4130: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | /* end confdefs.h. */ | | #ifndef __INTEL_COMPILER | choke me | #endif | configure:4142: result: no configure:4269: checking for C++ compiler version configure:4277: g++ -maix64 --version >&5 g++ (GCC) 4.1.1 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:4281: $? = 0 configure:4288: g++ -maix64 -v >&5 Using built-in specs. Target: powerpc-ibm-aix5.3.0.0 Configured with: ../gcc-4.1.1/configure Thread model: aix gcc version 4.1.1 configure:4292: $? = 0 configure:4299: g++ -maix64 -V >&5 g++: argument to '-V' missing
configure:4303: $? = 1 configure:4306: checking whether we are using the GNU C++ compiler configure:4335: g++ -maix64 -c -fexceptions -fexceptions conftest.cpp >&5 configure:4342: $? = 0 configure:4359: result: yes configure:4368: checking whether g++ -maix64 accepts -g configure:4398: g++ -maix64 -c -g -fexceptions conftest.cpp >&5 configure:4405: $? = 0 configure:4506: result: yes configure:4531: checking dependency style of g++ -maix64 configure:4622: result: gcc3 configure:4642: checking whether we are actually using the Intel C++ compiler configure:4669: g++ -maix64 -c -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp:11: error: 'choke' does not name a type configure:4676: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | /* end confdefs.h. */ | | #ifndef __INTEL_COMPILER | choke me | #endif | configure:4688: result: no configure:4702: checking for grep that handles long lines and -e configure:4762: result: /usr/local/bin//grep configure:4767: checking for fgrep configure:4831: result: /usr/local/bin//grep -F configure:4836: checking for egrep configure:4900: result: /usr/local/bin//grep -E configure:4905: checking for a sed that does not truncate output configure:4971: result: /usr/bin/sed configure:4981: checking how to run the C++ preprocessor configure:5017: g++ -maix64 -E -fexceptions conftest.cpp configure:5024: $? = 0 configure:5055: g++ -maix64 -E -fexceptions conftest.cpp conftest.cpp:9:28: error: ac_nonexistent.h: No such file or directory configure:5062: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:5095: result: g++ -maix64 -E configure:5124: g++ -maix64 -E -fexceptions conftest.cpp configure:5131: $? = 0 configure:5162: g++ -maix64 -E -fexceptions conftest.cpp conftest.cpp:9:28: error: ac_nonexistent.h: No such file or directory configure:5169: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:5208: checking whether make sets $(MAKE) configure:5230: result: yes configure:5253: checking for a BSD-compatible install configure:5321: result: /usr/local/bin//install -c configure:5339: checking whether to compile with debug info configure:5348: result: yes configure:5372: checking whether to compile for profiling configure:5387: result: no configure:5398: checking whether to compile for test coverage configure:5413: result: no configure:5424: checking whether to enable checking of run-time assertions configure:5437: result: no configure:5449: checking whether to enable even more run-time assertions configure:5462: result: no configure:5515: checking whether to enable optimizations configure:5542: result: standard configure:5568: checking for which architecture to optimize configure:5591: result: default configure:5604: checking whether to select specific floating point arithmetics configure:5647: result: default configure:5692: checking whether to use precompiled headers configure:5706: result: no configure:5824: checking the type of integral values to use as coefficients configure:5889: result: GMP mpz configure:6030: checking for perl configure:6048: found /usr/bin/perl configure:6061: result: /usr/bin/perl configure:6086: checking for an ANSI C-conforming const configure:6161: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6168: $? = 0 configure:6183: result: yes configure:6193: checking for inline configure:6219: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6226: $? = 0 configure:6244: result: inline configure:6268: checking how to run the C preprocessor configure:6308: gcc -maix64 -E -fexceptions conftest.c configure:6315: $? = 0 configure:6346: gcc -maix64 -E -fexceptions conftest.c conftest.c:15:28: error: ac_nonexistent.h: No such file or directory configure:6353: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:6386: result: gcc -maix64 -E configure:6415: gcc -maix64 -E -fexceptions conftest.c configure:6422: $? = 0 configure:6453: gcc -maix64 -E -fexceptions conftest.c conftest.c:15:28: error: ac_nonexistent.h: No such file or directory configure:6460: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:6500: checking for ANSI C header files configure:6530: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6537: $? = 0 configure:6636: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6640: $? = 0 configure:6646: ./conftest configure:6650: $? = 0 configure:6668: result: yes configure:6692: checking for sys/types.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for sys/stat.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for stdlib.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for string.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for memory.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for strings.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for inttypes.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for stdint.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6692: checking for unistd.h configure:6713: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6720: $? = 0 configure:6737: result: yes configure:6752: checking whether byte ordering is bigendian configure:6777: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 conftest.c:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'a' configure:6784: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #ifndef __APPLE_CC__ | not a universal capable compiler | #endif | typedef int dummy; | configure:6834: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6841: $? = 0 configure:6873: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:6880: $? = 0 configure:7132: result: yes configure:7158: checking for typeof syntax and keyword spelling configure:7199: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:7206: $? = 0 configure:7223: result: typeof configure:7246: checking size of char configure:7551: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:7555: $? = 0 configure:7561: ./conftest configure:7565: $? = 0 configure:7591: result: 1 configure:7605: checking size of short configure:7910: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:7914: $? = 0 configure:7920: ./conftest configure:7924: $? = 0 configure:7950: result: 2 configure:7964: checking size of int configure:8269: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:8273: $? = 0 configure:8279: ./conftest configure:8283: $? = 0 configure:8309: result: 4 configure:8323: checking size of long configure:8628: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:8632: $? = 0 configure:8638: ./conftest configure:8642: $? = 0 configure:8668: result: 8 configure:8682: checking size of long long configure:8987: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:8991: $? = 0 configure:8997: ./conftest configure:9001: $? = 0 configure:9027: result: 8 configure:9041: checking size of size_t configure:9346: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:9350: $? = 0 configure:9356: ./conftest configure:9360: $? = 0 configure:9386: result: 8 configure:9400: checking size of float configure:9705: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:9709: $? = 0 configure:9715: ./conftest configure:9719: $? = 0 configure:9745: result: 4 configure:9759: checking size of double configure:10064: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:10068: $? = 0 configure:10074: ./conftest configure:10078: $? = 0 configure:10104: result: 8 configure:10118: checking size of long double configure:10423: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:10427: $? = 0 configure:10433: ./conftest configure:10437: $? = 0 configure:10463: result: 8 configure:10480: checking size of int* configure:10785: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:10789: $? = 0 configure:10795: ./conftest configure:10799: $? = 0 configure:10825: result: 8 configure:10839: checking size of fp configure:11150: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.c >&5 configure:11154: $? = 0 configure:11160: ./conftest configure:11164: $? = 0 configure:11190: result: 8 configure:11237: checking fenv.h usability configure:11254: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:11261: $? = 0 configure:11275: result: yes configure:11279: checking fenv.h presence configure:11294: g++ -maix64 -E -fexceptions conftest.cpp configure:11301: $? = 0 configure:11315: result: yes configure:11348: checking for fenv.h configure:11357: result: yes configure:11237: checking ieeefp.h usability configure:11254: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp:72:20: error: ieeefp.h: No such file or directory configure:11261: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <ieeefp.h> configure:11275: result: no configure:11279: checking ieeefp.h presence configure:11294: g++ -maix64 -E -fexceptions conftest.cpp conftest.cpp:39:20: error: ieeefp.h: No such file or directory configure:11301: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <ieeefp.h> configure:11315: result: no configure:11348: checking for ieeefp.h configure:11357: result: no configure:11372: checking if it is possible to control the FPU configure:11527: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp -lm >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:11531: $? = 0 configure:11537: ./conftest configure:11541: $? = 0 configure:11543: result: yes configure:11594: checking whether the C++ compiler provides proper long doubles configure:11627: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:11631: $? = 0 configure:11637: ./conftest configure:11641: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | /* end confdefs.h. */ | | #include <cfloat> | | long double f = 0.0; | | int main() { | if ((LDBL_MAX <= DBL_MAX) && (DBL_EPSILON <= LDBL_EPSILON) | && (LDBL_MAX_EXP <= DBL_MAX_EXP) && (LDBL_MANT_DIG <= DBL_MANT_DIG)) | return 1; | else | return 0; | } | configure:11652: result: no configure:11695: checking the binary format of C++ floats configure:11763: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:11767: $? = 0 configure:11773: ./conftest configure:11777: $? = 0 configure:11799: result: IEEE754 Single Precision configure:11812: checking whether C++ provides exact output for floats configure:11918: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:11922: $? = 0 configure:11928: ./conftest configure:11932: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | #include <sstream> | | /* Unique (nonzero) code for the IEEE 754 Single Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_SINGLE 1 | | /* Unique (nonzero) code for the IEEE 754 Double Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_DOUBLE 2 | | /* Unique (nonzero) code for the IEEE 754 Quad Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_QUAD 3 | | /* Unique (nonzero) code for the Intel Double-Extended | floating point format. */ | # define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4 | | bool | check(float value, const char* text) { | std::ostringstream ss; | ss.precision(10000); | ss << value; | return ss.str() == text; | } | | #if SIZEOF_FLOAT == 4 | | float | convert(uint32_t x) { | union { | float value; | uint32_t word; | } u; | | u.word = x; | return u.value; | } | | #if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE | | int | main() { | if (check(convert(0xaaacccaaU), | "-3.069535185924732179074680971098132431507110595703125e-13") | && check(convert(0xcccaaaccU), | "-106255968") | && check(convert(0x00000001U), | "1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45") | && check(convert(0x80000001U), | "-1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45")) | return 0; | else | return 1; | } | | #else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE | | int | main() { | return 1; | } | | #endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE | | #else // SIZEOF_FLOAT != 4 | | int | main() { | return 1; | } | | #endif // SIZEOF_FLOAT != 4 | configure:11943: result: no configure:12011: checking the binary format of C++ doubles configure:12089: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:12093: $? = 0 configure:12099: ./conftest configure:12103: $? = 0 configure:12125: result: IEEE754 Double Precision configure:12139: checking whether C++ provides exact output for doubles configure:12254: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:12258: $? = 0 configure:12264: ./conftest configure:12268: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | #include <sstream> | | /* Unique (nonzero) code for the IEEE 754 Single Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_SINGLE 1 | | /* Unique (nonzero) code for the IEEE 754 Double Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_DOUBLE 2 | | /* Unique (nonzero) code for the IEEE 754 Quad Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_QUAD 3 | | /* Unique (nonzero) code for the Intel Double-Extended | floating point format. */ | # define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4 | | bool | check(double value, const char* text) { | std::ostringstream ss; | ss.precision(10000); | ss << value; | return ss.str() == text; | } | | #if SIZEOF_DOUBLE == 8 | | double | convert(uint32_t msp, uint32_t lsp) { | union { | double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint32_t lsp; | #else | uint32_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE | | int | main() { | if (check(convert(0xaaacccaaUL, 0xacccaaacUL), | "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103") | && check(convert(0xcccaaaccUL, 0xcaaacccaUL), | "-85705035845709846787631445265530356117787053916987832397725696") | && check(convert(0x00000000UL, 0x00000001UL), | "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324") | && check(convert(0x80000000UL, 0x00000001UL), | "-4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324")) | return 0; | else | return 1; | } | | #else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE | | int | main() { | return 1; | } | | #endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE | | #else // SIZEOF_DOUBLE != 8 | | int | main() { | return 1; | } | | #endif // SIZEOF_DOUBLE != 8 | configure:12279: result: no configure:12347: checking the binary format of C++ long doubles configure:12425: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:12429: $? = 0 configure:12435: ./conftest configure:12439: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | | #if SIZEOF_LONG_DOUBLE == 12 | | long double | convert(uint32_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | int | main() { | if (std::numeric_limits<long double>::is_iec559 | && (convert(0xaaacccaaUL, 0xacccaaacccaaacccULL) | == -23475151196235330448360987288488448023604990597437922665537894499317141030270831473500040521309097782521743811281100731620612303910141158923283064807755815684643856544564541670181998003713114595098650350075763370916908460284838902787487703020001649220669684278577319085319204471093693972621987808779314674903648668236688723332999785552894845325917244897920804830290985291535343986477508649100409893486651507134071296739623686984014433965803259868867855465109457220731656260670349710137932272802677796915669809481885196101414678015638835049035133835457854893845093496950772367562664955830097293678125205138879788670490610650322134182370990336443894886171520732434535881085387893610114822547025980969387956199048733969351859470324032549906964255557877860343871346618951696178837035563054101786829980983909935265617095747543882856776297861197958453847978446679149969948882161264279705948735019353220550905117946051015070744207453853343171175921378515361160726195198161165083475968.0L | && convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL) | == -3.234349908433673569788362433758236701401379200386310478070230491201716094576208088733092209352711081763530973139439402754721006217889031902309566905344106766697050593355851405189694125966100801537593811320493850579152938679705465870788684523518541806158791408378718596936132854683425581754205242594614192465876640102628432246897674583649745467641139234207139584810101868772915312454075582265240687184279243861217351667059920878236164506473261797703393981510799228030778152399657445848839855361831637014754038570644257393307922665529947406582062857348101442206039278033447012163028384634753160589791458287895963629514043345016273218385584012204321293761500625038828699451659598873739820939586314044735551522599884065690704853850058509917597610804664086074437219778400030370474948166770867639885264893441594112815147445129222900623635467542926999246959939000796968650036727515644358583656635086409945418378371210848857160579105176395869221692977516017583375976424496977231821652434877830409470264872173686708172667000681514442371517343085468923465834742925914605731609765839631967460042791316319023971980691582832232860491668014341598553021017317450989919240909832141247027104138677882497144506317212033031539627613710631490195651235049780490963461514410018833968072513381369320107740021476622121320911875995678620145217379068502893509758814753434218746970000807381369855297087472398985134583394635298304301976743682254755898799853471470973139487587740504614698965906370516694512439128548402418825952236144896863935402725154209604537541130862513767786738372717442238281296070010302255703329785136750848608510805269562580550421695335686256291415407706167513127610045830074144232174636354465520547408627155363076530824695464544496846799567213412195115628936631295933321590908845288558910694118404555858629368018552451467994715743285452343185080572139353967831950470208768524113647528966442712608411306460439403733081312454377815407740431356862292588345515142587184008493066353603658341268923669196617183622259532802077159684815974630350730226266887950469523895272137382682818583664766982004756872470359454855421231861600855405622250180301557001727658100463825721179482988287599820459238518127671242515104954727268296043840120459189992322364113432317376499876615018647681005294400890426164141474245830847447887800872845238979407896829797297990804023745291564182356173092302630416583955274584512411637160723327887646112927503049935866004964114798241035087343318592736488780742013424329479787548324846879335440582948017481856461250014099199025874264395426269044157577172368261822794071985989844785134561848837459343219269316428175168803982908920457749528709425299296467325603578851955843550406474402944350694486492967809731047663564513772408591390180588458110788180950470244902062953534590109356800048878919144043979000989724521292698054747484439706733411566872999353418986588749568995482953622089499726327807058708520455805869817259837526415584189633013162307753166636151833127563746069733440228640737257520299330767346391011026088684503955941755171481192133779119344715318224728775697330484860348152872987113995597980243907204928634355356748752501217143216601222634344211757170284222785899530754663487291354339744025299042982320199789070467212765859078265587040664859899997109073649635056953085131587344086263213972132295294758682559609365238437544701417284297826732242650999654640698637095193178119502815643930373741504018967640638120546136857104880094633373762586018322104925768619990210092851075031033451925224377383389610824173203445111896055901190132142204139463967556738295382942065540228560332044410017389129348710403201272349054427064370609913529996988445571571382916349536222256815467149849706750571813156961918737343978667568453623162377198802996342528197935118265696537928993634621119483415202847968129550048667353312481509419740177690982818603515625e-1634L | && convert(0x00000000UL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L | && convert(0x80000000UL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L)) | return 0; | else | return 1; | } | | #else // SIZEOF_LONG_DOUBLE != 12 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 12 | configure:12551: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:12555: $? = 0 configure:12561: ./conftest configure:12565: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | | #if SIZEOF_LONG_DOUBLE == 16 | | #if defined(__sparc__) && defined(__arch64__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)) | | // Work around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37661 | int | main() { | return 1; | } | | #else // !defined(__sparc__) || !defined(__arch64__) ... | | long double | convert(uint64_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint64_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint64_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | int | main() { | if (std::numeric_limits<long double>::is_iec559 | && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL) | == -8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182265604546917705495630867683634260396102823982577953799017062698102242357552179655099799114234932578035799185560231199083485854936098752376968393647581458407558794412029383325763638562788717260040049064497131924995762524305159587498016677454321953274959044696323291625045478494472581264819229447771276640446297211105522340278216491094195598543872903469867733674572559977106495016037365144714092305087690135013719347274733034998868445412589677425060095799279101903473205374412225289846468374532481297065712317082077938035156602646698351182648104255704218634101302925067087078955133405900007044267209898310644310904503791609310204530573463263951434586894153990739119187567218316060343579381319744970284036645819031296341711196622764674251739340075981861518157380656135644972541894187627902651874054588734732906342927804126694032667794810086817870907476586539935233288396561987441453006798066121939082312783518917156845604116991071351557087417820814737448930366014934139649936714605919733198611573267554373841805458030152706709963798138766665437195696286204333504023648063774567253657433115103351104190986192714072985487851579415615609526545777708652951405409847708647802254957197551148967040887700676749608935220270768342493900689974647088468653016844028721111482484905641458435567969469008688175230469940968306817582881926746422674891155765989419578280531847369896579997902056370886853884911608932917273377526774091310024267948445090595150848945937264274298230316059283748541372546998570685254364147022857127106166375807928861080771495427281772909457414476961102929683460150380091022216902985688084496718499522925736236100966839490544989265028487132166444183820209811985298620037327410566483546092567386575203772065259924817078378553423445114795887961447486917127608105936488957460696218995227900239169698156532097505472359601263421630872600694896078087993492528322817946497772710008837719609909497752428441503174822795185219988589528998338631725113908025553153842511443825016809012668839505492083731555461826355018782953670089090573806418379608917728933789667567839232807208925449602517595541397929042673972541764273293287457694772131268012143158809453627483947788463130353101911401667613659585055576869155534998835800762122080588150495103765874874613454517177121048246498282285280904742153700877576028449241385429235777250684782328183787286276152331338688335510090441008799792147837436640030059474106105829612076012626498555138419516242851436828131901668517305064107076254421670883938440896580435257206350630093337919967881954501164988008085285088049681541452106188312639266136685237513628484410146475880276899689323468288129178652504797093820419402611691354199968499448738482587415636727937353639264845197813295922091561637504736126720760129127710879063043647425297778439069116811334073539456451043564046959839163407469915211595468718792531664679340442279513006653831781499155674396529973036072198720572542914738630057353297633085013244779323578115668031532144051510758240504037804690564298890171218568053886450388507561335540224075309922339483204122333658701871584147135738144358394867585372134490396264937274938848938884293776466212293402264641368524174512841804801230279990820989956713963566987970818315606031084417487965298373510594915942429581446481759482857537804431542098380533075194397625795605337047384493682506827547173206735463795863376044170821429161475172513429888642402089329334654087406739184258619435041737233405001461505889892578125e-1644L | && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL) | == -124514581107511552210796456934966803687304842980295573828954497922493752983397188814711304411560018580965744046315133789985274208017368151964100284400784216106649187287727268989948309893335776137201236307422254490384994342132786695251856340822607539332337741185911979986209464222776112117543477310592395735321641016191765613924234896253051931334188353106422231052895112533426462965071195000083346118845388851222468275853899619767858364593491745895616655921022591572983370616010095670881627966440183912948095715866505356803258659518882310562527709556367822539262111581385341941163873435919341717170180065638145777392282815973491833042960716493005101610346003273833563515742996380936304245423639950200211170835546053201980835724318930743625600269679260909350277600256315069013053332133830043213033329696436217829598890872375814523266366034383531514035947792389939922899745714167418517458817088636450662300503353562047987996978943856662174717195437379600755109302771921946748859230686543872.0L | && convert(0x0000000000000000ULL, 0x0000000000000001ULL) | == 6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966L | && convert(0x8000000000000000ULL, 0x0000000000000001ULL) | == -6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966L)) | return 0; | else | return 1; | } | | #endif // !defined(__sparc__) || !defined(__arch64__) ... | | #else // SIZEOF_LONG_DOUBLE != 16 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 16 | configure:12665: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:12669: $? = 0 configure:12675: ./conftest configure:12679: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | | #if SIZEOF_LONG_DOUBLE == 16 | | long double | convert(uint64_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint64_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint64_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | int | main() { | if (std::numeric_limits<long double>::is_iec559 | && (convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL) | == -7.6048540943660203383375998875878002021755137452856942966991187375790618225432711954682137529456970686263412309600617913197560145993931792374946076061175594550915924955313391528566777352996816141138550473090399783817652516896553304678788796532976847530386107750759127004897950996937530751872097675156395937218234460013748219954603465088115161828048215763754331575034447236689765045674584188927116128770082933362914567237187017530082528540058002631800274192146485961758366625476271676375489358478966148719270989233284454992652229565352739884432045036085427546783826745250197623257802129011015273728848161395367551745780868250488191368846207890422268873532651627591649389757751752362072212699309947970918940313250863861141479770240104635553035870698789854752554391365757900620463269938427975381635241159694500569550818398323639621243086116154792038064941523448921284117826015673798399008555604372098051095571652170081985843614541956756469168604624857938653843172027861680499952062356914208628014745759010068414302636374017506453133466034362025545080555878082849488386388633197121003201192243150535143329731394874806398663589117246866205872431804204733617792317769570293754056793574570217834482046448788177551912250351735294891953434051815332631157674735614138641122106756749236824504094008852401427746414294902929999820878756040223246586814590339767277305131757114819123212897500810087015748205562614251410818122967399030151040544000563841334553718469935435435467196184665715776274355094471974036803615388313095637066824428688301387559074204015990782977635088047810891072724763113879034313256582868462323549141603475107584159170279311985555035822254439699354641467841523895459190280971487264907972306090449968125859834702627544039374770757804202780369083049631377117943503836158566134919890165392965694050010089785271180956974707841066789578714463804030217977213138932711313311673101336981407798868338574571646697479192174043005729926344062133712267722538847635563454980776602355539986984320762864338177037919835721981686778834558429264194379257521818498431326991615024245632036376472844033831041082865649867453234086495085785897620758602105639344460383483879837994732204331335249564434458633345708439547881275060781028856140511029543559841701048277393119691261302356763314623124427357421753631218361407626116820986377721964654181839884670481278855478057996766639496909094607181503284084821580817995489740980323820218685313435967428474842973086612053963343516426226771094376179468881265734324847319127862733279299033951360912038720313525324094079916937921290391173035983474894312808532257620563284126400481460163180987618432784215807933623038747129658746767737999870125917269554155887740155308886259497202672935871853706835670467770080598813171256855182510726902033818328368569915805303784312301890212694874227119220544172084552511408717615136830401766455214293141216171050374325461714383991698910564587610624980490526840861990674615172112493813749497898151186927777122955666180439323595468816129418014664347852590958362752922841159054568358354108159485566264221008508127941168192513144760720303715640604755054290633421601734103622748053919536319416025380484868142967373186019970714662893713233834399238357795019603619284595839414945178963942707310299674873908104634979966232181071013259653467885733418936194081202149071958107062125873498848807502257018093517304220495114497635240876547262237411350327960679115197531609627900227913193653254580253539005743563270152329126178570329413401577715075363838562221558204219798925982825556469998988615897432425107152113543617151738802778259560442930074253918797315241708532198010528564246933829811859278710445896556638416265987381678070434371355795025956293319362293063591248665429733880825207421011852020394068840244110140622151494488609575671090387230241296949998536132398625008053543954239573998167556201366323875845409929752349853515625e-1644L | && convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL) | == -99658331877181425640389193712445288804009112642407197633229907048864350192381814628233384153539524368748305269642704450459572458913058829202094408933558533552137589226430537671503754737153845553845646099179512540696038707395491223325946106007770844660381340028079827237033670900446083793353682761885084154898636897779677124010119288945740273072415898996441722571487815052387317025675191665761918119006431828756780493604546658949166486641354783002536071366287780290680620995991797712341457334946893188786269086688063732222194404683551757689083590842400866213237312413463207537587813396338061744078437770542720749055069473347142994267706326342325536219464867910547533482061181116137767384001927599515332824741827726661184966512254203502805790565338206862173475388342339711722457620964017690492860707751327158273522191943184085888284707357024653025991470473697475045491586713324994056478341556198451786713470909185879382607340766256394396819602885198511409676789226542867632933493115191296.0L | && convert(0x0000000000000000ULL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L | && convert(0x8000000000000000ULL, 0x0000000000000001ULL) | == 3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951L)) | return 0; | else | return 1; | } | | #else // SIZEOF_LONG_DOUBLE != 16 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 16 | configure:12779: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:12783: $? = 0 configure:12789: ./conftest configure:12793: $? = 0 configure:12816: result: IEEE754 Double Precision configure:12830: checking whether C++ provides exact output for long doubles configure:13058: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:13062: $? = 0 configure:13068: ./conftest configure:13072: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | /* end confdefs.h. */ | | #include <limits> | #ifdef HAVE_STDINT_H | #ifndef __STDC_LIMIT_MACROS | #define __STDC_LIMIT_MACROS 1 | #endif | #include <stdint.h> | #endif | #ifdef HAVE_INTTYPES_H | #include <inttypes.h> | #endif | #include <sstream> | | /* Unique (nonzero) code for the IEEE 754 Single Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_SINGLE 1 | | /* Unique (nonzero) code for the IEEE 754 Double Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_DOUBLE 2 | | /* Unique (nonzero) code for the IEEE 754 Quad Precision | floating point format. */ | # define PPL_FLOAT_IEEE754_QUAD 3 | | /* Unique (nonzero) code for the Intel Double-Extended | floating point format. */ | # define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4 | | bool | check(long double value, const char* text) { | std::ostringstream ss; | ss.precision(10000); | ss << value; | return ss.str() == text; | } | | #if SIZEOF_LONG_DOUBLE == 12 | | long double | convert(uint32_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | if (check(convert(0xaaacccaaUL, 0xacccaaacccaaacccULL), | "-23475151196235330448360987288488448023604990597437922665537894499317141030270831473500040521309097782521743811281100731620612303910141158923283064807755815684643856544564541670181998003713114595098650350075763370916908460284838902787487703020001649220669684278577319085319204471093693972621987808779314674903648668236688723332999785552894845325917244897920804830290985291535343986477508649100409893486651507134071296739623686984014433965803259868867855465109457220731656260670349710137932272802677796915669809481885196101414678015638835049035133835457854893845093496950772367562664955830097293678125205138879788670490610650322134182370990336443894886171520732434535881085387893610114822547025980969387956199048733969351859470324032549906964255557877860343871346618951696178837035563054101786829980983909935265617095747543882856776297861197958453847978446679149969948882161264279705948735019353220550905117946051015070744207453853343171175921378515361160726195198161165083475968") | && check(convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL), | "-3.234349908433673569788362433758236701401379200386310478070230491201716094576208088733092209352711081763530973139439402754721006217889031902309566905344106766697050593355851405189694125966100801537593811320493850579152938679705465870788684523518541806158791408378718596936132854683425581754205242594614192465876640102628432246897674583649745467641139234207139584810101868772915312454075582265240687184279243861217351667059920878236164506473261797703393981510799228030778152399657445848839855361831637014754038570644257393307922665529947406582062857348101442206039278033447012163028384634753160589791458287895963629514043345016273218385584012204321293761500625038828699451659598873739820939586314044735551522599884065690704853850058509917597610804664086074437219778400030370474948166770867639885264893441594112815147445129222900623635467542926999246959939000796968650036727515644358583656635086409945418378371210848857160579105176395869221692977516017583375976424496977231821652434877830409470264872173686708172667000681514442371517343085468923465834742925914605731609765839631967460042791316319023971980691582832232860491668014341598553021017317450989919240909832141247027104138677882497144506317212033031539627613710631490195651235049780490963461514410018833968072513381369320107740021476622121320911875995678620145217379068502893509758814753434218746970000807381369855297087472398985134583394635298304301976743682254755898799853471470973139487587740504614698965906370516694512439128548402418825952236144896863935402725154209604537541130862513767786738372717442238281296070010302255703329785136750848608510805269562580550421695335686256291415407706167513127610045830074144232174636354465520547408627155363076530824695464544496846799567213412195115628936631295933321590908845288558910694118404555858629368018552451467994715743285452343185080572139353967831950470208768524113647528966442712608411306460439403733081312454377815407740431356862292588345515142587184008493066353603658341268923669196617183622259532802077159684815974630350730226266887950469523895272137382682818583664766982004756872470359454855421231861600855405622250180301557001727658100463825721179482988287599820459238518127671242515104954727268296043840120459189992322364113432317376499876615018647681005294400890426164141474245830847447887800872845238979407896829797297990804023745291564182356173092302630416583955274584512411637160723327887646112927503049935866004964114798241035087343318592736488780742013424329479787548324846879335440582948017481856461250014099199025874264395426269044157577172368261822794071985989844785134561848837459343219269316428175168803982908920457749528709425299296467325603578851955843550406474402944350694486492967809731047663564513772408591390180588458110788180950470244902062953534590109356800048878919144043979000989724521292698054747484439706733411566872999353418986588749568995482953622089499726327807058708520455805869817259837526415584189633013162307753166636151833127563746069733440228640737257520299330767346391011026088684503955941755171481192133779119344715318224728775697330484860348152872987113995597980243907204928634355356748752501217143216601222634344211757170284222785899530754663487291354339744025299042982320199789070467212765859078265587040664859899997109073649635056953085131587344086263213972132295294758682559609365238437544701417284297826732242650999654640698637095193178119502815643930373741504018967640638120546136857104880094633373762586018322104925768619990210092851075031033451925224377383389610824173203445111896055901190132142204139463967556738295382942065540228560332044410017389129348710403201272349054427064370609913529996988445571571382916349536222256815467149849706750571813156961918737343978667568453623162377198802996342528197935118265696537928993634621119483415202847968129550048667353312481509419740177690982818603515625e-1634") | && check(convert(0x00000000UL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951") | && check(convert(0x80000000UL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951")) | return 0; | else | return 1; | } | | #else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | return 1; | } | | #endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | #elif SIZEOF_LONG_DOUBLE == 16 | | long double | convert(uint64_t msp, uint64_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint64_t msp; | uint64_t lsp; | #else | uint64_t lsp; | uint64_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD | | int | main() { | if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL), | "-8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182265604546917705495630867683634260396102823982577953799017062698102242357552179655099799114234932578035799185560231199083485854936098752376968393647581458407558794412029383325763638562788717260040049064497131924995762524305159587498016677454321953274959044696323291625045478494472581264819229447771276640446297211105522340278216491094195598543872903469867733674572559977106495016037365144714092305087690135013719347274733034998868445412589677425060095799279101903473205374412225289846468374532481297065712317082077938035156602646698351182648104255704218634101302925067087078955133405900007044267209898310644310904503791609310204530573463263951434586894153990739119187567218316060343579381319744970284036645819031296341711196622764674251739340075981861518157380656135644972541894187627902651874054588734732906342927804126694032667794810086817870907476586539935233288396561987441453006798066121939082312783518917156845604116991071351557087417820814737448930366014934139649936714605919733198611573267554373841805458030152706709963798138766665437195696286204333504023648063774567253657433115103351104190986192714072985487851579415615609526545777708652951405409847708647802254957197551148967040887700676749608935220270768342493900689974647088468653016844028721111482484905641458435567969469008688175230469940968306817582881926746422674891155765989419578280531847369896579997902056370886853884911608932917273377526774091310024267948445090595150848945937264274298230316059283748541372546998570685254364147022857127106166375807928861080771495427281772909457414476961102929683460150380091022216902985688084496718499522925736236100966839490544989265028487132166444183820209811985298620037327410566483546092567386575203772065259924817078378553423445114795887961447486917127608105936488957460696218995227900239169698156532097505472359601263421630872600694896078087993492528322817946497772710008837719609909497752428441503174822795185219988589528998338631725113908025553153842511443825016809012668839505492083731555461826355018782953670089090573806418379608917728933789667567839232807208925449602517595541397929042673972541764273293287457694772131268012143158809453627483947788463130353101911401667613659585055576869155534998835800762122080588150495103765874874613454517177121048246498282285280904742153700877576028449241385429235777250684782328183787286276152331338688335510090441008799792147837436640030059474106105829612076012626498555138419516242851436828131901668517305064107076254421670883938440896580435257206350630093337919967881954501164988008085285088049681541452106188312639266136685237513628484410146475880276899689323468288129178652504797093820419402611691354199968499448738482587415636727937353639264845197813295922091561637504736126720760129127710879063043647425297778439069116811334073539456451043564046959839163407469915211595468718792531664679340442279513006653831781499155674396529973036072198720572542914738630057353297633085013244779323578115668031532144051510758240504037804690564298890171218568053886450388507561335540224075309922339483204122333658701871584147135738144358394867585372134490396264937274938848938884293776466212293402264641368524174512841804801230279990820989956713963566987970818315606031084417487965298373510594915942429581446481759482857537804431542098380533075194397625795605337047384493682506827547173206735463795863376044170821429161475172513429888642402089329334654087406739184258619435041737233405001461505889892578125e-1644") | && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL), | "-124514581107511552210796456934966803687304842980295573828954497922493752983397188814711304411560018580965744046315133789985274208017368151964100284400784216106649187287727268989948309893335776137201236307422254490384994342132786695251856340822607539332337741185911979986209464222776112117543477310592395735321641016191765613924234896253051931334188353106422231052895112533426462965071195000083346118845388851222468275853899619767858364593491745895616655921022591572983370616010095670881627966440183912948095715866505356803258659518882310562527709556367822539262111581385341941163873435919341717170180065638145777392282815973491833042960716493005101610346003273833563515742996380936304245423639950200211170835546053201980835724318930743625600269679260909350277600256315069013053332133830043213033329696436217829598890872375814523266366034383531514035947792389939922899745714167418517458817088636450662300503353562047987996978943856662174717195437379600755109302771921946748859230686543872") | && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL), | "6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966") | && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL), | "-6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685215137607333139422843835051668983567167196802642952353504079714347103860537782893700215521168667711042950610021881513627986429461700433339201935397498825184335385514892844339930852967838448682125502304114122153045946465463084764110174478737044335312389661483639210553943411476544786261397875064191451226767614625892790369961415069606980007080502788648919975916801878222002252381723047230971876570995428821219281596547633023538783137183646396952831530551068683419596735374086746290525867996216905323365319885172609956827625511036332478353228947631880050684559150608318986521540136061273771493390412784756552103897518527764158778759333880714882279633323826397312375406927039446525306447838514371503654987855172306307584155459826707095909617752526800401326990828721633726770440915439092677906646798573524199116648264206920451160133635071361773812121716528178148240720783226736549623736135274990309138143183248371959875978805027500928693808073336955752759088442865600075199888998323880643549670055505421362435108572732087322982027187772459231228989472372951864321099261878781084330252988333921362998963303722431059741968763452406953835015120533773385289904710843628402700274702870474073825248828889984994284607604847211794221210729913159829014217168004461049532662696542913183628157199561641949923936629368992856621383084545327636972265542355341749855663020004887316835216156767223053799811067258913808469994232607858854524064432145775922144535701236468985705212977045479489515690009388923625580685788707605877343857669170894656797423368490329407251160393356048820607085089069025413584269816739747211239513550414383117508826763143512862006497058041145296097892917999935577053234252698691933792724753682184537682835562829938630004838384363944243137622864918257474256280127291116965050600178120477720784742184205376195975831677721764740044536624645764471381571452381830125398765152083287483110279394697855915713981939970684599199594863007230624076786139617554631450734995190081932187616814234632738778224433256463738346435274905710925581106061273840975592931761266799265587765468946764337085192369358316298457450008809428586921504743730873895710474614480003727146162349858333291516552162545370312200390841588309480973274631646273597390249477746657131891196482398670118797910098918899689482196956660638225731960693542763964302308999692957091061300183648329785182793301407267200046383043005236759977387601407769110383295729918654520937785586390633157020347632812108728638589813282569529576769367173324764085285705308312954957401558247168739931446569422818723482471097374362105279278558570746278168331596903799527959001674856155564619821407044799720020620642233246057848236476047540762849788325435630592420194490443539428990899488655890183886788650518595542180257939200539645041808387760238189562428351774632440622618056913137499820021924733173668036806485733443567039613866037176155955253827548473360440517049422696075501183292573063250613021167503858561082238374439193413231472608072888733326512853287806773389073299297372760244397355791502004654458118728037510329034120643030182346716011974996719598934277635297762958837247389366909763367493682299430362668996193935405226221180280462691353912282455701759810037116439968883639596108926413528826200502511551071661541071241892319070812994269518086385295992381025957172992399312141414210235547707008555590049509294048331178258885645254295737834927590332773105843826797756540039810295021699037788228205072146738094320261980823252096852875670591366194556595549470362090317233349128160475626293246538430039226463877253517855062981890058712415866578727694362877805078594115939049922697215689139042884475829798201399221843339843144334329750976265054375898637087619406776357862341599539585772173362569929723217313856218610739079911693928395573354107695207924389443047735986097057117102761647398583746704066222192489628491579241861512228457942727677656217068060304063431859444999092873095546808035894071193872676924207893595051334067870866978585241063298399448801664979503576258730853137762656715932674584878408765074348715350808211160488037567370082449596914044378631384351574514574407266268601518418121140639017772950755439822352142605465639756330937185434812776437455170052704254873689525989445652781559474644227537684964321625946200647347726100468875445797592291192363724641100602571723960104389727561487616213893880158699261565353860394268412519478250755882121502350855777548987354957187611364644347783460623918569790357712078708030071729862147204119062003145783057657964335620490686654777775857772417230654005669380137272188650104502859563282535642734533430567287319498304528915876638370296607209654727246810120749147011579846007686876872348978767610197018167444101532656500699586407674404325249380187066956228877621206281130141035339929259895087216809976356039304176324615051223863642132987493989282096132023719628675179659793099441124234181354583082636306115430335248256636595542753063577946177399294336318459611754831189657065079679934928129113295189411660749306226747061753316760480290760846421347557553607185254462514991634789163215592554565288625021429064594217444034435094635489801294636044217141894128608560200837942901104014713783039046587228833888032709513732700101667002833885010142407620233438106861087062055906874872893491133678484259720820886397724438939944326449942516696628683510030426237257765426269532595248183289611602373952305073827029425838481007443361481172033664199893614932623554378101313353925699162767581809444174957293532641034112367163940472496454826645496608268491435975330754792022473413254641635309131365360013914909519963236046952897089347016136738984133133790874101143168691022141918967797877476450100585067348766183224990814253610763592974731784263832853675045343246533254966131311531411068478710429786791811404658680805588105768518292098129259164151153126615341498379324353953450723874092401152015787628879390603785057522375088322779364007018433582543673090990833352296302290390165336647355242365982903670648563727239283547241202029021901993493453231407543942533374303128855544718854681133818703717309615999563617026069360208156393214924333856037726771259857931298487909006782987195926835910537279213582905667384935745871483880724959685377284455451325009389359115356341859747548302075715614439876712304113995679250907454883895302396632381653230532032695481751231940062856024456656381220713413431325444483757534262449339675147214243079144598658808202548926312120596697863356554722348114194969409174072455372221354826189882023922524876054935905929454258925505387898039528329076689551108932342856243697999637938228068665595345855978215420274558562368590236467711884770512666328306756286559348574636272916414332349992225277379071952095234443041820054854970323931404077610323730988914889188356127533914074856107086479831584739755622106834971368997334246432264012757261628954213626177797127289818357558926591911175376134554737367672941224416966599144520688033032388494464597481600684233179969688713377153969107014820586500187890028419759966629125896903859724482018551567368459339437282027473163713630554370146518281068049701849575089743432349308849281456182745027011845653626290780738299181305772482001250991761047543344790454625943156085044661103576512523366161351099640751135385148305913987889008698009234370941891346098306437937661227172386506980636903743541285235605780167216008920828610842066522096589500420940606405692664109905063234866117077516308694175709123219476283230290207497555159467149979347020209673500496651023554475005053991295374430728524771212435107382664318842703197811901075027036703041419315229156263279708865064004473392401710817533040210152757966691416471836361498546249180866049039738294265863864925406135752428537159880132061042828090772733103561437021070938835520484987564784902357826645006185384847299711513042558913116550679842981785737713725790045128094411676264858573201529073678073396387519268373798582548263868592119666097381189255247190641352195443081432945981901223716745712543744847146503012460085216148335807619624528396069010370871981642712755932969484501155184487454597846375782598809708096893645439856478634508146859065978179351007580744928974114529788215226484601824974140107352758776378993800008479463640459773788106039221647527915619638375897279653946867057366337834721265500081035695372958187077367633848426351345959537644131255393886949828040966112768013745671476622221973172299021322723830684345054818157484501760113734299662298242039459694484074671808880126261963999301400833575366587220239180443885948634911432672454909578479586976064598126633177835011824812040440090529736915436564330317784343260941419199007994565556336195654994767768391641843167291242587882400091208124348669996343070061026732554587428779976439512259161737036335847682346728539549778493388870528102969822923976454022477322075204905420377823800876540724560782242540043358494305758648390071388556142954991440895026034342297754624387472732697423260211014731729196139172514053952591428247887383243344755389104496037975360677224765591211970382212225942797592005272680787386239303946689423293709148965999400795905073756697025967564396661027489606337872152854151887574400979150870295978066773059913103141338094206140446153595784659696116999451265627049162745281492831846033865707908304944975732574637090102130752860241496159897720566523711477673910492376257245019657271734451417565932034846341070093018262777507790026122302775680179025723685230883459924631462602175535978001836273235741164283034661871238537285831967107455175175353583907073921428e-4966")) | return 0; | else | return 1; | } | | #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL), | "-7.6048540943660203383375998875878002021755137452856942966991187375790618225432711954682137529456970686263412309600617913197560145993931792374946076061175594550915924955313391528566777352996816141138550473090399783817652516896553304678788796532976847530386107750759127004897950996937530751872097675156395937218234460013748219954603465088115161828048215763754331575034447236689765045674584188927116128770082933362914567237187017530082528540058002631800274192146485961758366625476271676375489358478966148719270989233284454992652229565352739884432045036085427546783826745250197623257802129011015273728848161395367551745780868250488191368846207890422268873532651627591649389757751752362072212699309947970918940313250863861141479770240104635553035870698789854752554391365757900620463269938427975381635241159694500569550818398323639621243086116154792038064941523448921284117826015673798399008555604372098051095571652170081985843614541956756469168604624857938653843172027861680499952062356914208628014745759010068414302636374017506453133466034362025545080555878082849488386388633197121003201192243150535143329731394874806398663589117246866205872431804204733617792317769570293754056793574570217834482046448788177551912250351735294891953434051815332631157674735614138641122106756749236824504094008852401427746414294902929999820878756040223246586814590339767277305131757114819123212897500810087015748205562614251410818122967399030151040544000563841334553718469935435435467196184665715776274355094471974036803615388313095637066824428688301387559074204015990782977635088047810891072724763113879034313256582868462323549141603475107584159170279311985555035822254439699354641467841523895459190280971487264907972306090449968125859834702627544039374770757804202780369083049631377117943503836158566134919890165392965694050010089785271180956974707841066789578714463804030217977213138932711313311673101336981407798868338574571646697479192174043005729926344062133712267722538847635563454980776602355539986984320762864338177037919835721981686778834558429264194379257521818498431326991615024245632036376472844033831041082865649867453234086495085785897620758602105639344460383483879837994732204331335249564434458633345708439547881275060781028856140511029543559841701048277393119691261302356763314623124427357421753631218361407626116820986377721964654181839884670481278855478057996766639496909094607181503284084821580817995489740980323820218685313435967428474842973086612053963343516426226771094376179468881265734324847319127862733279299033951360912038720313525324094079916937921290391173035983474894312808532257620563284126400481460163180987618432784215807933623038747129658746767737999870125917269554155887740155308886259497202672935871853706835670467770080598813171256855182510726902033818328368569915805303784312301890212694874227119220544172084552511408717615136830401766455214293141216171050374325461714383991698910564587610624980490526840861990674615172112493813749497898151186927777122955666180439323595468816129418014664347852590958362752922841159054568358354108159485566264221008508127941168192513144760720303715640604755054290633421601734103622748053919536319416025380484868142967373186019970714662893713233834399238357795019603619284595839414945178963942707310299674873908104634979966232181071013259653467885733418936194081202149071958107062125873498848807502257018093517304220495114497635240876547262237411350327960679115197531609627900227913193653254580253539005743563270152329126178570329413401577715075363838562221558204219798925982825556469998988615897432425107152113543617151738802778259560442930074253918797315241708532198010528564246933829811859278710445896556638416265987381678070434371355795025956293319362293063591248665429733880825207421011852020394068840244110140622151494488609575671090387230241296949998536132398625008053543954239573998167556201366323875845409929752349853515625e-1644") | && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL), | "-99658331877181425640389193712445288804009112642407197633229907048864350192381814628233384153539524368748305269642704450459572458913058829202094408933558533552137589226430537671503754737153845553845646099179512540696038707395491223325946106007770844660381340028079827237033670900446083793353682761885084154898636897779677124010119288945740273072415898996441722571487815052387317025675191665761918119006431828756780493604546658949166486641354783002536071366287780290680620995991797712341457334946893188786269086688063732222194404683551757689083590842400866213237312413463207537587813396338061744078437770542720749055069473347142994267706326342325536219464867910547533482061181116137767384001927599515332824741827726661184966512254203502805790565338206862173475388342339711722457620964017690492860707751327158273522191943184085888284707357024653025991470473697475045491586713324994056478341556198451786713470909185879382607340766256394396819602885198511409676789226542867632933493115191296") | && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951") | && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL), | "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578587346566858083349053123705193988703983308587839946322501468602459466376586870456423634710242397194658860357568067134477982764219736292817751295560536845761267846647908517463250923736039512722781415953366096399444403402117053488448021977763604437908687623249034116909294550532283554604255016471048510990155249694820376175072774521597924829264164672829379224834378522148847524461653340453140898534938901079999466084995792940867082225167898092626332284133633537230365710606672711016101696986908545526816093446785575823545286456670464909287063062587561930219192839574686079732400741932670792586584247903252601714502511652018733705556477669856403061671860988301022089008752404238293812121415758527179547281628232710885994458574715033852877595426024800791719981955344151916599003503828822200355665967958771090937688409231050763744882094456320484272716122798149836361660589595209083576887254232532955229749892640550762959438241278496193819382077545905461172547961340469817691165676094261320725727312607482937653140421619686103059529199421431937449566099337396063075218302243845475341677972462038126626903408167086517545386382155008956065955410392914952623927880847159533184535486666480480563407531428385329300522477684217050951264747454635754866214784941542315111038630684391425212439304190584122374222972284606537485052464648655369719099026760518287560996997210778473066980129427427439517032390964791367678221749630975419713438139162678878555999177528450882748046538588177447270306738234898502976902853001364550405227287093940058325788585457368654991956265863050083472087623066020903378919489920975190829421602010382039477772083400661519154972695436582305021910908576692048173534958894170976763084807837402813849227540942073315401115262334876815962087441302256558438912500607230205782013083674113023497612445214795170983848687988348203289441256908755565216081815151205638893112562415329084456934095146184469290901166110634875590164835606941629407489774379792739804674764243483912084691871769225446506284310565309190872477286255925383528545036360550854226919571246361133225904820301916588317084377712259367894846411294822587075835486985645510829880528578782698412556249274522235061092454342386202327120407827540333914613192189174315884136688019435966273663470431440443032136411775605030601436837063972690330417475187330200911967500496761618122614796452937124070398703890868915527051490465736745397764941094879479649438162576614346948652085308024696358256756585794568493319042053882843808180358787110774418075478801186519577416271896383169835708225636584654568643702618602433548938163720732772538345454513065011540675765510656970500413537205370067924880209217363407323673368448004904408413977741706965494247040799786451861822188473571257556819433284087486023676249467869483631380473856486239547015603318322612783652068699798539400406637311682731115340677841660240710431551140370410375585572939303084073843540702120551963050514959945741359169911676575478403279380112020347348292538150798320452794842427526501796852911863108178276638472320237870082862271763396195139513712303136194366021540830531456910584048372546025177765140460207112923151923176402146752868221966889915381596481253160696822260723194259521813054303457222367967929268763072892355278854714278243863110783067060124459039315528176840304931522813148745824350892130595015198002557204332483215551447097512510076223364801202888087635650654634946887232727623906459076670227108634162319210357007273369354657187569046394884895083794103531835959613994575377897775525461977464747518162975010091463561925032742645594645800581600698347817023194379921397347681150492687237349021564206463096138703201250277757980410772647014391579144424375252519766764670458008515297647624144814453496069685127439800629552075692648608681506879044376428977463175175205181547958459515159074701285838493694034007662410100183533141516684185460758175066481561018901133031951042099053297118837448984443230856642737606478787880285299903521855025612413471034466624171559209077538498475106811294029060334271803320566493935024621719717684804443351866946690525266060758332190531807232565501890293754259590947433140384335366973398816899253698302119916142891631005349335372158005779944529176735887193980409288474621694590303098552382376969442365186023130985507823617670051191889015351479659778676132449671642015059540438237303922903056079068344635440276772565425944329927654906262952475555750912023879424636021462043321631428365675851865654901693474343411406220907550090045689588323936814675126103464401223728058185048320475251266882875299120582253090033177883674432343812734123922042926554908548231473285349572210962289889800994026533629321464700552029391517293055196218065667251276237490129206098414338903210942488902792253924667941082273267563528653863343443486495762400409978995985052082310730277076965242846278402568285187365588876653245423047205943478612931964211293489374119565751486787204884502307512372923973119191125614068756094526892783321688030310900558025683455451898487401139315290743477461921025987905332236299398859448938742087487316288730711068752763449392366897236258997091176996253284306687635454361862179407191652155243650619571720232128624130785404930566805029233271375546253313287446285812219961565022654510373870581648214791139170870970509074158721967633425471550515801498191107216277620692347014234913527385812164834475002007099402122991439542783981984927181300669603290190495106195784248531299740262706106798338573523977365240941293695214188675632715447081372252551022981921251125675131839210074132286029621443262127145872022404314258219255606415280218445074654034790115075558513374422753617188198385931164810182817002794172279803028202086567081267453349341345496389239379776494419022301042067986600501045466950004057134726934147691678031986698845370299987067384407310337433828116514830745374490760171672152978595040351405572526523026051215093709900567873568385242574546385008567738263951532676549294356417565797771595638496719149577804216291892125541055147173723744991756669672459021375111288754125372918394417976243093028214703329386031799313949535161343892720409046065009958980978947997662545514664194262097665297242612367968766000629174655887090824363583653843658980277566031286429628476318572915045823895805826010132712977834418613468288832988547377174550796802573148684253294172285056777826927377158058647145403557721233512002495437339413998842782599710186215723437958154275340509811072349041046483806284608873394275718878590418692809288333423522781240698974441829879303794241455852776713321354870647251094720675572322788447908778778892116234131617608416732280987493141331884927860259324392781255786150891859203497212615916404999097067778739914857961305884934678762043515521190581898256624635957830927811421154992139986999936203631149852372802564314896151749326404428772008250428569338329698161850171265411426708113723558325059062871506712838460986031147060351491506316012532538793354499545667009527573810892048004652452452139688789392912938251888341298122235232861138733903153560967292104241190946350516769769305030762386908399592555043192236069279491224465826684203312081255431851756341234566913972589390601558650830437402045595207689996159597545711808203688318112918947661662115802919578636403430323041610018063696707221249826383715263388850307418469423973486747009233945036220901518185766942733836846126816638158345048782728241251279820310193223512959111029884002230571688216854282257873218631744450950552327428952538149545262779889824399028513132208638633070602135522752076661567872472325125674291268881849101416382703647451428232847993332157180794015036365361645888146355749366150209085457189187232786399585879941680370348141105404742298452497895369287193974496140445677301271403589665822911096832952021181343571136957607816318342755770560406569920261633966403484121679869542684843686908354373688437968683525723666121485947946747887572716360800696442816474113593466106089204179554677145374582437962664618883018628687510079511252556002241788346284019750863992283906513572325918053464080643521532154825074820239077990779007069588034029619562190416747359712884084324521598678178890186409451480686781733176824920276835002477523486093586963733155424491897575495851549527034538337694314953057164019215026670773910997443279760005290641511584707193226351271670439775141076552632736166117611394934325673743882365518318561208941552931629125136799711574578916741023587251428998946963182411650554404206416336487418656105333038545773960190949602850096208569085230228708894874577523512558281973392961263921656163963369388411763476388625952406901518273413037068643383550282962237729195901788599392876651086599849223994259145259240479384380657803498058719062529007339428316229997756899857712116922758683071707472935574499244978419788171338468471751125303860911589289400806637202920429489919870263415951660888975434827304297451362325052693482001524843171229078467910537913138115458626612024970730899515114301915281613929239329351501049859225274564107846818112938339161308943153205117651716380468462296193882444293370484368530096898812778973178284912798550245246063411918482638261694029245273291646707331594675213428158755273882438357960245064051015888918541801139771619743221405037797285669481455810653320008904215997597975907391512026214020012010134707536774227636477580918167507850485197065326391091171451763751237612739498468510009055480025096015985581769370179656781151306565952590101977398335185042637681982306448413722177895665290302796223004198526079143104070007874540548221582347389579e-4951")) | return 0; | else | return 1; | } | | #else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | int | main() { | return 1; | } | | #endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED | | #elif SIZEOF_LONG_DOUBLE == 8 | | double | convert(uint32_t msp, uint32_t lsp) { | union { | long double value; | struct { | #ifdef WORDS_BIGENDIAN | uint32_t msp; | uint32_t lsp; | #else | uint32_t lsp; | uint32_t msp; | #endif | } parts; | } u; | | u.parts.msp = msp; | u.parts.lsp = lsp; | return u.value; | } | | #if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE | | int | main() { | if (check(convert(0xaaacccaaUL, 0xacccaaacUL), | "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103") | && check(convert(0xcccaaaccUL, 0xcaaacccaUL), | "-85705035845709846787631445265530356117787053916987832397725696") | && check(convert(0x00000000UL, 0x00000001UL), | "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324") | && check(convert(0x80000000UL, 0x00000001UL), | "-4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625e-324")) | return 0; | else | return 1; | } | | #else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE | | int | main() { | return 1; | } | | #endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE | | #else // SIZEOF_LONG_DOUBLE != 8 | | int | main() { | return 1; | } | | #endif // SIZEOF_LONG_DOUBLE != 8 | configure:13083: result: no configure:13162: checking whether the C++ compiler supports flexible arrays configure:13307: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:13311: $? = 0 configure:13317: ./conftest configure:13321: $? = 0 configure:13323: result: yes configure:13375: checking whether the IEEE inexact flag is supported in C++ configure:13477: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:13481: $? = 0 configure:13487: ./conftest configure:13491: $? = 0 configure:13493: result: yes configure:13546: checking if the compiler has the remainder bug configure:13585: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:13589: $? = 0 configure:13595: ./conftest configure:13599: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | /* end confdefs.h. */ | | #include <climits> | | int minus_one(int n) { | return (n+1)*(n-1)-n*n; | } | | int p(int x, int y) { | int z = x % y; | return z; | } | | int main(int argc, char** argv) { | if (p(INT_MIN, minus_one(argc)) != 0) | return 1; | else | return 0; | } | configure:13610: result: yes configure:13653: checking whether the C++ compiler supports __attribute__ ((weak)) configure:13676: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:13683: $? = 0 configure:13688: result: yes configure:13739: checking for fenv.h configure:13746: result: yes configure:13739: checking for ieeefp.h configure:13746: result: no configure:13750: checking getopt.h usability configure:13767: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp:88:20: error: getopt.h: No such file or directory configure:13774: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <getopt.h> configure:13788: result: no configure:13792: checking getopt.h presence configure:13807: g++ -maix64 -E -fexceptions conftest.cpp conftest.cpp:55:20: error: getopt.h: No such file or directory configure:13814: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | /* end confdefs.h. */ | #include <getopt.h> configure:13828: result: no configure:13861: checking for getopt.h configure:13870: result: no configure:13750: checking signal.h usability configure:13767: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:13774: $? = 0 configure:13788: result: yes configure:13792: checking signal.h presence configure:13807: g++ -maix64 -E -fexceptions conftest.cpp configure:13814: $? = 0 configure:13828: result: yes configure:13861: checking for signal.h configure:13870: result: yes configure:13739: checking for string.h configure:13746: result: yes configure:13739: checking for strings.h configure:13746: result: yes configure:13750: checking sys/resource.h usability configure:13767: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:13774: $? = 0 configure:13788: result: yes configure:13792: checking sys/resource.h presence configure:13807: g++ -maix64 -E -fexceptions conftest.cpp configure:13814: $? = 0 configure:13828: result: yes configure:13861: checking for sys/resource.h configure:13870: result: yes configure:13750: checking sys/time.h usability configure:13767: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:13774: $? = 0 configure:13788: result: yes configure:13792: checking sys/time.h presence configure:13807: g++ -maix64 -E -fexceptions conftest.cpp configure:13814: $? = 0 configure:13828: result: yes configure:13861: checking for sys/time.h configure:13870: result: yes configure:13739: checking for sys/types.h configure:13746: result: yes configure:13739: checking for unistd.h configure:13746: result: yes configure:13887: checking whether ffs is declared configure:13923: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:13930: $? = 0 configure:13945: result: yes configure:13963: checking whether getenv is declared configure:13993: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14000: $? = 0 configure:14015: result: yes configure:14031: checking whether strtof is declared configure:14061: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14068: $? = 0 configure:14083: result: yes configure:14099: checking whether strtod is declared configure:14129: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14136: $? = 0 configure:14151: result: yes configure:14167: checking whether strtold is declared configure:14197: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14204: $? = 0 configure:14219: result: yes configure:14235: checking whether strtoll is declared configure:14265: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14272: $? = 0 configure:14287: result: yes configure:14303: checking whether strtoull is declared configure:14333: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14340: $? = 0 configure:14355: result: yes configure:14373: checking whether fma is declared configure:14403: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14410: $? = 0 configure:14425: result: yes configure:14441: checking whether fmaf is declared configure:14471: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14478: $? = 0 configure:14493: result: yes configure:14509: checking whether fmal is declared configure:14539: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14546: $? = 0 configure:14561: result: yes configure:14577: checking whether rintf is declared configure:14607: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14614: $? = 0 configure:14629: result: yes configure:14645: checking whether rintl is declared configure:14675: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14682: $? = 0 configure:14697: result: yes configure:14717: checking for int_fast16_t configure:14745: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14752: $? = 0 configure:14779: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:110: error: expected primary-expression before ')' token configure:14786: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((int_fast16_t))) | return 0; | ; | return 0; | } configure:14809: result: yes configure:14819: checking for int_fast32_t configure:14847: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14854: $? = 0 configure:14881: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:111: error: expected primary-expression before ')' token configure:14888: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((int_fast32_t))) | return 0; | ; | return 0; | } configure:14911: result: yes configure:14921: checking for int_fast64_t configure:14949: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:14956: $? = 0 configure:14983: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:112: error: expected primary-expression before ')' token configure:14990: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((int_fast64_t))) | return 0; | ; | return 0; | } configure:15013: result: yes configure:15023: checking for uint_fast16_t configure:15051: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:15058: $? = 0 configure:15085: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:113: error: expected primary-expression before ')' token configure:15092: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((uint_fast16_t))) | return 0; | ; | return 0; | } configure:15115: result: yes configure:15125: checking for uint_fast32_t configure:15153: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:15160: $? = 0 configure:15187: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:114: error: expected primary-expression before ')' token configure:15194: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((uint_fast32_t))) | return 0; | ; | return 0; | } configure:15217: result: yes configure:15227: checking for uint_fast64_t configure:15255: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 configure:15262: $? = 0 configure:15289: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:115: error: expected primary-expression before ')' token configure:15296: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((uint_fast64_t))) | return 0; | ; | return 0; | } configure:15319: result: yes configure:15376: checking for ld used by GCC configure:15440: result: /usr/bin/ld configure:15449: checking if the linker (/usr/bin/ld) is GNU ld configure:15462: result: no configure:15469: checking for shared library run path origin configure:15482: result: done configure:15513: checking how to link with libgmp configure:15902: result: /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a configure:15942: checking how to link with libgmpxx configure:16331: result: /ptmp/ddvento/install/milepost/install-gmp/lib/libgmpxx.a -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a configure:16375: checking for the GMP library version 4.1.3 or above configure:16495: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp /ptmp/ddvento/install/milepost/install-gmp/lib/libgmpxx.a -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:16499: $? = 0 configure:16505: ./conftest configure:16509: $? = 0 configure:16511: result: yes configure:16539: checking size of mp_limb_t configure:16850: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp /ptmp/ddvento/install/milepost/install-gmp/lib/libgmpxx.a -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:16854: $? = 0 configure:16860: ./conftest configure:16864: $? = 0 configure:16890: result: 8 configure:16901: checking whether GMP has been compiled with support for exceptions configure:16951: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp /ptmp/ddvento/install/milepost/install-gmp/lib/libgmpxx.a -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:16955: $? = 0 configure:16961: ./conftest terminate called after throwing an instance of 'std::bad_alloc' what(): St9bad_alloc ./configure[16963]: 966698 Abort(coredump) configure:16965: $? = 134 configure: program exited with status 134 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | /* end confdefs.h. */ | | #include <gmpxx.h> | #include <new> | #include <cstddef> | | static void* | x_malloc(size_t) { | throw std::bad_alloc(); | } | | static void* | x_realloc(void*, size_t, size_t) { | throw std::bad_alloc(); | } | | static void | x_free(void*, size_t) { | } | | int main() { | mp_set_memory_functions(x_malloc, x_realloc, x_free); | try { | mpz_class n("3141592653589793238462643383279502884"); | } | catch (std::bad_alloc&) { | return 0; | } | return 1; | } | configure:16976: result: no configure:17041: checking for __mpz_struct._mp_alloc configure:17070: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:17077: $? = 0 configure:17136: result: yes configure:17148: checking for __mpz_struct._mp_size configure:17177: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:17184: $? = 0 configure:17243: result: yes configure:17255: checking for __mpz_struct._mp_d configure:17284: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:17291: $? = 0 configure:17350: result: yes configure:17387: checking for setitimer configure:17443: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:17450: $? = 0 configure:17472: result: yes configure:17488: checking whether to build the Parma Watchdog Library configure:17520: result: yes configure:17546: checking whether to build the ppl_lcdd program configure:17555: result: yes configure:17579: checking whether to build the ppl_lpsol program configure:17588: result: yes configure:17620: checking which interfaces are enabled configure:17682: result: cxx c ocaml java configure:17764: checking for javac configure:17780: found /usr/java5/bin//javac configure:17791: result: javac configure:17854: checking whether javac supports enums configure:17880: javac Test.java configure:17883: $? = 0 configure:17895: result: yes configure:17906: checking for java configure:17922: found /usr/java5/bin//java configure:17933: result: java configure:17998: checking for uudecode configure:18014: found /usr/bin/uudecode configure:18025: result: yes configure:18034: checking if uudecode can decode base 64 file configure:18061: result: yes configure:18212: checking if java works configure:18249: java Test configure:18252: $? = 0 configure:18265: result: yes configure:18277: checking for jar configure:18293: found /usr/java5/bin//jar configure:18304: result: jar configure:18372: checking for javah configure:18388: found /usr/java5/bin//javah configure:18399: result: javah configure:18469: g++ -maix64 -E -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp conftest.cpp:1:17: error: jni.h: No such file or directory configure:18476: $? = 1 configure: failed program was: | #include <jni.h> configure:18501: g++ -maix64 -E -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I -I/aix conftest.cpp conftest.cpp:1:17: error: jni.h: No such file or directory configure:18508: $? = 1 configure: failed program was: | #include <jni.h> configure:18518: WARNING: unable to include <jni.h> configure:18538: checking whether jlong can contain data pointers configure:18568: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I -I/aix conftest.cpp >&5 conftest.cpp:87:17: error: jni.h: No such file or directory conftest.cpp: In function 'int main()': conftest.cpp:91: error: 'jlong' was not declared in this scope configure:18572: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | /* end confdefs.h. */ | #include <jni.h> | | int | main() { | if (sizeof(jlong) >= sizeof(void*)) | return 0; | else | return 1; | } | configure:18594: result: no configure:18648: checking for ocamlc configure:18678: result: no configure:18705: checking for ocamlopt configure:18735: result: no configure:20219: checking for GNU M4 that supports accurate traces configure:20261: result: /usr/local/bin//m4 configure:20264: checking how m4 supports trace files configure:20274: result: --debugfile configure:20359: checking which instantiations are enabled configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20425: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -I. conftest.cpp >&5 configure:20432: $? = 0 configure:20480: result: Polyhedron@Grid@Rational_Box@BD_Shape<mpz_class>@BD_Shape<mpq_class>@Octagonal_Shape<mpz_class>@Octagonal_Shape<mpq_class>@Constraints_Product<C_Polyhedron,Grid>@Pointset_Powerset<C_Polyhedron>@Pointset_Powerset<NNC_Polyhedron> configure:20486: checking whether tests should be run under Valgrind configure:20544: result: no configure:20564: checking whether `make check' does a thorough or quick check configure:20577: result: quick configure:20621: checking for a sed that does not truncate output configure:20687: result: /usr/bin/sed configure:20735: checking for ld used by gcc -maix64 configure:20802: result: /usr/bin/ld configure:20811: checking if the linker (/usr/bin/ld) is GNU ld configure:20826: result: no configure:20838: checking for BSD- or MS-compatible name lister (nm) configure:20887: result: /usr/bin/nm -B configure:21005: checking the name lister (/usr/bin/nm -B) interface configure:21012: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:21015: /usr/bin/nm -B "conftest.o" configure:21018: output 16 d TOC 0 d _conftest.rw_ 0 D some_variable configure:21025: result: BSD nm configure:21028: checking whether ln -s works configure:21032: result: yes configure:21040: checking the maximum length of command line arguments configure:21160: result: 307200 configure:21177: checking whether the shell understands some XSI constructs configure:21187: result: yes configure:21191: checking whether the shell understands "+=" configure:21197: result: no configure:21232: checking for /usr/bin/ld option to reload object files configure:21239: result: -r configure:21308: checking for objdump configure:21338: result: no configure:21367: checking how to recognize dependent libraries configure:21563: result: pass_all configure:21623: checking for ar configure:21639: found /usr/bin/ar configure:21650: result: ar configure:21728: checking for strip configure:21744: found /usr/bin/strip configure:21755: result: strip configure:21827: checking for ranlib configure:21843: found /usr/bin/ranlib configure:21854: result: ranlib configure:21944: checking command to parse /usr/bin/nm -B output from gcc -maix64 object configure:22062: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:22065: $? = 0 configure:22069: /usr/bin/nm -B conftest.o | sed -n -e 's/^.*[ ]([BCDT][BCDT]*)[ ][ ]*([_A-Za-z][_A-Za-z0-9]*)$/\1 \2 \2/p' > conftest.nm configure:22072: $? = 0 configure:22126: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp conftstm.o >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:22129: $? = 0 configure:22167: result: ok configure:23032: checking for dlfcn.h configure:23053: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:23060: $? = 0 configure:23077: result: yes configure:23204: checking for C++ compiler version configure:23212: g++ -maix64 --version >&5 g++ (GCC) 4.1.1 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:23216: $? = 0 configure:23223: g++ -maix64 -v >&5 Using built-in specs. Target: powerpc-ibm-aix5.3.0.0 Configured with: ../gcc-4.1.1/configure Thread model: aix gcc version 4.1.1 configure:23227: $? = 0 configure:23234: g++ -maix64 -V >&5 g++: argument to '-V' missing
configure:23238: $? = 1 configure:23241: checking whether we are using the GNU C++ compiler configure:23294: result: yes configure:23303: checking whether g++ -maix64 accepts -g configure:23441: result: yes configure:23466: checking dependency style of g++ -maix64 configure:23557: result: gcc3 configure:23580: checking how to run the C++ preprocessor configure:23694: result: g++ -maix64 -E configure:23723: g++ -maix64 -E -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp configure:23730: $? = 0 configure:23761: g++ -maix64 -E -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp conftest.cpp:88:28: error: ac_nonexistent.h: No such file or directory configure:23768: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | #include <ac_nonexistent.h> configure:23980: checking for objdir configure:23995: result: .libs configure:24291: checking if gcc -maix64 supports -fno-rtti -fno-exceptions configure:24309: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -fno-rtti -fno-exceptions conftest.c >&5 cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C configure:24313: $? = 0 configure:24326: result: no configure:24346: checking for gcc -maix64 option to produce PIC configure:24618: result: -DPIC configure:24630: checking if gcc -maix64 PIC flag -DPIC works configure:24648: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -DPIC -DPIC conftest.c >&5 configure:24652: $? = 0 configure:24665: result: yes configure:24689: checking if gcc -maix64 static flag -static works configure:24717: result: no configure:24732: checking if gcc -maix64 supports -c -o file.o configure:24753: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -o out/conftest2.o conftest.c >&5 configure:24757: $? = 0 configure:24779: result: yes configure:24787: checking if gcc -maix64 supports -c -o file.o configure:24834: result: yes configure:24867: checking whether the gcc -maix64 linker (/usr/bin/ld) supports shared libraries configure:25401: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c >&5 configure:25408: $? = 0 configure:25941: result: yes configure:26180: checking dynamic linker characteristics configure:26863: result: aix5.3.0.0 ld.so configure:26965: checking how to hardcode library paths into programs configure:26990: result: immediate configure:27113: checking for shl_load configure:27169: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status configure:27176: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | /* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load. | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | #define shl_load innocuous_shl_load | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char shl_load (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | | #undef shl_load | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char shl_load (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_shl_load || defined __stub___shl_load | choke me | #endif | | int | main () | { | return shl_load (); | ; | return 0; | } configure:27196: result: no configure:27201: checking for shl_load in -ldld configure:27236: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c -ldld >&5 collect2: library libdld not found configure:27243: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char shl_load (); | int | main () | { | return shl_load (); | ; | return 0; | } configure:27264: result: no configure:27269: checking for dlopen configure:27325: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c >&5 configure:27332: $? = 0 configure:27352: result: yes configure:27597: checking whether a program can dlopen itself configure:27667: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -DHAVE_DLFCN_H -Wl,-bexpall conftest.c >&5 configure:27670: $? = 0 configure:27688: result: yes configure:27693: checking whether a statically linked program can dlopen itself configure:27763: gcc -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -DHAVE_DLFCN_H -Wl,-bexpall conftest.c >&5 configure:27766: $? = 0 configure:27784: result: yes configure:27823: checking whether stripping libraries is possible configure:27845: result: no configure:27863: checking if libtool supports shared libraries configure:27865: result: yes configure:27868: checking whether to build shared libraries configure:27889: result: yes configure:27892: checking whether to build static libraries configure:27896: result: no configure:28046: checking for ld used by g++ -maix64 configure:28113: result: /usr/bin/ld configure:28122: checking if the linker (/usr/bin/ld) is GNU ld configure:28137: result: no configure:28192: checking whether the g++ -maix64 linker (/usr/bin/ld) supports shared libraries configure:28386: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:28393: $? = 0 configure:29167: result: yes configure:29195: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:29198: $? = 0 configure:29380: checking for g++ -maix64 option to produce PIC configure:29697: result: -DPIC configure:29706: checking if g++ -maix64 PIC flag -DPIC works configure:29724: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -DPIC -DPIC conftest.cpp >&5 configure:29728: $? = 0 configure:29741: result: yes configure:29762: checking if g++ -maix64 static flag -static works configure:29790: result: no configure:29802: checking if g++ -maix64 supports -c -o file.o configure:29823: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -o out/conftest2.o conftest.cpp >&5 configure:29827: $? = 0 configure:29849: result: yes configure:29854: checking if g++ -maix64 supports -c -o file.o configure:29901: result: yes configure:29931: checking whether the g++ -maix64 linker (/usr/bin/ld) supports shared libraries configure:29957: result: yes configure:30094: checking dynamic linker characteristics configure:30725: result: aix5.3.0.0 ld.so configure:30776: checking how to hardcode library paths into programs configure:30801: result: immediate configure:30879: checking for md5sum configure:30895: found /usr/bin/md5sum configure:30906: result: md5sum configure:30925: checking for the text md5sum command configure:30933: result: md5sum -t configure:30964: checking glpk.h usability configure:30981: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c >&5 conftest.c:122:18: error: glpk.h: No such file or directory configure:30988: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <glpk.h> configure:31002: result: no configure:31006: checking glpk.h presence configure:31021: gcc -maix64 -E -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c conftest.c:89:18: error: glpk.h: No such file or directory configure:31028: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <glpk.h> configure:31042: result: no configure:31075: checking for glpk.h configure:31084: result: no configure:30964: checking glpk/glpk.h usability configure:30981: gcc -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c >&5 conftest.c:122:23: error: glpk/glpk.h: No such file or directory configure:30988: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <glpk/glpk.h> configure:31002: result: no configure:31006: checking glpk/glpk.h presence configure:31021: gcc -maix64 -E -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.c conftest.c:89:23: error: glpk/glpk.h: No such file or directory configure:31028: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | #include <glpk/glpk.h> configure:31042: result: no configure:31075: checking for glpk/glpk.h configure:31084: result: no configure:31418: checking whether RLIMIT_DATA is declared configure:31452: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:31459: $? = 0 configure:31474: result: yes configure:31490: checking whether RLIMIT_RSS is declared configure:31524: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:31531: $? = 0 configure:31546: result: yes configure:31562: checking whether RLIMIT_VMEM is declared configure:31596: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:101: error: 'RLIMIT_VMEM' was not declared in this scope configure:31603: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | /* end confdefs.h. */ | | #ifdef HAVE_SYS_RESOURCE_H | # include <sys/resource.h> | #endif | | | int | main () | { | #ifndef RLIMIT_VMEM | (void) RLIMIT_VMEM; | #endif | | ; | return 0; | } configure:31618: result: no configure:31634: checking whether RLIMIT_AS is declared configure:31668: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:31675: $? = 0 configure:31690: result: yes configure:31709: checking whether getrusage is declared configure:31746: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:31753: $? = 0 configure:31768: result: yes configure:31788: checking for timeval configure:31816: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:31823: $? = 0 configure:31850: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:130: error: expected primary-expression before ')' token configure:31857: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | #define HAVE_DECL_RLIMIT_VMEM 0 | #define HAVE_DECL_RLIMIT_AS 1 | #define HAVE_DECL_GETRUSAGE 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | int | main () | { | if (sizeof ((timeval))) | return 0; | ; | return 0; | } configure:31880: result: yes configure:31891: checking for siginfo_t configure:31922: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 configure:31929: $? = 0 configure:31959: g++ -maix64 -c -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:102: error: expected primary-expression before ')' token configure:31966: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "the Parma Polyhedra Library" | #define PACKAGE_TARNAME "ppl" | #define PACKAGE_VERSION "0.10.2" | #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" | #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" | #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" | #define PPL_NDEBUG 1 | #define PPL_FPMATH_MAY_USE_387 1 | #define PPL_FPMATH_MAY_USE_SSE 1 | #define PPL_COEFFICIENT_TYPE mpz_class | #define PPL_COEFFICIENT_BITS 0 | #define PPL_GMP_INTEGERS 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define WORDS_BIGENDIAN 1 | #define HAVE_TYPEOF 1 | #define SIZEOF_CHAR 1 | #define SIZEOF_SHORT 2 | #define SIZEOF_INT 4 | #define SIZEOF_LONG 8 | #define SIZEOF_LONG_LONG 8 | #define SIZEOF_SIZE_T 8 | #define SIZEOF_FLOAT 4 | #define SIZEOF_DOUBLE 8 | #define SIZEOF_LONG_DOUBLE 8 | #define SIZEOF_INTP 8 | #define SIZEOF_FP 8 | #define HAVE_FENV_H 1 | #define PPL_CAN_CONTROL_FPU 1 | #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 | #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE | #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_FLOAT 0 | #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_DOUBLE 0 | #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE | #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 | #define PPL_SUPPORTED_LONG_DOUBLE 0 | #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 | #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 | #define PPL_CXX_HAS_REMAINDER_BUG 1 | #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 | #define HAVE_FENV_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_STRING_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_RESOURCE_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DECL_FFS 1 | #define HAVE_DECL_GETENV 1 | #define HAVE_DECL_STRTOF 1 | #define HAVE_DECL_STRTOD 1 | #define HAVE_DECL_STRTOLD 1 | #define HAVE_DECL_STRTOLL 1 | #define HAVE_DECL_STRTOULL 1 | #define HAVE_DECL_FMA 1 | #define HAVE_DECL_FMAF 1 | #define HAVE_DECL_FMAL 1 | #define HAVE_DECL_RINTF 1 | #define HAVE_DECL_RINTL 1 | #define HAVE_INT_FAST16_T 1 | #define HAVE_INT_FAST32_T 1 | #define HAVE_INT_FAST64_T 1 | #define HAVE_UINT_FAST16_T 1 | #define HAVE_UINT_FAST32_T 1 | #define HAVE_UINT_FAST64_T 1 | #define SIZEOF_MP_LIMB_T 8 | #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 | #define HAVE___MPZ_STRUCT__MP_ALLOC 1 | #define HAVE___MPZ_STRUCT__MP_SIZE 1 | #define HAVE___MPZ_STRUCT__MP_D 1 | #define HAVE_SETITIMER 1 | #define PPL_WATCHDOG_LIBRARY_ENABLED 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DECL_RLIMIT_DATA 1 | #define HAVE_DECL_RLIMIT_RSS 1 | #define HAVE_DECL_RLIMIT_VMEM 0 | #define HAVE_DECL_RLIMIT_AS 1 | #define HAVE_DECL_GETRUSAGE 1 | #define HAVE_TIMEVAL 1 | /* end confdefs.h. */ | | #include <signal.h> | | | int | main () | { | if (sizeof ((siginfo_t))) | return 0; | ; | return 0; | } configure:31989: result: yes configure:32013: checking whether we can limit memory in C++ using setrlimit() configure:32099: g++ -maix64 -o conftest -g -O2 -frounding-math -fexceptions -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include conftest.cpp >&5 ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:32103: $? = 0 configure:32109: ./conftest configure:32113: $? = 0 configure:32115: result: yes configure:32652: creating ./config.status
## ---------------------- ## ## Running config.status. ## ## ---------------------- ##
This file was extended by the Parma Polyhedra Library config.status 0.10.2, which was generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status
on be1105en.ucar.edu
config.status:1358: creating Makefile config.status:1358: creating ppl.lsm config.status:1358: creating src/Makefile config.status:1358: creating src/version.hh config.status:1358: creating src/ppl-config.cc config.status:1358: creating tests/Makefile config.status:1358: creating tests/BD_Shape/Makefile config.status:1358: creating tests/Box/Makefile config.status:1358: creating tests/Grid/Makefile config.status:1358: creating tests/MIP_Problem/Makefile config.status:1358: creating tests/Octagonal_Shape/Makefile config.status:1358: creating tests/Partially_Reduced_Product/Makefile config.status:1358: creating tests/Polyhedron/Makefile config.status:1358: creating tests/Powerset/Makefile config.status:1358: creating utils/Makefile config.status:1358: creating m4/Makefile config.status:1358: creating demos/Makefile config.status:1358: creating demos/ppl_lcdd/Makefile config.status:1358: creating demos/ppl_lcdd/examples/Makefile config.status:1358: creating demos/ppl_lpsol/Makefile config.status:1358: creating demos/ppl_lpsol/examples/Makefile config.status:1358: creating doc/Makefile config.status:1358: creating doc/user.doxyconf-latex config.status:1358: creating doc/devref.doxyconf-latex config.status:1358: creating doc/user.doxyconf-html config.status:1358: creating doc/devref.doxyconf-html config.status:1358: creating doc/user-language-interface.doxyconf config.status:1358: creating doc/devref-language-interface.doxyconf config.status:1358: creating interfaces/Makefile config.status:1358: creating interfaces/C/Makefile config.status:1358: creating interfaces/C/ppl_c_version.h config.status:1358: creating interfaces/C/tests/Makefile config.status:1358: creating interfaces/Java/Makefile config.status:1358: creating interfaces/Java/jni/Makefile config.status:1358: creating interfaces/Java/tests/Makefile config.status:1358: creating interfaces/Java/parma_polyhedra_library/Makefile config.status:1358: creating interfaces/OCaml/Makefile config.status:1358: creating interfaces/OCaml/tests/Makefile config.status:1358: creating interfaces/Prolog/Makefile config.status:1358: creating interfaces/Prolog/Ciao/Makefile config.status:1358: creating interfaces/Prolog/GNU/Makefile config.status:1358: creating interfaces/Prolog/SICStus/Makefile config.status:1358: creating interfaces/Prolog/SWI/Makefile config.status:1358: creating interfaces/Prolog/XSB/Makefile config.status:1358: creating interfaces/Prolog/YAP/Makefile config.status:1358: creating interfaces/Prolog/tests/Makefile config.status:1358: creating config.h config.status:1632: executing depfiles commands config.status:1632: executing libtool commands configure:35242: === configuring in Watchdog (/ptmp/ddvento/install/ppl-0.10.2/Watchdog) configure:35345: running /bin/sh ./configure --disable-option-checking '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions' --cache-file=/dev/null --srcdir=. configure:35366: WARNING: CANNOT PROPAGATE EXCEPTIONS BACK FROM GMP: *** MEMORY EXHAUSTION MAY RESULT IN ABRUPT TERMINATION. *** This is OK, if you do not plan to use the bounded memory capabilities *** offered by the PPL. Otherwise, if you are using GCC or the Intel C/C++ *** compiler, please make sure you use a version of GMP compiled with the *** `-fexceptions' compiler option. *** To build such a version, you can configure GMP as follows: *** CPPFLAGS=-fexceptions ./configure --enable-cxx --prefix=/usr/local
## ---------------- ## ## Cache variables. ## ## ---------------- ##
ac_cv_build=powerpc-ibm-aix5.3.0.0 ac_cv_c_bigendian=yes ac_cv_c_compiler_gnu=yes ac_cv_c_const=yes ac_cv_c_inline=inline ac_cv_c_typeof=typeof ac_cv_can_control_fpu=1 ac_cv_cxx_compiler_gnu=yes ac_cv_cxx_has_remainder_bug=yes ac_cv_env_CCC_set='' ac_cv_env_CCC_value='' ac_cv_env_CC_set=set ac_cv_env_CC_value='gcc -maix64' ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value=-fexceptions ac_cv_env_CPPFLAGS_set=set ac_cv_env_CPPFLAGS_value=-fexceptions ac_cv_env_CPP_set='' ac_cv_env_CPP_value='' ac_cv_env_CXXCPP_set='' ac_cv_env_CXXCPP_value='' ac_cv_env_CXXFLAGS_set=set ac_cv_env_CXXFLAGS_value=-fexceptions ac_cv_env_CXX_set=set ac_cv_env_CXX_value='g++ -maix64' ac_cv_env_LDFLAGS_set='' ac_cv_env_LDFLAGS_value='' ac_cv_env_LIBS_set='' ac_cv_env_LIBS_value='' ac_cv_env_M4_set='' ac_cv_env_M4_value='' ac_cv_env_build_alias_set='' ac_cv_env_build_alias_value='' ac_cv_env_host_alias_set='' ac_cv_env_host_alias_value='' ac_cv_env_target_alias_set='' ac_cv_env_target_alias_value='' ac_cv_func_dlopen=yes ac_cv_func_setitimer=yes ac_cv_func_shl_load=no ac_cv_gmp_supports_exceptions=no ac_cv_have_decl_RLIMIT_AS=yes ac_cv_have_decl_RLIMIT_DATA=yes ac_cv_have_decl_RLIMIT_RSS=yes ac_cv_have_decl_RLIMIT_VMEM=no ac_cv_have_decl_ffs=yes ac_cv_have_decl_fma=yes ac_cv_have_decl_fmaf=yes ac_cv_have_decl_fmal=yes ac_cv_have_decl_getenv=yes ac_cv_have_decl_getrusage=yes ac_cv_have_decl_rintf=yes ac_cv_have_decl_rintl=yes ac_cv_have_decl_strtod=yes ac_cv_have_decl_strtof=yes ac_cv_have_decl_strtold=yes ac_cv_have_decl_strtoll=yes ac_cv_have_decl_strtoull=yes ac_cv_have_gmp=yes ac_cv_header_dlfcn_h=yes ac_cv_header_fenv_h=yes ac_cv_header_getopt_h=no ac_cv_header_glpk_glpk_h=no ac_cv_header_glpk_h=no ac_cv_header_ieeefp_h=no ac_cv_header_inttypes_h=yes ac_cv_header_memory_h=yes ac_cv_header_signal_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_resource_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_time_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_host=powerpc-ibm-aix5.3.0.0 ac_cv_javac_supports_enums=yes ac_cv_lib_dld_shl_load=no ac_cv_libgmp_cppflags=-I/ptmp/ddvento/install/milepost/install-gmp/include ac_cv_libgmp_libs=/ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a ac_cv_libgmp_ltlibs='-L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmp' ac_cv_libgmpxx_cppflags='' ac_cv_libgmpxx_libs='/ptmp/ddvento/install/milepost/install-gmp/lib/libgmpxx.a -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a' ac_cv_libgmpxx_ltlibs='-L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmpxx -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmp' ac_cv_member___mpz_struct__mp_alloc=yes ac_cv_member___mpz_struct__mp_d=yes ac_cv_member___mpz_struct__mp_size=yes ac_cv_objext=o ac_cv_path_EGREP='/usr/local/bin//grep -E' ac_cv_path_FGREP='/usr/local/bin//grep -F' ac_cv_path_GREP=/usr/local/bin//grep ac_cv_path_M4=/usr/local/bin//m4 ac_cv_path_PERL=/usr/bin/perl ac_cv_path_SED=/usr/bin/sed ac_cv_path_install='/usr/local/bin//install -c' ac_cv_path_mkdir=/usr/local/bin//mkdir ac_cv_prog_AWK=nawk ac_cv_prog_CPP='gcc -maix64 -E' ac_cv_prog_CXXCPP='g++ -maix64 -E' ac_cv_prog_JAR=jar ac_cv_prog_JAVA=java ac_cv_prog_JAVAC=javac ac_cv_prog_JAVAH=javah ac_cv_prog_MD5SUM=md5sum ac_cv_prog_ac_ct_AR=ar ac_cv_prog_ac_ct_CC='gcc -maix64' ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_c89='' ac_cv_prog_cc_g=yes ac_cv_prog_cxx_g=yes ac_cv_prog_gnu_m4_debugfile=--debugfile ac_cv_prog_java_works=yes ac_cv_prog_make_make_set=yes ac_cv_prog_text_md5sum='md5sum -t' ac_cv_prog_uudecode=yes ac_cv_prog_uudecode_base64=yes ac_cv_sizeof_char=1 ac_cv_sizeof_double=8 ac_cv_sizeof_float=4 ac_cv_sizeof_fp=8 ac_cv_sizeof_int=4 ac_cv_sizeof_intp=8 ac_cv_sizeof_long=8 ac_cv_sizeof_long_double=8 ac_cv_sizeof_long_long=8 ac_cv_sizeof_mp_limb_t=8 ac_cv_sizeof_short=2 ac_cv_sizeof_size_t=8 ac_cv_type_int_fast16_t=yes ac_cv_type_int_fast32_t=yes ac_cv_type_int_fast64_t=yes ac_cv_type_siginfo_t=yes ac_cv_type_timeval=yes ac_cv_type_uint_fast16_t=yes ac_cv_type_uint_fast32_t=yes ac_cv_type_uint_fast64_t=yes acl_cv_hardcode_direct=yes acl_cv_hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/ppc64:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../ppc64:/usr/lib:/lib ' acl_cv_hardcode_libdir_separator=: acl_cv_hardcode_minus_L=no acl_cv_libext=a acl_cv_libname_spec='lib$name' acl_cv_library_names_spec='$libname$shrext' acl_cv_path_LD=/usr/bin/ld acl_cv_prog_gnu_ld=no acl_cv_rpath=done acl_cv_shlibext=so acl_cv_wl=-Wl, am_cv_CC_dependencies_compiler_type=gcc3 am_cv_CXX_dependencies_compiler_type=gcc3 am_cv_prog_tar_ustar=gnutar lt_cv_deplibs_check_method=pass_all lt_cv_dlopen=dlopen lt_cv_dlopen_libs='' lt_cv_dlopen_self=yes lt_cv_dlopen_self_static=yes lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file='' lt_cv_ld_reload_flag=-r lt_cv_nm_interface='BSD nm' lt_cv_objdir=.libs lt_cv_path_LD=/usr/bin/ld lt_cv_path_LDCXX=/usr/bin/ld lt_cv_path_NM='/usr/bin/nm -B' lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_c_o_CXX=yes lt_cv_prog_compiler_pic_works=yes lt_cv_prog_compiler_pic_works_CXX=yes lt_cv_prog_compiler_rtti_exceptions=no lt_cv_prog_compiler_static_works=no lt_cv_prog_compiler_static_works_CXX=no lt_cv_prog_gnu_ld=no lt_cv_prog_gnu_ldcxx=no lt_cv_sys_global_symbol_pipe='sed -n -e '''s/^.*[ ]([BCDT][BCDT]*)[ ][ ]*([_A-Za-z][_A-Za-z0-9]*)$/\1 \2 \2/p'' lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '''s/^: ([^ ]*) $/ {"\1", (void *) 0},/p''' -e '''s/^[BCDT]* ([^ ]*) ([^ ]*)$/ {"\2", (void *) &\2},/p'' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '''s/^: ([^ ]*) $/ {"\1", (void *) 0},/p''' -e '''s/^[BCDT]* ([^ ]*) (lib[^ ]*)$/ {"\2", (void *) &\2},/p''' -e '''s/^[BCDT]* ([^ ]*) ([^ ]*)$/ {"lib\2", (void *) &\2},/p'' lt_cv_sys_global_symbol_to_cdecl='sed -n -e '''s/^T .* (.*)$/extern int \1();/p''' -e '''s/^[BCDT]* .* (.*)$/extern char \1;/p'' lt_cv_sys_max_cmd_len=307200
## ----------------- ## ## Output variables. ## ## ----------------- ##
ACLOCAL='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run aclocal-1.10' AMDEPBACKSLASH='' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run tar' AR='ar' ASSERTIONS_ENABLED_FALSE='' ASSERTIONS_ENABLED_TRUE='#' AUTOCONF='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run autoconf' AUTOHEADER='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run autoheader' AUTOMAKE='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run automake-1.10' AWK='nawk' BUILD_CIAO_PROLOG_INTERFACE_FALSE='' BUILD_CIAO_PROLOG_INTERFACE_TRUE='#' BUILD_CXX_INTERFACE_FALSE='#' BUILD_CXX_INTERFACE_TRUE='' BUILD_C_INTERFACE_FALSE='#' BUILD_C_INTERFACE_TRUE='' BUILD_GNU_PROLOG_INTERFACE_FALSE='' BUILD_GNU_PROLOG_INTERFACE_TRUE='#' BUILD_JAVA_INTERFACE_FALSE='' BUILD_JAVA_INTERFACE_TRUE='#' BUILD_OCAML_INTERFACE_FALSE='' BUILD_OCAML_INTERFACE_TRUE='#' BUILD_PPL_LCDD_FALSE='#' BUILD_PPL_LCDD_TRUE='' BUILD_PPL_LPSOL_FALSE='#' BUILD_PPL_LPSOL_TRUE='' BUILD_SICSTUS_PROLOG_INTERFACE_FALSE='' BUILD_SICSTUS_PROLOG_INTERFACE_TRUE='#' BUILD_SOME_PROLOG_INTERFACES_FALSE='' BUILD_SOME_PROLOG_INTERFACES_TRUE='#' BUILD_SWI_PROLOG_INTERFACE_FALSE='' BUILD_SWI_PROLOG_INTERFACE_TRUE='#' BUILD_WATCHDOG_LIBRARY_FALSE='#' BUILD_WATCHDOG_LIBRARY_TRUE='' BUILD_XSB_PROLOG_INTERFACE_FALSE='' BUILD_XSB_PROLOG_INTERFACE_TRUE='#' BUILD_YAP_PROLOG_INTERFACE_FALSE='' BUILD_YAP_PROLOG_INTERFACE_TRUE='#' CAN_CONTROL_FPU_FALSE='#' CAN_CONTROL_FPU_TRUE='' CC='gcc -maix64' CCDEPMODE='depmode=gcc3' CFLAGS=' -g -O2 -frounding-math -fexceptions -W -Wall' CIAO_PROLOG='' CIAO_PROLOG_INCLUDE_OPTIONS='' CONFIGURE_OPTIONS='' CPP='gcc -maix64 -E' CPPFLAGS='-fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include' CXX='g++ -maix64' CXXCPP='g++ -maix64 -E' CXXDEPMODE='depmode=gcc3' CXXFLAGS=' -g -O2 -frounding-math -fexceptions -W -Wall' CYGPATH_W='echo' DEBUGGING_ENABLED_FALSE='#' DEBUGGING_ENABLED_TRUE='' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' DSYMUTIL='' DUMPBIN='' ECHO_C='\c' ECHO_N='' ECHO_T='' EGREP='/usr/local/bin//grep -E' ENABLE_SHARED_FALSE='#' ENABLE_SHARED_TRUE='' ENABLE_STATIC_FALSE='' ENABLE_STATIC_TRUE='#' EXEEXT='' FGREP='/usr/local/bin//grep -F' GCC_FALSE='#' GCC_TRUE='' GNU_PROLOG='' GREP='/usr/local/bin//grep' HAVE_GLPK_FALSE='' HAVE_GLPK_TRUE='#' HAVE_MD5SUM_FALSE='#' HAVE_MD5SUM_TRUE='' HAVE_OCAMLC_FALSE='' HAVE_OCAMLC_TRUE='#' HAVE_OCAMLOPT_FALSE='' HAVE_OCAMLOPT_TRUE='#' HAVE_PERL_FALSE='#' HAVE_PERL_TRUE='' HOST_CPU_X86_64_FALSE='' HOST_CPU_X86_64_TRUE='#' HOST_OS_CYGWIN_FALSE='' HOST_OS_CYGWIN_TRUE='#' HOST_OS_DARWIN_FALSE='' HOST_OS_DARWIN_TRUE='#' HOST_OS_MINGW_FALSE='' HOST_OS_MINGW_TRUE='#' HOST_OS_SOLARIS_FALSE='' HOST_OS_SOLARIS_TRUE='#' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' ISODATE='2009-09-18' JAR='jar' JAVA='java' JAVAC='javac' JAVAH='no' JNIFLAGS='-I -I/aix' LD='/usr/bin/ld' LDFLAGS='' LIBEXT='a' LIBGMP='/ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a' LIBGMPXX='/ptmp/ddvento/install/milepost/install-gmp/lib/libgmpxx.a -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib /ptmp/ddvento/install/milepost/install-gmp/lib/libgmp.a' LIBOBJS='' LIBS='' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIPO='' LN_S='ln -s' LTLIBGMP='-L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmp' LTLIBGMPXX='-L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmpxx -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmp' LTLIBOBJS='' M4='/usr/local/bin//m4' M4_DEBUGFILE='--debugfile' MAKEINFO='${SHELL} /ptmp/ddvento/install/ppl-0.10.2/missing --run makeinfo' MD5SUM='md5sum' MKDIR_P='/usr/local/bin//mkdir -p' NM='/usr/bin/nm -B' NMEDIT='' NO_UNDEFINED_FALSE='' NO_UNDEFINED_TRUE='#' OBJDUMP='false' OBJEXT='o' OCAMLC='' OCAMLOPT='' OTOOL64='' OTOOL='' PACKAGE='ppl' PACKAGE_BUGREPORT='ppl-devel@cs.unipr.it' PACKAGE_NAME='the Parma Polyhedra Library' PACKAGE_STRING='the Parma Polyhedra Library 0.10.2' PACKAGE_TARNAME='ppl' PACKAGE_VERSION='0.10.2' PATH_SEPARATOR=':' PERL='/usr/bin/perl' PPL_VERSION_BETA='0' PPL_VERSION_MAJOR='0' PPL_VERSION_MINOR='10' PPL_VERSION_REVISION='2' RANLIB='ranlib' SED='/usr/bin/sed' SET_MAKE='' SHELL='/bin/sh' SHREXT='.so' SICSTUS_PROLOG_INCLUDE_OPTIONS='' STRIP='strip' SUPPORTED_DOUBLE_FALSE='' SUPPORTED_DOUBLE_TRUE='#' SUPPORTED_FLOAT_FALSE='' SUPPORTED_FLOAT_TRUE='#' SUPPORTED_LONG_DOUBLE_FALSE='' SUPPORTED_LONG_DOUBLE_TRUE='#' SWI_PROLOG='' SWI_PROLOG_INCLUDE_OPTIONS='' SWI_PROLOG_LD_OPTIONS='' TEXT_MD5SUM='md5sum -t' THOROUGH_MAKE_CHECK_FALSE='' THOROUGH_MAKE_CHECK_TRUE='#' USE_CHECKED_INTEGERS_FALSE='' USE_CHECKED_INTEGERS_TRUE='#' USE_GMP_INTEGERS_FALSE='#' USE_GMP_INTEGERS_TRUE='' USE_INT16_FALSE='' USE_INT16_TRUE='#' USE_INT32_FALSE='' USE_INT32_TRUE='#' USE_INT64_FALSE='' USE_INT64_TRUE='#' USE_INT8_FALSE='' USE_INT8_TRUE='#' USE_NATIVE_INTEGERS_FALSE='' USE_NATIVE_INTEGERS_TRUE='#' USE_PRECOMPILED_HEADERS_FALSE='' USE_PRECOMPILED_HEADERS_TRUE='#' VALGRIND='' VALGRIND_TESTS_ENABLED_FALSE='' VALGRIND_TESTS_ENABLED_TRUE='#' VERSION='0.10.2' XSB_PROLOG_INCLUDE_OPTIONS='' YAP_PROLOG='' ac_ct_CC='gcc -maix64' ac_ct_CXX='' ac_ct_DUMPBIN='' am__fastdepCC_FALSE='#' am__fastdepCC_TRUE='' am__fastdepCXX_FALSE='#' am__fastdepCXX_TRUE='' am__include='include' am__isrc='' am__leading_dot='.' am__quote='' am__tar='gtar --format=ustar -chf - "$$tardir"' am__untar='gtar -xf -' bindir='${exec_prefix}/bin' build='powerpc-ibm-aix5.3.0.0' build_alias='' build_cpu='powerpc' build_os='aix5.3.0.0' build_vendor='ibm' ciao_prolog='' coefficient_mnemonic='mpz' datadir='${datarootdir}' datarootdir='${prefix}/share' debug_flag='-DNDEBUG=1' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='${prefix}' extra_includes='' extra_libraries=' -lm -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmpxx -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmp' host='powerpc-ibm-aix5.3.0.0' host_alias='' host_cpu='powerpc' host_os='aix5.3.0.0' host_vendor='ibm' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='$(SHELL) /ptmp/ddvento/install/ppl-0.10.2/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' lt_ECHO='/usr/local/bin//echo' mandir='${datarootdir}/man' mkdir_p='/usr/local/bin//mkdir -p' mlgmp_dir='+gmp' ocamlc_root='' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/contrib/ppl-0.10.2-gcc' program_transform_name='s,x,x,' psdir='${docdir}' required_instantiations='Polyhedron@Grid@Rational_Box@BD_Shape<mpz_class>@BD_Shape<mpq_class>@Octagonal_Shape<mpz_class>@Octagonal_Shape<mpq_class>@Constraints_Product<C_Polyhedron,Grid>@Pointset_Powerset<C_Polyhedron>@Pointset_Powerset<NNC_Polyhedron>' required_instantiations_c_cxx_headers='ppl_c_Polyhedron.hh ppl_c_Grid.hh ppl_c_Rational_Box.hh ppl_c_BD_Shape_mpz_class.hh ppl_c_BD_Shape_mpq_class.hh ppl_c_Octagonal_Shape_mpz_class.hh ppl_c_Octagonal_Shape_mpq_class.hh ppl_c_Constraints_Product_C_Polyhedron_Grid.hh ppl_c_Pointset_Powerset_C_Polyhedron.hh ppl_c_Pointset_Powerset_NNC_Polyhedron.hh' required_instantiations_c_cxx_objects='ppl_c_Polyhedron.lo ppl_c_Grid.lo ppl_c_Rational_Box.lo ppl_c_BD_Shape_mpz_class.lo ppl_c_BD_Shape_mpq_class.lo ppl_c_Octagonal_Shape_mpz_class.lo ppl_c_Octagonal_Shape_mpq_class.lo ppl_c_Constraints_Product_C_Polyhedron_Grid.lo ppl_c_Pointset_Powerset_C_Polyhedron.lo ppl_c_Pointset_Powerset_NNC_Polyhedron.lo' required_instantiations_c_cxx_sources='ppl_c_Polyhedron.cc ppl_c_Grid.cc ppl_c_Rational_Box.cc ppl_c_BD_Shape_mpz_class.cc ppl_c_BD_Shape_mpq_class.cc ppl_c_Octagonal_Shape_mpz_class.cc ppl_c_Octagonal_Shape_mpq_class.cc ppl_c_Constraints_Product_C_Polyhedron_Grid.cc ppl_c_Pointset_Powerset_C_Polyhedron.cc ppl_c_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_canonical_names='Polyhedron@Grid@Rational_Box@BD_Shape_mpz_class@BD_Shape_mpq_class@Octagonal_Shape_mpz_class@Octagonal_Shape_mpq_class@Constraints_Product_C_Polyhedron_Grid@Pointset_Powerset_C_Polyhedron@Pointset_Powerset_NNC_Polyhedron' required_instantiations_java_classes='Polyhedron.class C_Polyhedron.class NNC_Polyhedron.class Grid.class Rational_Box.class BD_Shape_mpz_class.class BD_Shape_mpq_class.class Octagonal_Shape_mpz_class.class Octagonal_Shape_mpq_class.class Constraints_Product_C_Polyhedron_Grid.class Pointset_Powerset_C_Polyhedron.class Pointset_Powerset_C_Polyhedron_Iterator.class Pointset_Powerset_NNC_Polyhedron.class Pointset_Powerset_NNC_Polyhedron_Iterator.class' required_instantiations_java_cxx_headers='parma_polyhedra_library.Polyhedron parma_polyhedra_library.C_Polyhedron parma_polyhedra_library.NNC_Polyhedron parma_polyhedra_library.Grid parma_polyhedra_library.Rational_Box parma_polyhedra_library.BD_Shape_mpz_class parma_polyhedra_library.BD_Shape_mpq_class parma_polyhedra_library.Octagonal_Shape_mpz_class parma_polyhedra_library.Octagonal_Shape_mpq_class parma_polyhedra_library.Constraints_Product_C_Polyhedron_Grid parma_polyhedra_library.Pointset_Powerset_C_Polyhedron parma_polyhedra_library.Pointset_Powerset_C_Polyhedron_Iterator parma_polyhedra_library.Pointset_Powerset_NNC_Polyhedron parma_polyhedra_library.Pointset_Powerset_NNC_Polyhedron_Iterator' required_instantiations_java_cxx_headers_sources='parma_polyhedra_library_Polyhedron.h parma_polyhedra_library_C_Polyhedron.h parma_polyhedra_library_NNC_Polyhedron.h parma_polyhedra_library_Grid.h parma_polyhedra_library_Rational_Box.h parma_polyhedra_library_BD_Shape_mpz_class.h parma_polyhedra_library_BD_Shape_mpq_class.h parma_polyhedra_library_Octagonal_Shape_mpz_class.h parma_polyhedra_library_Octagonal_Shape_mpq_class.h parma_polyhedra_library_Constraints_Product_C_Polyhedron_Grid.h parma_polyhedra_library_Pointset_Powerset_C_Polyhedron.h parma_polyhedra_library_Pointset_Powerset_C_Polyhedron_Iterator.h parma_polyhedra_library_Pointset_Powerset_NNC_Polyhedron.h parma_polyhedra_library_Pointset_Powerset_NNC_Polyhedron_Iterator.h' required_instantiations_java_cxx_objects='ppl_java_Polyhedron.lo ppl_java_Grid.lo ppl_java_Rational_Box.lo ppl_java_BD_Shape_mpz_class.lo ppl_java_BD_Shape_mpq_class.lo ppl_java_Octagonal_Shape_mpz_class.lo ppl_java_Octagonal_Shape_mpq_class.lo ppl_java_Constraints_Product_C_Polyhedron_Grid.lo ppl_java_Pointset_Powerset_C_Polyhedron.lo ppl_java_Pointset_Powerset_NNC_Polyhedron.lo' required_instantiations_java_cxx_sources='ppl_java_Polyhedron.cc ppl_java_Grid.cc ppl_java_Rational_Box.cc ppl_java_BD_Shape_mpz_class.cc ppl_java_BD_Shape_mpq_class.cc ppl_java_Octagonal_Shape_mpz_class.cc ppl_java_Octagonal_Shape_mpq_class.cc ppl_java_Constraints_Product_C_Polyhedron_Grid.cc ppl_java_Pointset_Powerset_C_Polyhedron.cc ppl_java_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_java_sources='Polyhedron.java C_Polyhedron.java NNC_Polyhedron.java Grid.java Rational_Box.java BD_Shape_mpz_class.java BD_Shape_mpq_class.java Octagonal_Shape_mpz_class.java Octagonal_Shape_mpq_class.java Constraints_Product_C_Polyhedron_Grid.java Pointset_Powerset_C_Polyhedron.java Pointset_Powerset_C_Polyhedron_Iterator.java Pointset_Powerset_NNC_Polyhedron.java Pointset_Powerset_NNC_Polyhedron_Iterator.java' required_instantiations_ocaml_cxx_headers='ppl_ocaml_Polyhedron.hh ppl_ocaml_Grid.hh ppl_ocaml_Rational_Box.hh ppl_ocaml_BD_Shape_mpz_class.hh ppl_ocaml_BD_Shape_mpq_class.hh ppl_ocaml_Octagonal_Shape_mpz_class.hh ppl_ocaml_Octagonal_Shape_mpq_class.hh ppl_ocaml_Constraints_Product_C_Polyhedron_Grid.hh ppl_ocaml_Pointset_Powerset_C_Polyhedron.hh ppl_ocaml_Pointset_Powerset_NNC_Polyhedron.hh' required_instantiations_ocaml_cxx_objects='ppl_ocaml_Polyhedron.o ppl_ocaml_Grid.o ppl_ocaml_Rational_Box.o ppl_ocaml_BD_Shape_mpz_class.o ppl_ocaml_BD_Shape_mpq_class.o ppl_ocaml_Octagonal_Shape_mpz_class.o ppl_ocaml_Octagonal_Shape_mpq_class.o ppl_ocaml_Constraints_Product_C_Polyhedron_Grid.o ppl_ocaml_Pointset_Powerset_C_Polyhedron.o ppl_ocaml_Pointset_Powerset_NNC_Polyhedron.o' required_instantiations_ocaml_cxx_sources='ppl_ocaml_Polyhedron.cc ppl_ocaml_Grid.cc ppl_ocaml_Rational_Box.cc ppl_ocaml_BD_Shape_mpz_class.cc ppl_ocaml_BD_Shape_mpq_class.cc ppl_ocaml_Octagonal_Shape_mpz_class.cc ppl_ocaml_Octagonal_Shape_mpq_class.cc ppl_ocaml_Constraints_Product_C_Polyhedron_Grid.cc ppl_ocaml_Pointset_Powerset_C_Polyhedron.cc ppl_ocaml_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_prolog_cxx_headers='ppl_prolog_Polyhedron.hh ppl_prolog_Grid.hh ppl_prolog_Rational_Box.hh ppl_prolog_BD_Shape_mpz_class.hh ppl_prolog_BD_Shape_mpq_class.hh ppl_prolog_Octagonal_Shape_mpz_class.hh ppl_prolog_Octagonal_Shape_mpq_class.hh ppl_prolog_Constraints_Product_C_Polyhedron_Grid.hh ppl_prolog_Pointset_Powerset_C_Polyhedron.hh ppl_prolog_Pointset_Powerset_NNC_Polyhedron.hh' required_instantiations_prolog_cxx_objects='ppl_prolog_Polyhedron.lo ppl_prolog_Grid.lo ppl_prolog_Rational_Box.lo ppl_prolog_BD_Shape_mpz_class.lo ppl_prolog_BD_Shape_mpq_class.lo ppl_prolog_Octagonal_Shape_mpz_class.lo ppl_prolog_Octagonal_Shape_mpq_class.lo ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo ppl_prolog_Pointset_Powerset_C_Polyhedron.lo ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' required_instantiations_prolog_cxx_sources='ppl_prolog_Polyhedron.cc ppl_prolog_Grid.cc ppl_prolog_Rational_Box.cc ppl_prolog_BD_Shape_mpz_class.cc ppl_prolog_BD_Shape_mpq_class.cc ppl_prolog_Octagonal_Shape_mpz_class.cc ppl_prolog_Octagonal_Shape_mpq_class.cc ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc ppl_prolog_Pointset_Powerset_C_Polyhedron.cc ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' required_instantiations_prolog_generated_test_sources='ppl_prolog_generated_test_Polyhedron.pl ppl_prolog_generated_test_Grid.pl ppl_prolog_generated_test_Rational_Box.pl ppl_prolog_generated_test_BD_Shape_mpz_class.pl ppl_prolog_generated_test_BD_Shape_mpq_class.pl ppl_prolog_generated_test_Octagonal_Shape_mpz_class.pl ppl_prolog_generated_test_Octagonal_Shape_mpq_class.pl ppl_prolog_generated_test_Constraints_Product_C_Polyhedron_Grid.pl ppl_prolog_generated_test_Pointset_Powerset_C_Polyhedron.pl ppl_prolog_generated_test_Pointset_Powerset_NNC_Polyhedron.pl' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sicstus_prolog='' subdirs=' Watchdog' swi_prolog='' sysconfdir='${prefix}/etc' target_alias='' uudecode='yes' xsb_prolog=''
## ----------- ## ## confdefs.h. ## ## ----------- ##
#define PACKAGE_NAME "the Parma Polyhedra Library" #define PACKAGE_TARNAME "ppl" #define PACKAGE_VERSION "0.10.2" #define PACKAGE_STRING "the Parma Polyhedra Library 0.10.2" #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it" #define PPL_CONFIGURE_OPTIONS " '--prefix=/contrib/ppl-0.10.2-gcc' '--with-libgmp-prefix=/ptmp/ddvento/install/milepost/install-gmp' '--enable-cxx' 'CC=gcc -maix64' 'CFLAGS=-fexceptions' 'CPPFLAGS=-fexceptions' 'CXX=g++ -maix64' 'CXXFLAGS=-fexceptions'" #define PPL_NDEBUG 1 #define PPL_FPMATH_MAY_USE_387 1 #define PPL_FPMATH_MAY_USE_SSE 1 #define PPL_COEFFICIENT_TYPE mpz_class #define PPL_COEFFICIENT_BITS 0 #define PPL_GMP_INTEGERS 1 #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define WORDS_BIGENDIAN 1 #define HAVE_TYPEOF 1 #define SIZEOF_CHAR 1 #define SIZEOF_SHORT 2 #define SIZEOF_INT 4 #define SIZEOF_LONG 8 #define SIZEOF_LONG_LONG 8 #define SIZEOF_SIZE_T 8 #define SIZEOF_FLOAT 4 #define SIZEOF_DOUBLE 8 #define SIZEOF_LONG_DOUBLE 8 #define SIZEOF_INTP 8 #define SIZEOF_FP 8 #define HAVE_FENV_H 1 #define PPL_CAN_CONTROL_FPU 1 #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0 #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE #define PPL_CXX_FLOAT_EXACT_OUTPUT 0 #define PPL_SUPPORTED_FLOAT 0 #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE #define PPL_CXX_DOUBLE_EXACT_OUTPUT 0 #define PPL_SUPPORTED_DOUBLE 0 #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE #define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 0 #define PPL_SUPPORTED_LONG_DOUBLE 0 #define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1 #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1 #define PPL_CXX_HAS_REMAINDER_BUG 1 #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1 #define HAVE_FENV_H 1 #define HAVE_SIGNAL_H 1 #define HAVE_STRING_H 1 #define HAVE_STRINGS_H 1 #define HAVE_SYS_RESOURCE_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DECL_FFS 1 #define HAVE_DECL_GETENV 1 #define HAVE_DECL_STRTOF 1 #define HAVE_DECL_STRTOD 1 #define HAVE_DECL_STRTOLD 1 #define HAVE_DECL_STRTOLL 1 #define HAVE_DECL_STRTOULL 1 #define HAVE_DECL_FMA 1 #define HAVE_DECL_FMAF 1 #define HAVE_DECL_FMAL 1 #define HAVE_DECL_RINTF 1 #define HAVE_DECL_RINTL 1 #define HAVE_INT_FAST16_T 1 #define HAVE_INT_FAST32_T 1 #define HAVE_INT_FAST64_T 1 #define HAVE_UINT_FAST16_T 1 #define HAVE_UINT_FAST32_T 1 #define HAVE_UINT_FAST64_T 1 #define SIZEOF_MP_LIMB_T 8 #define PPL_GMP_SUPPORTS_EXCEPTIONS 0 #define HAVE___MPZ_STRUCT__MP_ALLOC 1 #define HAVE___MPZ_STRUCT__MP_SIZE 1 #define HAVE___MPZ_STRUCT__MP_D 1 #define HAVE_SETITIMER 1 #define PPL_WATCHDOG_LIBRARY_ENABLED 1 #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/" #define HAVE_DECL_RLIMIT_DATA 1 #define HAVE_DECL_RLIMIT_RSS 1 #define HAVE_DECL_RLIMIT_VMEM 0 #define HAVE_DECL_RLIMIT_AS 1 #define HAVE_DECL_GETRUSAGE 1 #define HAVE_TIMEVAL 1 #define HAVE_SIGINFO_T 1 #define PPL_CXX_SUPPORTS_LIMITING_MEMORY 1
configure: exit 0

Davide Del Vento wrote:
Thanks again for your time!
I am not fluent in C++ standards, and eventually I gave up on using the IBM compiler.
I tried gcc, it configured fine, but it failed during make with the following error, and several others thereafter (see attachments for details):
globals.inlines.hh:76: error: 'PPL_SIZEOF_MP_LIMB_T' was not declared in this scope
:-(
Note that my gmp installation looked fine, and all its test passed.
Well, I am not really an expert of configuration problems ... If things were going straight, you should have a
#define SIZEOF_MP_LIMB_T ...
in file <build_path>/config.h, as well as a
#define PPL_SIZEOF_MP_LIMB_T ...
in your <build_dir>/ppl-config.h.
As far as I can see, you seems to have the first one but not the second one of those defines. Hence, I guess the problem should occur in the execution of
/usr/bin/sed -f ./ppl-config.sed >ppl-config.h
Either you are using a non-compatible version of `sed', or our script ppl-config.sed assumes something which is not generally portable.
Can you please confirm my guessing above? Which version of sed are you using?
Cheers, Enea Zaffanella.
Thanks Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233

Enea Zaffanella wrote: [...]
If things were going straight, you should have a
#define SIZEOF_MP_LIMB_T ...
in file <build_path>/config.h, as well as a
#define PPL_SIZEOF_MP_LIMB_T ...
in your <build_dir>/ppl-config.h.
Note: here above the difference between <build_dir> and <build_path> was not really meant; the two files config.h and ppl-config.h should be found in the same place (the root of the build tree).
Enea.

Thanks again!
Yes, AIX has several odd utilities, not always compatible with the GNU ones, but I don't think sed was one of them. Anyway, I noticed that your suggested command: /usr/bin/sed -f ./ppl-config.sed >ppl-config.h made little sense, so I dug in the Makefile, realized that you meant something like: /usr/bin/sed -f ./ppl-config.sed config.h > ppl-config.h
tried that (and it worked)... Then... to make a long story short, the problem was that you are probably using some features of make that AIX make does not have (but it usually shout out loudly about them, whereas this time it was silently doing something wrong), so I tried the GNU make and that error was solved.
Unfortunately, there is another one where I'm stuck, about the privateness of a field (see make.log). I hope to not take advantage too much of your kindness, asking again for help.
Thanks Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B
On 09/19/2009 12:20 AM Enea Zaffanella wrote:
Davide Del Vento wrote:
Thanks again for your time!
I am not fluent in C++ standards, and eventually I gave up on using the IBM compiler.
I tried gcc, it configured fine, but it failed during make with the following error, and several others thereafter (see attachments for details):
globals.inlines.hh:76: error: 'PPL_SIZEOF_MP_LIMB_T' was not declared in this scope
:-(
Note that my gmp installation looked fine, and all its test passed.
Well, I am not really an expert of configuration problems ... If things were going straight, you should have a
#define SIZEOF_MP_LIMB_T ...
in file <build_path>/config.h, as well as a
#define PPL_SIZEOF_MP_LIMB_T ...
in your <build_dir>/ppl-config.h.
As far as I can see, you seems to have the first one but not the second one of those defines. Hence, I guess the problem should occur in the execution of
/usr/bin/sed -f ./ppl-config.sed >ppl-config.h
Either you are using a non-compatible version of `sed', or our script ppl-config.sed assumes something which is not generally portable.
Can you please confirm my guessing above? Which version of sed are you using?
Cheers, Enea Zaffanella.
Thanks Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B phone: (303) 497-1233
gmake all-recursive gmake[1]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2' Making all in . gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2' /usr/bin/sed -f ./ppl-config.sed config.h >ppl-config.h gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2' Making all in utils gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/utils' g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT timings.o -MD -MP -MF .deps/timings.Tpo -c -o timings.o timings.cc mv -f .deps/timings.Tpo .deps/timings.Po rm -f libppl_utils.a ar cru libppl_utils.a timings.o ranlib libppl_utils.a /usr/bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./build_header.in > build_header chmod +x build_header /usr/bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./text2cxxarray.in > text2cxxarray chmod +x text2cxxarray gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/utils' Making all in src gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/src' for file in namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ; \ do \ i="#include "$file"" ; \ ( cd ../src ; /usr/local/bin//grep -F -q "$i" namespaces.hh compiler.hh meta_programming.hh Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh Temp.inlines.hh Temp.templates.hh Coefficient_traits_template.hh Checked_Number.types.hh GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh c_streambuf.types.hh globals.types.hh iterator_to_const.types.hh distances.types.hh Interval_Info.types.hh Interval.types.hh Box.types.hh Constraint.types.hh Generator.types.hh Grid_Generator.types.hh Congruence.types.hh Init.types.hh Row.types.hh Linear_Row.types.hh Matrix.types.hh Variable.types.hh Variables_Set.types.hh Linear_Expression.types.hh Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh Constraint_System.types.hh Generator_System.types.hh Grid_Generator_System.types.hh Congruence_System.types.hh Scalar_Products.types.hh MIP_Problem.types.hh Poly_Con_Relation.types.hh Poly_Gen_Relation.types.hh BHRZ03_Certificate.types.hh H79_Certificate.types.hh Grid_Certificate.types.hh Polyhedron.types.hh C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh checked_int.inlines.hh checked_float.inlines.hh checked_mpz.inlines.hh checked_mpq.inlines.hh checked_ext.inlines.hh Checked_Number.defs.hh Checked_Number.inlines.hh Checked_Number.templates.hh checked_numeric_limits.hh GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh globals.inlines.hh math_utilities.defs.hh math_utilities.inlines.hh iterator_to_const.defs.hh iterator_to_const.inlines.hh distances.defs.hh distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh Interval_Info.inlines.hh Interval_Restriction.defs.hh Interval.defs.hh Interval.inlines.hh Interval.templates.hh Box.defs.hh Box_Status.inlines.hh Box.inlines.hh Box.templates.hh Rational_Interval.hh Rational_Box.hh Variable.defs.hh Variable.inlines.hh Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh initializer.hh Topology.hh Row.defs.hh Row.inlines.hh Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh Linear_System.defs.hh Linear_System.inlines.hh Bit_Matrix.defs.hh Bit_Matrix.inlines.hh Constraint_System.defs.hh Generator_System.defs.hh Grid_Generator_System.defs.hh Congruence_System.defs.hh Linear_Expression.defs.hh Linear_Expression.inlines.hh Constraint.defs.hh Constraint.inlines.hh Constraint_System.inlines.hh Generator.defs.hh Generator.inlines.hh Grid_Generator.defs.hh Grid_Generator.inlines.hh Congruence.defs.hh Congruence.inlines.hh Generator_System.inlines.hh Grid_Generator_System.inlines.hh Congruence_System.inlines.hh Scalar_Products.defs.hh Scalar_Products.inlines.hh MIP_Problem.defs.hh MIP_Problem.inlines.hh MIP_Problem.templates.hh Poly_Con_Relation.defs.hh Poly_Con_Relation.inlines.hh Poly_Gen_Relation.defs.hh Poly_Gen_Relation.inlines.hh BHRZ03_Certificate.defs.hh BHRZ03_Certificate.inlines.hh H79_Certificate.defs.hh H79_Certificate.inlines.hh Grid_Certificate.defs.hh Grid_Certificate.inlines.hh Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh Widening_Function.types.hh Widening_Function.defs.hh Widening_Function.inlines.hh Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh OR_Matrix.templates.hh Octagonal_Shape.defs.hh Og_Status.inlines.hh Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh Determinate.types.hh Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh Pointset_Powerset.types.hh Pointset_Powerset.defs.hh Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh Partially_Reduced_Product.types.hh Partially_Reduced_Product.defs.hh Partially_Reduced_Product.inlines.hh Partially_Reduced_Product.templates.hh max_space_dimension.hh algorithms.hh wrap.hh ) || echo "$i" ; \ done > ppl_include_files.hh ../utils/build_header \ -I .. -I ../src \ ../src/ppl_header.hh >ppl.hh ../utils/text2cxxarray --name=BUGS_array \ ../BUGS >BUGS.cc ../utils/text2cxxarray --name=COPYING_array \ ../COPYING >COPYING.cc ../utils/text2cxxarray --name=CREDITS_array \ ../CREDITS >CREDITS.cc gmake all-am gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/src' /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c -o Box.lo Box.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Box.lo -MD -MP -MF .deps/Box.Tpo -c Box.cc -DPIC -o .libs/Box.o mv -f .deps/Box.Tpo .deps/Box.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT checked.lo -MD -MP -MF .deps/checked.Tpo -c -o checked.lo checked.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT checked.lo -MD -MP -MF .deps/checked.Tpo -c checked.cc -DPIC -o .libs/checked.o mv -f .deps/checked.Tpo .deps/checked.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Checked_Number.lo -MD -MP -MF .deps/Checked_Number.Tpo -c -o Checked_Number.lo Checked_Number.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Checked_Number.lo -MD -MP -MF .deps/Checked_Number.Tpo -c Checked_Number.cc -DPIC -o .libs/Checked_Number.o mv -f .deps/Checked_Number.Tpo .deps/Checked_Number.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Float.lo -MD -MP -MF .deps/Float.Tpo -c -o Float.lo Float.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Float.lo -MD -MP -MF .deps/Float.Tpo -c Float.cc -DPIC -o .libs/Float.o mv -f .deps/Float.Tpo .deps/Float.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT fpu-ia32.lo -MD -MP -MF .deps/fpu-ia32.Tpo -c -o fpu-ia32.lo fpu-ia32.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT fpu-ia32.lo -MD -MP -MF .deps/fpu-ia32.Tpo -c fpu-ia32.cc -DPIC -o .libs/fpu-ia32.o mv -f .deps/fpu-ia32.Tpo .deps/fpu-ia32.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Constraint.lo -MD -MP -MF .deps/Constraint.Tpo -c -o Constraint.lo Constraint.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Constraint.lo -MD -MP -MF .deps/Constraint.Tpo -c Constraint.cc -DPIC -o .libs/Constraint.o mv -f .deps/Constraint.Tpo .deps/Constraint.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Constraint_System.lo -MD -MP -MF .deps/Constraint_System.Tpo -c -o Constraint_System.lo Constraint_System.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Constraint_System.lo -MD -MP -MF .deps/Constraint_System.Tpo -c Constraint_System.cc -DPIC -o .libs/Constraint_System.o mv -f .deps/Constraint_System.Tpo .deps/Constraint_System.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Congruence.lo -MD -MP -MF .deps/Congruence.Tpo -c -o Congruence.lo Congruence.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Congruence.lo -MD -MP -MF .deps/Congruence.Tpo -c Congruence.cc -DPIC -o .libs/Congruence.o mv -f .deps/Congruence.Tpo .deps/Congruence.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Congruence_System.lo -MD -MP -MF .deps/Congruence_System.Tpo -c -o Congruence_System.lo Congruence_System.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Congruence_System.lo -MD -MP -MF .deps/Congruence_System.Tpo -c Congruence_System.cc -DPIC -o .libs/Congruence_System.o mv -f .deps/Congruence_System.Tpo .deps/Congruence_System.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Generator_System.lo -MD -MP -MF .deps/Generator_System.Tpo -c -o Generator_System.lo Generator_System.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Generator_System.lo -MD -MP -MF .deps/Generator_System.Tpo -c Generator_System.cc -DPIC -o .libs/Generator_System.o mv -f .deps/Generator_System.Tpo .deps/Generator_System.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Generator_System.lo -MD -MP -MF .deps/Grid_Generator_System.Tpo -c -o Grid_Generator_System.lo Grid_Generator_System.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Generator_System.lo -MD -MP -MF .deps/Grid_Generator_System.Tpo -c Grid_Generator_System.cc -DPIC -o .libs/Grid_Generator_System.o mv -f .deps/Grid_Generator_System.Tpo .deps/Grid_Generator_System.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Generator.lo -MD -MP -MF .deps/Generator.Tpo -c -o Generator.lo Generator.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Generator.lo -MD -MP -MF .deps/Generator.Tpo -c Generator.cc -DPIC -o .libs/Generator.o mv -f .deps/Generator.Tpo .deps/Generator.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Generator.lo -MD -MP -MF .deps/Grid_Generator.Tpo -c -o Grid_Generator.lo Grid_Generator.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Generator.lo -MD -MP -MF .deps/Grid_Generator.Tpo -c Grid_Generator.cc -DPIC -o .libs/Grid_Generator.o mv -f .deps/Grid_Generator.Tpo .deps/Grid_Generator.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Init.lo -MD -MP -MF .deps/Init.Tpo -c -o Init.lo Init.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Init.lo -MD -MP -MF .deps/Init.Tpo -c Init.cc -DPIC -o .libs/Init.o mv -f .deps/Init.Tpo .deps/Init.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Coefficient.lo -MD -MP -MF .deps/Coefficient.Tpo -c -o Coefficient.lo Coefficient.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Coefficient.lo -MD -MP -MF .deps/Coefficient.Tpo -c Coefficient.cc -DPIC -o .libs/Coefficient.o mv -f .deps/Coefficient.Tpo .deps/Coefficient.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Linear_Expression.lo -MD -MP -MF .deps/Linear_Expression.Tpo -c -o Linear_Expression.lo Linear_Expression.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Linear_Expression.lo -MD -MP -MF .deps/Linear_Expression.Tpo -c Linear_Expression.cc -DPIC -o .libs/Linear_Expression.o mv -f .deps/Linear_Expression.Tpo .deps/Linear_Expression.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Linear_System.lo -MD -MP -MF .deps/Linear_System.Tpo -c -o Linear_System.lo Linear_System.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Linear_System.lo -MD -MP -MF .deps/Linear_System.Tpo -c Linear_System.cc -DPIC -o .libs/Linear_System.o mv -f .deps/Linear_System.Tpo .deps/Linear_System.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Matrix.lo -MD -MP -MF .deps/Matrix.Tpo -c -o Matrix.lo Matrix.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Matrix.lo -MD -MP -MF .deps/Matrix.Tpo -c Matrix.cc -DPIC -o .libs/Matrix.o mv -f .deps/Matrix.Tpo .deps/Matrix.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Scalar_Products.lo -MD -MP -MF .deps/Scalar_Products.Tpo -c -o Scalar_Products.lo Scalar_Products.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Scalar_Products.lo -MD -MP -MF .deps/Scalar_Products.Tpo -c Scalar_Products.cc -DPIC -o .libs/Scalar_Products.o mv -f .deps/Scalar_Products.Tpo .deps/Scalar_Products.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT MIP_Problem.lo -MD -MP -MF .deps/MIP_Problem.Tpo -c -o MIP_Problem.lo MIP_Problem.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT MIP_Problem.lo -MD -MP -MF .deps/MIP_Problem.Tpo -c MIP_Problem.cc -DPIC -o .libs/MIP_Problem.o mv -f .deps/MIP_Problem.Tpo .deps/MIP_Problem.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Poly_Con_Relation.lo -MD -MP -MF .deps/Poly_Con_Relation.Tpo -c -o Poly_Con_Relation.lo Poly_Con_Relation.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Poly_Con_Relation.lo -MD -MP -MF .deps/Poly_Con_Relation.Tpo -c Poly_Con_Relation.cc -DPIC -o .libs/Poly_Con_Relation.o mv -f .deps/Poly_Con_Relation.Tpo .deps/Poly_Con_Relation.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Poly_Gen_Relation.lo -MD -MP -MF .deps/Poly_Gen_Relation.Tpo -c -o Poly_Gen_Relation.lo Poly_Gen_Relation.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Poly_Gen_Relation.lo -MD -MP -MF .deps/Poly_Gen_Relation.Tpo -c Poly_Gen_Relation.cc -DPIC -o .libs/Poly_Gen_Relation.o mv -f .deps/Poly_Gen_Relation.Tpo .deps/Poly_Gen_Relation.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT BHRZ03_Certificate.lo -MD -MP -MF .deps/BHRZ03_Certificate.Tpo -c -o BHRZ03_Certificate.lo BHRZ03_Certificate.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT BHRZ03_Certificate.lo -MD -MP -MF .deps/BHRZ03_Certificate.Tpo -c BHRZ03_Certificate.cc -DPIC -o .libs/BHRZ03_Certificate.o mv -f .deps/BHRZ03_Certificate.Tpo .deps/BHRZ03_Certificate.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT H79_Certificate.lo -MD -MP -MF .deps/H79_Certificate.Tpo -c -o H79_Certificate.lo H79_Certificate.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT H79_Certificate.lo -MD -MP -MF .deps/H79_Certificate.Tpo -c H79_Certificate.cc -DPIC -o .libs/H79_Certificate.o mv -f .deps/H79_Certificate.Tpo .deps/H79_Certificate.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Certificate.lo -MD -MP -MF .deps/Grid_Certificate.Tpo -c -o Grid_Certificate.lo Grid_Certificate.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Certificate.lo -MD -MP -MF .deps/Grid_Certificate.Tpo -c Grid_Certificate.cc -DPIC -o .libs/Grid_Certificate.o mv -f .deps/Grid_Certificate.Tpo .deps/Grid_Certificate.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_nonpublic.lo -MD -MP -MF .deps/Polyhedron_nonpublic.Tpo -c -o Polyhedron_nonpublic.lo Polyhedron_nonpublic.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_nonpublic.lo -MD -MP -MF .deps/Polyhedron_nonpublic.Tpo -c Polyhedron_nonpublic.cc -DPIC -o .libs/Polyhedron_nonpublic.o mv -f .deps/Polyhedron_nonpublic.Tpo .deps/Polyhedron_nonpublic.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_public.lo -MD -MP -MF .deps/Polyhedron_public.Tpo -c -o Polyhedron_public.lo Polyhedron_public.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_public.lo -MD -MP -MF .deps/Polyhedron_public.Tpo -c Polyhedron_public.cc -DPIC -o .libs/Polyhedron_public.o mv -f .deps/Polyhedron_public.Tpo .deps/Polyhedron_public.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_chdims.lo -MD -MP -MF .deps/Polyhedron_chdims.Tpo -c -o Polyhedron_chdims.lo Polyhedron_chdims.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_chdims.lo -MD -MP -MF .deps/Polyhedron_chdims.Tpo -c Polyhedron_chdims.cc -DPIC -o .libs/Polyhedron_chdims.o mv -f .deps/Polyhedron_chdims.Tpo .deps/Polyhedron_chdims.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_widenings.lo -MD -MP -MF .deps/Polyhedron_widenings.Tpo -c -o Polyhedron_widenings.lo Polyhedron_widenings.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Polyhedron_widenings.lo -MD -MP -MF .deps/Polyhedron_widenings.Tpo -c Polyhedron_widenings.cc -DPIC -o .libs/Polyhedron_widenings.o mv -f .deps/Polyhedron_widenings.Tpo .deps/Polyhedron_widenings.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT C_Polyhedron.lo -MD -MP -MF .deps/C_Polyhedron.Tpo -c -o C_Polyhedron.lo C_Polyhedron.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT C_Polyhedron.lo -MD -MP -MF .deps/C_Polyhedron.Tpo -c C_Polyhedron.cc -DPIC -o .libs/C_Polyhedron.o mv -f .deps/C_Polyhedron.Tpo .deps/C_Polyhedron.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT NNC_Polyhedron.lo -MD -MP -MF .deps/NNC_Polyhedron.Tpo -c -o NNC_Polyhedron.lo NNC_Polyhedron.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT NNC_Polyhedron.lo -MD -MP -MF .deps/NNC_Polyhedron.Tpo -c NNC_Polyhedron.cc -DPIC -o .libs/NNC_Polyhedron.o mv -f .deps/NNC_Polyhedron.Tpo .deps/NNC_Polyhedron.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_nonpublic.lo -MD -MP -MF .deps/Grid_nonpublic.Tpo -c -o Grid_nonpublic.lo Grid_nonpublic.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_nonpublic.lo -MD -MP -MF .deps/Grid_nonpublic.Tpo -c Grid_nonpublic.cc -DPIC -o .libs/Grid_nonpublic.o mv -f .deps/Grid_nonpublic.Tpo .deps/Grid_nonpublic.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_public.lo -MD -MP -MF .deps/Grid_public.Tpo -c -o Grid_public.lo Grid_public.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_public.lo -MD -MP -MF .deps/Grid_public.Tpo -c Grid_public.cc -DPIC -o .libs/Grid_public.o mv -f .deps/Grid_public.Tpo .deps/Grid_public.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_chdims.lo -MD -MP -MF .deps/Grid_chdims.Tpo -c -o Grid_chdims.lo Grid_chdims.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_chdims.lo -MD -MP -MF .deps/Grid_chdims.Tpo -c Grid_chdims.cc -DPIC -o .libs/Grid_chdims.o mv -f .deps/Grid_chdims.Tpo .deps/Grid_chdims.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_widenings.lo -MD -MP -MF .deps/Grid_widenings.Tpo -c -o Grid_widenings.lo Grid_widenings.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_widenings.lo -MD -MP -MF .deps/Grid_widenings.Tpo -c Grid_widenings.cc -DPIC -o .libs/Grid_widenings.o mv -f .deps/Grid_widenings.Tpo .deps/Grid_widenings.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT BD_Shape.lo -MD -MP -MF .deps/BD_Shape.Tpo -c -o BD_Shape.lo BD_Shape.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT BD_Shape.lo -MD -MP -MF .deps/BD_Shape.Tpo -c BD_Shape.cc -DPIC -o .libs/BD_Shape.o mv -f .deps/BD_Shape.Tpo .deps/BD_Shape.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Octagonal_Shape.lo -MD -MP -MF .deps/Octagonal_Shape.Tpo -c -o Octagonal_Shape.lo Octagonal_Shape.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Octagonal_Shape.lo -MD -MP -MF .deps/Octagonal_Shape.Tpo -c Octagonal_Shape.cc -DPIC -o .libs/Octagonal_Shape.o mv -f .deps/Octagonal_Shape.Tpo .deps/Octagonal_Shape.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Pointset_Powerset.lo -MD -MP -MF .deps/Pointset_Powerset.Tpo -c -o Pointset_Powerset.lo Pointset_Powerset.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Pointset_Powerset.lo -MD -MP -MF .deps/Pointset_Powerset.Tpo -c Pointset_Powerset.cc -DPIC -o .libs/Pointset_Powerset.o mv -f .deps/Pointset_Powerset.Tpo .deps/Pointset_Powerset.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Row.lo -MD -MP -MF .deps/Row.Tpo -c -o Row.lo Row.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Row.lo -MD -MP -MF .deps/Row.Tpo -c Row.cc -DPIC -o .libs/Row.o mv -f .deps/Row.Tpo .deps/Row.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Linear_Row.lo -MD -MP -MF .deps/Linear_Row.Tpo -c -o Linear_Row.lo Linear_Row.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Linear_Row.lo -MD -MP -MF .deps/Linear_Row.Tpo -c Linear_Row.cc -DPIC -o .libs/Linear_Row.o mv -f .deps/Linear_Row.Tpo .deps/Linear_Row.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Bit_Matrix.lo -MD -MP -MF .deps/Bit_Matrix.Tpo -c -o Bit_Matrix.lo Bit_Matrix.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Bit_Matrix.lo -MD -MP -MF .deps/Bit_Matrix.Tpo -c Bit_Matrix.cc -DPIC -o .libs/Bit_Matrix.o mv -f .deps/Bit_Matrix.Tpo .deps/Bit_Matrix.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Bit_Row.lo -MD -MP -MF .deps/Bit_Row.Tpo -c -o Bit_Row.lo Bit_Row.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Bit_Row.lo -MD -MP -MF .deps/Bit_Row.Tpo -c Bit_Row.cc -DPIC -o .libs/Bit_Row.o mv -f .deps/Bit_Row.Tpo .deps/Bit_Row.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Ph_Status.lo -MD -MP -MF .deps/Ph_Status.Tpo -c -o Ph_Status.lo Ph_Status.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Ph_Status.lo -MD -MP -MF .deps/Ph_Status.Tpo -c Ph_Status.cc -DPIC -o .libs/Ph_Status.o mv -f .deps/Ph_Status.Tpo .deps/Ph_Status.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Status.lo -MD -MP -MF .deps/Grid_Status.Tpo -c -o Grid_Status.lo Grid_Status.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_Status.lo -MD -MP -MF .deps/Grid_Status.Tpo -c Grid_Status.cc -DPIC -o .libs/Grid_Status.o mv -f .deps/Grid_Status.Tpo .deps/Grid_Status.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Variable.lo -MD -MP -MF .deps/Variable.Tpo -c -o Variable.lo Variable.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Variable.lo -MD -MP -MF .deps/Variable.Tpo -c Variable.cc -DPIC -o .libs/Variable.o mv -f .deps/Variable.Tpo .deps/Variable.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Variables_Set.lo -MD -MP -MF .deps/Variables_Set.Tpo -c -o Variables_Set.lo Variables_Set.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Variables_Set.lo -MD -MP -MF .deps/Variables_Set.Tpo -c Variables_Set.cc -DPIC -o .libs/Variables_Set.o mv -f .deps/Variables_Set.Tpo .deps/Variables_Set.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT conversion.lo -MD -MP -MF .deps/conversion.Tpo -c -o conversion.lo conversion.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT conversion.lo -MD -MP -MF .deps/conversion.Tpo -c conversion.cc -DPIC -o .libs/conversion.o mv -f .deps/conversion.Tpo .deps/conversion.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT minimize.lo -MD -MP -MF .deps/minimize.Tpo -c -o minimize.lo minimize.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT minimize.lo -MD -MP -MF .deps/minimize.Tpo -c minimize.cc -DPIC -o .libs/minimize.o mv -f .deps/minimize.Tpo .deps/minimize.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT simplify.lo -MD -MP -MF .deps/simplify.Tpo -c -o simplify.lo simplify.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT simplify.lo -MD -MP -MF .deps/simplify.Tpo -c simplify.cc -DPIC -o .libs/simplify.o mv -f .deps/simplify.Tpo .deps/simplify.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_conversion.lo -MD -MP -MF .deps/Grid_conversion.Tpo -c -o Grid_conversion.lo Grid_conversion.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_conversion.lo -MD -MP -MF .deps/Grid_conversion.Tpo -c Grid_conversion.cc -DPIC -o .libs/Grid_conversion.o mv -f .deps/Grid_conversion.Tpo .deps/Grid_conversion.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_simplify.lo -MD -MP -MF .deps/Grid_simplify.Tpo -c -o Grid_simplify.lo Grid_simplify.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT Grid_simplify.lo -MD -MP -MF .deps/Grid_simplify.Tpo -c Grid_simplify.cc -DPIC -o .libs/Grid_simplify.o mv -f .deps/Grid_simplify.Tpo .deps/Grid_simplify.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT stdiobuf.lo -MD -MP -MF .deps/stdiobuf.Tpo -c -o stdiobuf.lo stdiobuf.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT stdiobuf.lo -MD -MP -MF .deps/stdiobuf.Tpo -c stdiobuf.cc -DPIC -o .libs/stdiobuf.o mv -f .deps/stdiobuf.Tpo .deps/stdiobuf.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT c_streambuf.lo -MD -MP -MF .deps/c_streambuf.Tpo -c -o c_streambuf.lo c_streambuf.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT c_streambuf.lo -MD -MP -MF .deps/c_streambuf.Tpo -c c_streambuf.cc -DPIC -o .libs/c_streambuf.o mv -f .deps/c_streambuf.Tpo .deps/c_streambuf.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT globals.lo -MD -MP -MF .deps/globals.Tpo -c -o globals.lo globals.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT globals.lo -MD -MP -MF .deps/globals.Tpo -c globals.cc -DPIC -o .libs/globals.o mv -f .deps/globals.Tpo .deps/globals.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT mp_std_bits.lo -MD -MP -MF .deps/mp_std_bits.Tpo -c -o mp_std_bits.lo mp_std_bits.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT mp_std_bits.lo -MD -MP -MF .deps/mp_std_bits.Tpo -c mp_std_bits.cc -DPIC -o .libs/mp_std_bits.o mv -f .deps/mp_std_bits.Tpo .deps/mp_std_bits.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT version.lo -MD -MP -MF .deps/version.Tpo -c -o version.lo version.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT version.lo -MD -MP -MF .deps/version.Tpo -c version.cc -DPIC -o .libs/version.o mv -f .deps/version.Tpo .deps/version.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT wrap.lo -MD -MP -MF .deps/wrap.Tpo -c -o wrap.lo wrap.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT wrap.lo -MD -MP -MF .deps/wrap.Tpo -c wrap.cc -DPIC -o .libs/wrap.o mv -f .deps/wrap.Tpo .deps/wrap.Plo /bin/sh ../libtool --tag=CXX --mode=link g++ -maix64 -g -O2 -frounding-math -fexceptions -W -Wall -version-info 8:0:1 -o libppl.la -rpath /contrib/ppl-0.10.2-gcc/lib Box.lo checked.lo Checked_Number.lo Float.lo fpu-ia32.lo Constraint.lo Constraint_System.lo Congruence.lo Congruence_System.lo Generator_System.lo Grid_Generator_System.lo Generator.lo Grid_Generator.lo Init.lo Coefficient.lo Linear_Expression.lo Linear_System.lo Matrix.lo Scalar_Products.lo MIP_Problem.lo Poly_Con_Relation.lo Poly_Gen_Relation.lo BHRZ03_Certificate.lo H79_Certificate.lo Grid_Certificate.lo Polyhedron_nonpublic.lo Polyhedron_public.lo Polyhedron_chdims.lo Polyhedron_widenings.lo C_Polyhedron.lo NNC_Polyhedron.lo Grid_nonpublic.lo Grid_public.lo Grid_chdims.lo Grid_widenings.lo BD_Shape.lo Octagonal_Shape.lo Pointset_Powerset.lo Row.lo Linear_Row.lo Bit_Matrix.lo Bit_Row.lo Ph_Status.lo Grid_Status.lo Variable.lo Variables_Set.lo conversion.lo minimize.lo simplify.lo Grid_conversion.lo Grid_simplify.lo stdiobuf.lo c_streambuf.lo globals.lo mp_std_bits.lo version.lo wrap.lo -lm -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmpxx -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmp libtool: link: /usr/bin/nm -B -BCpg .libs/Box.o .libs/checked.o .libs/Checked_Number.o .libs/Float.o .libs/fpu-ia32.o .libs/Constraint.o .libs/Constraint_System.o .libs/Congruence.o .libs/Congruence_System.o .libs/Generator_System.o .libs/Grid_Generator_System.o .libs/Generator.o .libs/Grid_Generator.o .libs/Init.o .libs/Coefficient.o .libs/Linear_Expression.o .libs/Linear_System.o .libs/Matrix.o .libs/Scalar_Products.o .libs/MIP_Problem.o .libs/Poly_Con_Relation.o .libs/Poly_Gen_Relation.o .libs/BHRZ03_Certificate.o .libs/H79_Certificate.o .libs/Grid_Certificate.o .libs/Polyhedron_nonpublic.o .libs/Polyhedron_public.o .libs/Polyhedron_chdims.o .libs/Polyhedron_widenings.o .libs/C_Polyhedron.o .libs/NNC_Polyhedron.o .libs/Grid_nonpublic.o .libs/Grid_public.o .libs/Grid_chdims.o .libs/Grid_widenings.o .libs/BD_Shape.o .libs/Octagonal_Shape.o .libs/Pointset_Powerset.o .libs/Row.o .libs/Linear_Row.o .libs/Bit_Matrix.o .libs/Bit_Row.o .libs/Ph_Status.o .libs/Grid_Status.o .libs/Variable.o .libs/Variables_Set.o .libs/conversion.o .libs/minimize.o .libs/simplify.o .libs/Grid_conversion.o .libs/Grid_simplify.o .libs/stdiobuf.o .libs/c_streambuf.o .libs/globals.o .libs/mp_std_bits.o .libs/version.o .libs/wrap.o | awk '{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && (substr($ 3,1,1) != ".")) { print $ 3 } }' | sort -u > .libs/libppl.exp libtool: link: g++ -maix64 -shared -o .libs/libppl.so.7 .libs/Box.o .libs/checked.o .libs/Checked_Number.o .libs/Float.o .libs/fpu-ia32.o .libs/Constraint.o .libs/Constraint_System.o .libs/Congruence.o .libs/Congruence_System.o .libs/Generator_System.o .libs/Grid_Generator_System.o .libs/Generator.o .libs/Grid_Generator.o .libs/Init.o .libs/Coefficient.o .libs/Linear_Expression.o .libs/Linear_System.o .libs/Matrix.o .libs/Scalar_Products.o .libs/MIP_Problem.o .libs/Poly_Con_Relation.o .libs/Poly_Gen_Relation.o .libs/BHRZ03_Certificate.o .libs/H79_Certificate.o .libs/Grid_Certificate.o .libs/Polyhedron_nonpublic.o .libs/Polyhedron_public.o .libs/Polyhedron_chdims.o .libs/Polyhedron_widenings.o .libs/C_Polyhedron.o .libs/NNC_Polyhedron.o .libs/Grid_nonpublic.o .libs/Grid_public.o .libs/Grid_chdims.o .libs/Grid_widenings.o .libs/BD_Shape.o .libs/Octagonal_Shape.o .libs/Pointset_Powerset.o .libs/Row.o .libs/Linear_Row.o .libs/Bit_Matrix.o .libs/Bit_Row.o .libs/Ph_Status.o .libs/Grid_Status.o .libs/Variable.o .libs/Variables_Set.o .libs/conversion.o .libs/minimize.o .libs/simplify.o .libs/Grid_conversion.o .libs/Grid_simplify.o .libs/stdiobuf.o .libs/c_streambuf.o .libs/globals.o .libs/mp_std_bits.o .libs/version.o .libs/wrap.o -Wl,-blibpath:/ptmp/ddvento/install/milepost/install-gmp/lib:/usr/local/lib/ppc64:/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/ppc64:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../ppc64:/usr/lib:/lib -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/ddvento/install/milepost/install-gmp/lib -lgmpxx -L/usr/local/lib/ppc64 -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -lgmp -L/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/ppc64 -L/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../ppc64 -lstdc++ -lm -lc -lgcc_s -Wl,-bnoentry -maix64 -Wl,-bE:.libs/libppl.exp -Wl,-berok libtool: link: ar cru .libs/libppl.a .libs/libppl.so.7 libtool: link: ( cd ".libs" && rm -f "libppl.la" && ln -s "../libppl.la" "libppl.la" ) g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT BUGS.o -MD -MP -MF .deps/BUGS.Tpo -c -o BUGS.o BUGS.cc mv -f .deps/BUGS.Tpo .deps/BUGS.Po g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT COPYING.o -MD -MP -MF .deps/COPYING.Tpo -c -o COPYING.o COPYING.cc mv -f .deps/COPYING.Tpo .deps/COPYING.Po g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT CREDITS.o -MD -MP -MF .deps/CREDITS.Tpo -c -o CREDITS.o CREDITS.cc mv -f .deps/CREDITS.Tpo .deps/CREDITS.Po g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT ppl-config.o -MD -MP -MF .deps/ppl-config.Tpo -c -o ppl-config.o ppl-config.cc In file included from ppl-config.cc:24: ppl.hh:76401:9: warning: undefining "__STDC_LIMIT_MACROS" mv -f .deps/ppl-config.Tpo .deps/ppl-config.Po /bin/sh ../libtool --tag=CXX --mode=link g++ -maix64 -g -O2 -frounding-math -fexceptions -W -Wall -o ppl-config BUGS.o COPYING.o CREDITS.o ppl-config.o libppl.la libtool: link: g++ -maix64 -g -O2 -frounding-math -fexceptions -W -Wall -o .libs/ppl-config BUGS.o COPYING.o CREDITS.o ppl-config.o -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L./.libs -lppl -L/ptmp/ddvento/install/milepost/install-gmp/lib -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -lgmpxx -L/usr/local/lib/ppc64 -lgmp -lstdc++ -lm -lc -lgcc_s -Wl,-blibpath:/contrib/ppl-0.10.2-gcc/lib:/ptmp/ddvento/install/milepost/install-gmp/lib:/usr/local/lib/ppc64:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/ppc64:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../ppc64:/usr/lib:/lib ld: 0711-224 WARNING: Duplicate symbol: .__divti3 ld: 0711-224 WARNING: Duplicate symbol: .__modti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivti3 ld: 0711-224 WARNING: Duplicate symbol: .__umodti3 ld: 0711-224 WARNING: Duplicate symbol: .__udivmodti4 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/src' gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/src' Making all in Watchdog gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog' gmake all-recursive gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog' Making all in . gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog' /usr/bin/sed -f ./pwl-config.sed config.h >pwl-config.h gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog' Making all in m4 gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/m4' gmake[4]: Nothing to be done for `all'. gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/m4' Making all in utils gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/utils' /usr/bin/sed -e 's,[@]PERL[@],/usr/bin/perl,g' -e 's,[@]generated_automatically[@],Generated automatically: do not modify; modify the .in file instead.,g' < ./build_header.in > build_header chmod +x build_header gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/utils' Making all in src gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/src' rm -f pwl_include_files.hh for file in Doubly_Linked_Object.types.hh EList.types.hh EList_Iterator.types.hh Handler.types.hh Pending_Element.types.hh Pending_List.types.hh Time.types.hh Watchdog.types.hh Handler.defs.hh Handler.inlines.hh Time.defs.hh Time.inlines.hh Doubly_Linked_Object.defs.hh Doubly_Linked_Object.inlines.hh EList_Iterator.defs.hh EList_Iterator.inlines.hh EList.defs.hh EList.inlines.hh Pending_Element.defs.hh Pending_Element.inlines.hh Pending_List.defs.hh Pending_List.inlines.hh Watchdog.defs.hh Watchdog.inlines.hh; \ do \ printf "#include "%s"\n" $file >>pwl_include_files.hh; \ done ../utils/build_header \ -I .. -I ../src \ ../src/pwl_header.hh >pwl.hh gmake all-am gmake[5]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/src' /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Pending_Element.lo -MD -MP -MF .deps/Pending_Element.Tpo -c -o Pending_Element.lo Pending_Element.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Pending_Element.lo -MD -MP -MF .deps/Pending_Element.Tpo -c Pending_Element.cc -DPIC -o .libs/Pending_Element.o mv -f .deps/Pending_Element.Tpo .deps/Pending_Element.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Pending_List.lo -MD -MP -MF .deps/Pending_List.Tpo -c -o Pending_List.lo Pending_List.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Pending_List.lo -MD -MP -MF .deps/Pending_List.Tpo -c Pending_List.cc -DPIC -o .libs/Pending_List.o mv -f .deps/Pending_List.Tpo .deps/Pending_List.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Time.lo -MD -MP -MF .deps/Time.Tpo -c -o Time.lo Time.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Time.lo -MD -MP -MF .deps/Time.Tpo -c Time.cc -DPIC -o .libs/Time.o mv -f .deps/Time.Tpo .deps/Time.Plo /bin/sh ../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Watchdog.lo -MD -MP -MF .deps/Watchdog.Tpo -c -o Watchdog.lo Watchdog.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I.. -fexceptions -g -O2 -fexceptions -W -Wall -MT Watchdog.lo -MD -MP -MF .deps/Watchdog.Tpo -c Watchdog.cc -DPIC -o .libs/Watchdog.o mv -f .deps/Watchdog.Tpo .deps/Watchdog.Plo /bin/sh ../libtool --tag=CXX --mode=link g++ -maix64 -g -O2 -fexceptions -W -Wall -version-info 4:0:0 -o libpwl.la -rpath /contrib/ppl-0.10.2-gcc/lib Pending_Element.lo Pending_List.lo Time.lo Watchdog.lo libtool: link: /usr/bin/nm -B -BCpg .libs/Pending_Element.o .libs/Pending_List.o .libs/Time.o .libs/Watchdog.o | awk '{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && (substr($ 3,1,1) != ".")) { print $ 3 } }' | sort -u > .libs/libpwl.exp libtool: link: g++ -maix64 -shared -o .libs/libpwl.so.4 .libs/Pending_Element.o .libs/Pending_List.o .libs/Time.o .libs/Watchdog.o -Wl,-blibpath:/usr/local/lib/ppc64:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/ppc64:/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../ppc64:/usr/lib:/lib -L/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/ppc64 -L/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../ppc64 -L/usr/local/lib/ppc64 -lstdc++ -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src -L/ptmp/jeph/gcc_build/powerpc-ibm-aix5.3.0.0/ppc64/libstdc++-v3/src/.libs -L/ptmp/jeph/gcc_build/./gcc/ppc64 -L/usr/local/lib -lm -lc -lgcc_s -Wl,-bnoentry -maix64 -Wl,-bE:.libs/libpwl.exp -Wl,-berok libtool: link: ar cru .libs/libpwl.a .libs/libpwl.so.4 libtool: link: ( cd ".libs" && rm -f "libpwl.la" && ln -s "../libpwl.la" "libpwl.la" ) gmake[5]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/src' gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/src' Making all in tests gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/tests' gmake[4]: Nothing to be done for `all'. gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/tests' Making all in doc gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/doc' gmake[4]: Nothing to be done for `all'. gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog/doc' gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog' gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/Watchdog' Making all in tests gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests' Making all in . gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests' gmake[3]: Nothing to be done for `all-am'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests' Making all in Powerset gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Powerset' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Powerset' Making all in Partially_Reduced_Product gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Partially_Reduced_Product' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Partially_Reduced_Product' Making all in Box gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Box' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Box' Making all in MIP_Problem gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/MIP_Problem' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/MIP_Problem' Making all in Octagonal_Shape gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Octagonal_Shape' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Octagonal_Shape' Making all in BD_Shape gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/BD_Shape' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/BD_Shape' Making all in Polyhedron gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Polyhedron' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Polyhedron' Making all in Grid gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Grid' gmake[3]: Nothing to be done for `all'. gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests/Grid' gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/tests' Making all in interfaces gmake[2]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces' echo "m4_define(`m4_interface_classes_names', `Polyhedron@Grid@Rational_Box@BD_Shape_mpz_class@BD_Shape_mpq_class@Octagonal_Shape_mpz_class@Octagonal_Shape_mpq_class@Constraints_Product_C_Polyhedron_Grid@Pointset_Powerset_C_Polyhedron@Pointset_Powerset_NNC_Polyhedron')" > ppl_interface_instantiations.m4 echo "m4_define(`m4_cplusplus_classes_names', `Polyhedron@Grid@Rational_Box@BD_Shape<mpz_class>@BD_Shape<mpq_class>@Octagonal_Shape<mpz_class>@Octagonal_Shape<mpq_class>@Constraints_Product<C_Polyhedron,Grid>@Pointset_Powerset<C_Polyhedron>@Pointset_Powerset<NNC_Polyhedron>')" >> ppl_interface_instantiations.m4 gmake all-recursive gmake[3]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces' Making all in . gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces' gmake[4]: Nothing to be done for `all-am'. gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces' Making all in C gmake[4]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces/C' /usr/local/bin//m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_c_h.m4 > ppl_c_domains.h ../../utils/build_header \ -I ../../interfaces/C -I ../../src \ ../../interfaces/C/ppl_c_header.h >ppl_c.h /usr/local/bin//m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_c_hh_files.m4 \ > ppl_c_hh_blob ../../utils/cm_cleaner.sh < ppl_c_hh_blob ../../utils/cm_splitter.sh < ppl_c_hh_blob rm -f ppl_c_hh_blob /usr/local/bin//m4 --prefix-builtin -I.. -I. -I./.. \ ./ppl_interface_generator_c_cc_files.m4 \ > ppl_c_cc_blob ../../utils/cm_cleaner.sh < ppl_c_cc_blob ../../utils/cm_splitter.sh < ppl_c_cc_blob rm -f ppl_c_cc_blob echo timestamp >ppl_c_implementation_domains.cc.stamp gmake all-recursive gmake[5]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces/C' Making all in . gmake[6]: Entering directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces/C' /bin/sh ../../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT ppl_c_implementation_common.lo -MD -MP -MF .deps/ppl_c_implementation_common.Tpo -c -o ppl_c_implementation_common.lo ppl_c_implementation_common.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT ppl_c_implementation_common.lo -MD -MP -MF .deps/ppl_c_implementation_common.Tpo -c ppl_c_implementation_common.cc -DPIC -o .libs/ppl_c_implementation_common.o In file included from ppl_c_implementation_common.defs.hh:27, from ppl_c_implementation_common.cc:25: ../../src/ppl.hh:76401:9: warning: undefining "__STDC_LIMIT_MACROS" mv -f .deps/ppl_c_implementation_common.Tpo .deps/ppl_c_implementation_common.Plo /bin/sh ../../libtool --tag=CXX --mode=compile g++ -maix64 -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT ppl_c_Polyhedron.lo -MD -MP -MF .deps/ppl_c_Polyhedron.Tpo -c -o ppl_c_Polyhedron.lo ppl_c_Polyhedron.cc libtool: compile: g++ -maix64 -DHAVE_CONFIG_H -I. -I../.. -I../../interfaces -I../../interfaces/C -I../../src -fexceptions -I/ptmp/ddvento/install/milepost/install-gmp/include -g -O2 -frounding-math -fexceptions -W -Wall -MT ppl_c_Polyhedron.lo -MD -MP -MF .deps/ppl_c_Polyhedron.Tpo -c ppl_c_Polyhedron.cc -DPIC -o .libs/ppl_c_Polyhedron.o In file included from ppl_c_implementation_common.defs.hh:27, from ppl_c_Polyhedron.cc:23: ../../src/ppl.hh:76401:9: warning: undefining "__STDC_LIMIT_MACROS" ../../src/ppl.hh: In member function 'typename Parma_Polyhedra_Library::OR_Matrix<T>::any_row_iterator<U>& Parma_Polyhedra_Library::OR_Matrix<T>::any_row_iterator<U>::operator++() [with U = const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>, T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]': ../../src/ppl.hh:56853: instantiated from 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Octagonal_Shape<T>::constraints() const [with T = __gmp_expr<__mpz_struct [1], __mpz_struct [1]>]' ../../src/ppl.hh:29716: instantiated from 'Parma_Polyhedra_Library::C_Polyhedron::C_Polyhedron(const Parma_Polyhedra_Library::Octagonal_Shape<U>&, Parma_Polyhedra_Library::Complexity_Class) [with U = __gmp_expr<__mpz_struct [1], __mpz_struct [1]>]' ppl_c_Polyhedron.cc:203: instantiated from here ../../src/ppl.hh:46573: error: 'const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>* Parma_Polyhedra_Library::OR_Matrix<Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy> >::Pseudo_Row<const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy> >::first' is private ../../src/ppl.hh:47201: error: within this context ../../src/ppl.hh: In member function 'typename Parma_Polyhedra_Library::OR_Matrix<T>::any_row_iterator<U>& Parma_Polyhedra_Library::OR_Matrix<T>::any_row_iterator<U>::operator++() [with U = const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>, T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]': ../../src/ppl.hh:56853: instantiated from 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Octagonal_Shape<T>::constraints() const [with T = __gmp_expr<__mpq_struct [1], __mpq_struct [1]>]' ../../src/ppl.hh:29716: instantiated from 'Parma_Polyhedra_Library::C_Polyhedron::C_Polyhedron(const Parma_Polyhedra_Library::Octagonal_Shape<U>&, Parma_Polyhedra_Library::Complexity_Class) [with U = __gmp_expr<__mpq_struct [1], __mpq_struct [1]>]' ppl_c_Polyhedron.cc:225: instantiated from here ../../src/ppl.hh:46573: error: 'const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>* Parma_Polyhedra_Library::OR_Matrix<Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy> >::Pseudo_Row<const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy> >::first' is private ../../src/ppl.hh:47201: error: within this context ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::OR_Matrix<T>::any_row_iterator<U>::any_row_iterator(U&) [with U = const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>, T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]': ../../src/ppl.hh:47363: instantiated from 'typename Parma_Polyhedra_Library::OR_Matrix<T>::const_row_iterator Parma_Polyhedra_Library::OR_Matrix<T>::row_begin() const [with T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]' ../../src/ppl.hh:56842: instantiated from 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Octagonal_Shape<T>::constraints() const [with T = __gmp_expr<__mpz_struct [1], __mpz_struct [1]>]' ../../src/ppl.hh:29716: instantiated from 'Parma_Polyhedra_Library::C_Polyhedron::C_Polyhedron(const Parma_Polyhedra_Library::Octagonal_Shape<U>&, Parma_Polyhedra_Library::Complexity_Class) [with U = __gmp_expr<__mpz_struct [1], __mpz_struct [1]>]' ppl_c_Polyhedron.cc:203: instantiated from here ../../src/ppl.hh:47076: error: 'Parma_Polyhedra_Library::OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(U&) [with U = const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>, T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpz_struct [1], __mpz_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]' is private ../../src/ppl.hh:47148: error: within this context ../../src/ppl.hh: In constructor 'Parma_Polyhedra_Library::OR_Matrix<T>::any_row_iterator<U>::any_row_iterator(U&) [with U = const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>, T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]': ../../src/ppl.hh:47363: instantiated from 'typename Parma_Polyhedra_Library::OR_Matrix<T>::const_row_iterator Parma_Polyhedra_Library::OR_Matrix<T>::row_begin() const [with T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]' ../../src/ppl.hh:56842: instantiated from 'Parma_Polyhedra_Library::Constraint_System Parma_Polyhedra_Library::Octagonal_Shape<T>::constraints() const [with T = __gmp_expr<__mpq_struct [1], __mpq_struct [1]>]' ../../src/ppl.hh:29716: instantiated from 'Parma_Polyhedra_Library::C_Polyhedron::C_Polyhedron(const Parma_Polyhedra_Library::Octagonal_Shape<U>&, Parma_Polyhedra_Library::Complexity_Class) [with U = __gmp_expr<__mpq_struct [1], __mpq_struct [1]>]' ppl_c_Polyhedron.cc:225: instantiated from here ../../src/ppl.hh:47076: error: 'Parma_Polyhedra_Library::OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(U&) [with U = const Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>, T = Parma_Polyhedra_Library::Checked_Number<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::WRD_Extended_Number_Policy>]' is private ../../src/ppl.hh:47148: error: within this context gmake[6]: *** [ppl_c_Polyhedron.lo] Error 1 gmake[6]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces/C' gmake[5]: *** [all-recursive] Error 1 gmake[5]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces/C' gmake[4]: *** [all] Error 2 gmake[4]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces/C' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2/interfaces' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/ptmp/ddvento/install/ppl-0.10.2' gmake: *** [all] Error 2

Davide Del Vento wrote:
Unfortunately, there is another one where I'm stuck, about the privateness of a field (see make.log).
Hi Davide,
which version of GCC are you using? In order to compile the PPL you need at least 4.0.3.
I hope to not take advantage too much of your kindness, asking again for help.
Don't worry. Cheers,
Roberto

I'm using 4.1.1
Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B
On 09/24/2009 02:03 AM Roberto Bagnara wrote:
Davide Del Vento wrote:
Unfortunately, there is another one where I'm stuck, about the privateness of a field (see make.log).
Hi Davide,
which version of GCC are you using? In order to compile the PPL you need at least 4.0.3.
I hope to not take advantage too much of your kindness, asking again for help.
Don't worry. Cheers,
Roberto

Davide Del Vento wrote:
I'm using 4.1.1
Hi Davide,
sorry for the delay. This is very strange indeed and I am not able to reproduce it here. I would try to upgrade GCC further, just in case. Cheers,
Roberto
Davide Del Vento, Consulting Services Software Engineer NCAR Computational & Information Services Laboratory http://www.cisl.ucar.edu/hss/csg/ office: Mesa Lab, Room 42B
On 09/24/2009 02:03 AM Roberto Bagnara wrote:
Davide Del Vento wrote:
Unfortunately, there is another one where I'm stuck, about the privateness of a field (see make.log).
Hi Davide,
which version of GCC are you using? In order to compile the PPL you need at least 4.0.3.
I hope to not take advantage too much of your kindness, asking again for help.
Don't worry. Cheers,
Roberto
PPL-devel mailing list PPL-devel@cs.unipr.it http://www.cs.unipr.it/mailman/listinfo/ppl-devel
participants (3)
-
Davide Del Vento
-
Enea Zaffanella
-
Roberto Bagnara