Files
calculet-npu-research-archive/source/repositories-complete/systemc-exact/systemc/objdir/config.log
T

4517 lines
151 KiB
Plaintext

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by SystemC configure 2.3.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ ../configure CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=1 CXX=g++ --no-create --no-recursion
## --------- ##
## Platform. ##
## --------- ##
hostname = 98ec94af8abc
uname -m = x86_64
uname -r = 4.18.0-553.el8_10.x86_64
uname -s = Linux
uname -v = #1 SMP Fri May 24 08:32:12 EDT 2024
/usr/bin/uname -p = x86_64
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin/
PATH: /usr/local/bin/
PATH: /usr/sbin/
PATH: /usr/bin/
PATH: /sbin/
PATH: /bin/
PATH: /home/user1/env/miniconda3/bin/
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2792: looking for aux files: ltmain.sh ar-lib compile missing install-sh config.guess config.sub
configure:2805: trying ../config/
configure:2834: ../config/ltmain.sh found
configure:2834: ../config/ar-lib found
configure:2834: ../config/compile found
configure:2834: ../config/missing found
configure:2816: ../config/install-sh found
configure:2834: ../config/config.guess found
configure:2834: ../config/config.sub found
configure:2959: checking build system type
configure:2974: result: x86_64-unknown-linux-gnu
configure:2994: checking host system type
configure:3008: result: x86_64-unknown-linux-gnu
configure:3028: checking target system type
configure:3042: result: x86_64-unknown-linux-gnu
configure:3086: checking for a BSD-compatible install
configure:3159: result: /usr/bin/install -c
configure:3170: checking whether build environment is sane
configure:3225: result: yes
configure:3384: checking for a race-free mkdir -p
configure:3428: result: /usr/bin/mkdir -p
configure:3435: checking for gawk
configure:3470: result: no
configure:3435: checking for mawk
configure:3456: found /usr/bin/mawk
configure:3467: result: mawk
configure:3478: checking whether make sets $(MAKE)
configure:3501: result: yes
configure:3531: checking whether make supports nested variables
configure:3549: result: yes
configure:3619: checking how to create a pax tar archive
configure:3630: tar --version
tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://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:3633: $? = 0
configure:3673: tardir=conftest.dir && eval tar --format=posix -chf - "$tardir" >conftest.tar
configure:3676: $? = 0
configure:3680: tar -xf - <conftest.tar
configure:3683: $? = 0
configure:3685: cat conftest.dir/file
GrepMe
configure:3688: $? = 0
configure:3702: result: gnutar
configure:3779: checking whether make supports nested variables
configure:3797: result: yes
configure:3941: checking for C++ compiler version
configure:3950: g++ --version >&5
g++ (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
Copyright (C) 2021 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:3961: $? = 0
configure:3950: g++ -v >&5
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.3' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-0odw26/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-0odw26/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.3)
... rest of stderr output deleted ...
configure:3961: $? = 0
configure:3950: g++ -V >&5
g++: error: unrecognized command-line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3961: $? = 1
configure:3950: g++ -qversion >&5
g++: error: unrecognized command-line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
compilation terminated.
configure:3961: $? = 1
configure:3981: checking whether the C++ compiler works
configure:4003: g++ -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:4007: $? = 0
configure:4057: result: yes
configure:4060: checking for C++ compiler default output file name
configure:4062: result: a.out
configure:4068: checking for suffix of executables
configure:4075: g++ -o conftest -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:4079: $? = 0
configure:4102: result:
configure:4124: checking whether we are cross compiling
configure:4132: g++ -o conftest -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:4136: $? = 0
configure:4143: ./conftest
configure:4147: $? = 0
configure:4162: result: no
configure:4167: checking for suffix of object files
configure:4190: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:4194: $? = 0
configure:4216: result: o
configure:4220: checking whether the compiler supports GNU C++
configure:4240: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:4240: $? = 0
configure:4250: result: yes
configure:4261: checking whether g++ accepts -g
configure:4282: g++ -c -g conftest.cpp >&5
configure:4282: $? = 0
configure:4326: result: yes
configure:4346: checking for g++ option to enable C++11 features
configure:4361: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
conftest.cpp: In function 'int main(int, char**)':
conftest.cpp:175:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
175 | cxx11test::delegate d2();
| ^~
conftest.cpp:175:25: note: remove parentheses to default-initialize a variable
175 | cxx11test::delegate d2();
| ^~
| --
conftest.cpp:175:25: note: or replace parentheses with braces to value-initialize a variable
configure:4361: $? = 0
configure:4379: result: none needed
configure:4446: checking whether make supports the include directive
configure:4461: make -f confmf.GNU && cat confinc.out
make[1]: Entering directory '/home/common_share/systemc/objdir'
make[1]: Leaving directory '/home/common_share/systemc/objdir'
this is the am__doit target
configure:4464: $? = 0
configure:4483: result: yes (GNU style)
configure:4509: checking dependency style of g++
configure:4621: result: gcc3
configure:4640: checking whether we are using a Clang/LLVM C++ compiler
configure:4667: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
conftest.cpp: In function 'int main()':
conftest.cpp:15:5: error: 'clang' was not declared in this scope
15 | not clang
| ^~~~~
configure:4667: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| int
| main (void)
| {
|
| #ifndef __clang__
| not clang
| #endif
|
| ;
| return 0;
| }
configure:4681: result: no
configure:4747: checking for gcc
configure:4779: result: g++
configure:5132: checking for C compiler version
configure:5141: g++ --version >&5
g++ (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0
Copyright (C) 2021 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:5152: $? = 0
configure:5141: g++ -v >&5
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.3' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-0odw26/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-0odw26/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.3)
... rest of stderr output deleted ...
configure:5152: $? = 0
configure:5141: g++ -V >&5
g++: error: unrecognized command-line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:5152: $? = 1
configure:5141: g++ -qversion >&5
g++: error: unrecognized command-line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
compilation terminated.
configure:5152: $? = 1
configure:5141: g++ -version >&5
g++: error: unrecognized command-line option '-version'
g++: fatal error: no input files
compilation terminated.
configure:5152: $? = 1
configure:5156: checking whether the compiler supports GNU C
configure:5176: g++ -c conftest.c >&5
configure:5176: $? = 0
configure:5186: result: yes
configure:5197: checking whether g++ accepts -g
configure:5218: g++ -c -g conftest.c >&5
configure:5218: $? = 0
configure:5262: result: yes
configure:5282: checking for g++ option to enable C11 features
configure:5297: g++ -c conftest.c >&5
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:165:3: error: #error "Compiler does not advertise C11 conformance"
165 | # error "Compiler does not advertise C11 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: At global scope:
conftest.c:169:24: error: expected initializer before 'aligned_as_double'
169 | char _Alignas (double) aligned_as_double;
| ^~~~~~~~~~~~~~~~~
conftest.c:170:19: error: expected ',' or ';' before 'no_special_alignment'
170 | char _Alignas (0) no_special_alignment;
| ^~~~~~~~~~~~~~~~~~~~
conftest.c:172:6: error: redefinition of 'char _Alignas'
172 | char _Alignas (0) _Alignas (int) aligned_as_int;
| ^~~~~~~~
conftest.c:170:6: note: 'char _Alignas' previously defined here
170 | char _Alignas (0) no_special_alignment;
| ^~~~~~~~
conftest.c:177:29: error: expected primary-expression before 'int'
177 | int_alignment = _Alignof (int),
| ^~~
conftest.c:177:19: error: '_Alignof' was not declared in this scope; did you mean '_Alignas'?
177 | int_alignment = _Alignof (int),
| ^~~~~~~~
| _Alignas
conftest.c:178:35: error: expected primary-expression before 'int'
178 | int_array_alignment = _Alignof (int[100]),
| ^~~
conftest.c:178:25: error: '_Alignof' was not declared in this scope; did you mean '_Alignas'?
178 | int_array_alignment = _Alignof (int[100]),
| ^~~~~~~~
| _Alignas
conftest.c:179:30: error: expected primary-expression before 'char'
179 | char_alignment = _Alignof (char)
| ^~~~
conftest.c:179:20: error: '_Alignof' was not declared in this scope; did you mean '_Alignas'?
179 | char_alignment = _Alignof (char)
| ^~~~~~~~
| _Alignas
conftest.c:181:16: error: expected constructor, destructor, or type conversion before '(' token
181 | _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
| ^
conftest.c:184:15: error: expected initializer before 'does_not_return'
184 | int _Noreturn does_not_return (void) { for (;;) continue; }
| ^~~~~~~~~~~~~~~
conftest.c:190:19: error: expected identifier before 'sizeof'
190 | _Static_assert (sizeof (int) <= sizeof (long int),
| ^~~~~~
conftest.c:190:19: error: expected ',' or '...' before 'sizeof'
conftest.c:190:3: error: ISO C++ forbids declaration of '_Static_assert' with no type [-fpermissive]
190 | _Static_assert (sizeof (int) <= sizeof (long int),
| ^~~~~~~~~~~~~~
conftest.c: In function 'int main(int, char**)':
conftest.c:220:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
220 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:220:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
220 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:230:18: error: expected initializer before 'newvar'
230 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:238:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
238 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:257:58: error: 'newvar' was not declared in this scope
257 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
conftest.c:261:3: error: '_Static_assert' was not declared in this scope; did you mean 'static_assert'?
261 | _Static_assert ((offsetof (struct anonymous, i)
| ^~~~~~~~~~~~~~
| static_assert
configure:5297: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| // Does the compiler advertise C11 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
| # error "Compiler does not advertise C11 conformance"
| #endif
|
| // Check _Alignas.
| char _Alignas (double) aligned_as_double;
| char _Alignas (0) no_special_alignment;
| extern char aligned_as_int;
| char _Alignas (0) _Alignas (int) aligned_as_int;
|
| // Check _Alignof.
| enum
| {
| int_alignment = _Alignof (int),
| int_array_alignment = _Alignof (int[100]),
| char_alignment = _Alignof (char)
| };
| _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
|
| // Check _Noreturn.
| int _Noreturn does_not_return (void) { for (;;) continue; }
|
| // Check _Static_assert.
| struct test_static_assert
| {
| int x;
| _Static_assert (sizeof (int) <= sizeof (long int),
| "_Static_assert does not work in struct");
| long int y;
| };
|
| // Check UTF-8 literals.
| #define u8 syntax error!
| char const utf8_literal[] = u8"happens to be ASCII" "another string";
|
| // Check duplicate typedefs.
| typedef long *long_ptr;
| typedef long int *long_ptr;
| typedef long_ptr long_ptr;
|
| // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
| struct anonymous
| {
| union {
| struct { int i; int j; };
| struct { int k; long int l; } w;
| };
| int m;
| } v1;
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
|
| _Static_assert ((offsetof (struct anonymous, i)
| == offsetof (struct anonymous, w.k)),
| "Anonymous union alignment botch");
| v1.i = 2;
| v1.w.k = 5;
| ok |= v1.i != 5;
|
| return ok;
| }
|
configure:5297: g++ -std=gnu11 -c conftest.c >&5
cc1plus: warning: command-line option '-std=gnu11' is valid for C/ObjC but not for C++
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:165:3: error: #error "Compiler does not advertise C11 conformance"
165 | # error "Compiler does not advertise C11 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: At global scope:
conftest.c:169:24: error: expected initializer before 'aligned_as_double'
169 | char _Alignas (double) aligned_as_double;
| ^~~~~~~~~~~~~~~~~
conftest.c:170:19: error: expected ',' or ';' before 'no_special_alignment'
170 | char _Alignas (0) no_special_alignment;
| ^~~~~~~~~~~~~~~~~~~~
conftest.c:172:6: error: redefinition of 'char _Alignas'
172 | char _Alignas (0) _Alignas (int) aligned_as_int;
| ^~~~~~~~
conftest.c:170:6: note: 'char _Alignas' previously defined here
170 | char _Alignas (0) no_special_alignment;
| ^~~~~~~~
conftest.c:177:29: error: expected primary-expression before 'int'
177 | int_alignment = _Alignof (int),
| ^~~
conftest.c:177:19: error: '_Alignof' was not declared in this scope; did you mean '_Alignas'?
177 | int_alignment = _Alignof (int),
| ^~~~~~~~
| _Alignas
conftest.c:178:35: error: expected primary-expression before 'int'
178 | int_array_alignment = _Alignof (int[100]),
| ^~~
conftest.c:178:25: error: '_Alignof' was not declared in this scope; did you mean '_Alignas'?
178 | int_array_alignment = _Alignof (int[100]),
| ^~~~~~~~
| _Alignas
conftest.c:179:30: error: expected primary-expression before 'char'
179 | char_alignment = _Alignof (char)
| ^~~~
conftest.c:179:20: error: '_Alignof' was not declared in this scope; did you mean '_Alignas'?
179 | char_alignment = _Alignof (char)
| ^~~~~~~~
| _Alignas
conftest.c:181:16: error: expected constructor, destructor, or type conversion before '(' token
181 | _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
| ^
conftest.c:184:15: error: expected initializer before 'does_not_return'
184 | int _Noreturn does_not_return (void) { for (;;) continue; }
| ^~~~~~~~~~~~~~~
conftest.c:190:19: error: expected identifier before 'sizeof'
190 | _Static_assert (sizeof (int) <= sizeof (long int),
| ^~~~~~
conftest.c:190:19: error: expected ',' or '...' before 'sizeof'
conftest.c:190:3: error: ISO C++ forbids declaration of '_Static_assert' with no type [-fpermissive]
190 | _Static_assert (sizeof (int) <= sizeof (long int),
| ^~~~~~~~~~~~~~
conftest.c: In function 'int main(int, char**)':
conftest.c:220:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
220 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:220:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
220 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:230:18: error: expected initializer before 'newvar'
230 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:238:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
238 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:257:58: error: 'newvar' was not declared in this scope
257 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
conftest.c:261:3: error: '_Static_assert' was not declared in this scope; did you mean 'static_assert'?
261 | _Static_assert ((offsetof (struct anonymous, i)
| ^~~~~~~~~~~~~~
| static_assert
configure:5297: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| // Does the compiler advertise C11 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
| # error "Compiler does not advertise C11 conformance"
| #endif
|
| // Check _Alignas.
| char _Alignas (double) aligned_as_double;
| char _Alignas (0) no_special_alignment;
| extern char aligned_as_int;
| char _Alignas (0) _Alignas (int) aligned_as_int;
|
| // Check _Alignof.
| enum
| {
| int_alignment = _Alignof (int),
| int_array_alignment = _Alignof (int[100]),
| char_alignment = _Alignof (char)
| };
| _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
|
| // Check _Noreturn.
| int _Noreturn does_not_return (void) { for (;;) continue; }
|
| // Check _Static_assert.
| struct test_static_assert
| {
| int x;
| _Static_assert (sizeof (int) <= sizeof (long int),
| "_Static_assert does not work in struct");
| long int y;
| };
|
| // Check UTF-8 literals.
| #define u8 syntax error!
| char const utf8_literal[] = u8"happens to be ASCII" "another string";
|
| // Check duplicate typedefs.
| typedef long *long_ptr;
| typedef long int *long_ptr;
| typedef long_ptr long_ptr;
|
| // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
| struct anonymous
| {
| union {
| struct { int i; int j; };
| struct { int k; long int l; } w;
| };
| int m;
| } v1;
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
|
| _Static_assert ((offsetof (struct anonymous, i)
| == offsetof (struct anonymous, w.k)),
| "Anonymous union alignment botch");
| v1.i = 2;
| v1.w.k = 5;
| ok |= v1.i != 5;
|
| return ok;
| }
|
configure:5310: result: unsupported
configure:5328: checking for g++ option to enable C99 features
configure:5343: g++ -c conftest.c >&5
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: In function 'int main(int, char**)':
conftest.c:168:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:168:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:178:18: error: expected initializer before 'newvar'
178 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:186:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
186 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:205:58: error: 'newvar' was not declared in this scope
205 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -std=gnu99 -c conftest.c >&5
cc1plus: warning: command-line option '-std=gnu99' is valid for C/ObjC but not for C++
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: In function 'int main(int, char**)':
conftest.c:168:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:168:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:178:18: error: expected initializer before 'newvar'
178 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:186:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
186 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:205:58: error: 'newvar' was not declared in this scope
205 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -std=c99 -c conftest.c >&5
cc1plus: warning: command-line option '-std=c99' is valid for C/ObjC but not for C++
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: In function 'int main(int, char**)':
conftest.c:168:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:168:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:178:18: error: expected initializer before 'newvar'
178 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:186:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
186 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:205:58: error: 'newvar' was not declared in this scope
205 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -c99 -c conftest.c >&5
g++: error: unrecognized command-line option '-c99'
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -qlanglvl=extc1x -c conftest.c >&5
g++: error: unrecognized command-line option '-qlanglvl=extc1x'
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -qlanglvl=extc99 -c conftest.c >&5
g++: error: unrecognized command-line option '-qlanglvl=extc99'
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -AC99 -c conftest.c >&5
<command-line>: error: missing '(' after predicate
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: In function 'int main(int, char**)':
conftest.c:168:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:168:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:178:18: error: expected initializer before 'newvar'
178 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:186:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
186 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:205:58: error: 'newvar' was not declared in this scope
205 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5343: g++ -D_STDC_C99= -c conftest.c >&5
conftest.c:61:3: error: #error "Compiler does not advertise C99 conformance"
61 | # error "Compiler does not advertise C99 conformance"
| ^~~~~
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c:116:29: error: expected ',' or '...' before 'text'
116 | test_restrict (ccp restrict text)
| ^~~~
conftest.c: In function 'int test_restrict(ccp)':
conftest.c:121:30: error: 'text' was not declared in this scope; did you mean 'test'?
121 | for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| ^~~~
| test
conftest.c: In function 'int main(int, char**)':
conftest.c:168:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:168:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
168 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:178:18: error: expected initializer before 'newvar'
178 | char *restrict newvar = "Another string";
| ^~~~~~
conftest.c:186:12: error: invalid conversion from 'void*' to 'incomplete_array*' [-fpermissive]
186 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void*
conftest.c:205:58: error: 'newvar' was not declared in this scope
205 | ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| ^~~~~~
configure:5343: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| // Does the compiler advertise C99 conformance?
| #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
| # error "Compiler does not advertise C99 conformance"
| #endif
|
| #include <stdbool.h>
| extern int puts (const char *);
| extern int printf (const char *, ...);
| extern int dprintf (int, const char *, ...);
| extern void *malloc (size_t);
|
| // Check varargs macros. These examples are taken from C99 6.10.3.5.
| // dprintf is used instead of fprintf to avoid needing to declare
| // FILE and stderr.
| #define debug(...) dprintf (2, __VA_ARGS__)
| #define showlist(...) puts (#__VA_ARGS__)
| #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
| static void
| test_varargs_macros (void)
| {
| int x = 1234;
| int y = 5678;
| debug ("Flag");
| debug ("X = %d\n", x);
| showlist (The first, second, and third items.);
| report (x>y, "x is %d but y is %d", x, y);
| }
|
| // Check long long types.
| #define BIG64 18446744073709551615ull
| #define BIG32 4294967295ul
| #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
| #if !BIG_OK
| #error "your preprocessor is broken"
| #endif
| #if BIG_OK
| #else
| #error "your preprocessor is broken"
| #endif
| static long long int bignum = -9223372036854775807LL;
| static unsigned long long int ubignum = BIG64;
|
| struct incomplete_array
| {
| int datasize;
| double data[];
| };
|
| struct named_init {
| int number;
| const wchar_t *name;
| double average;
| };
|
| typedef const char *ccp;
|
| static inline int
| test_restrict (ccp restrict text)
| {
| // See if C++-style comments work.
| // Iterate through items via the restricted pointer.
| // Also check for declarations in for loops.
| for (unsigned int i = 0; *(text+i) != '\0'; ++i)
| continue;
| return 0;
| }
|
| // Check varargs and va_copy.
| static bool
| test_varargs (const char *format, ...)
| {
| va_list args;
| va_start (args, format);
| va_list args_copy;
| va_copy (args_copy, args);
|
| const char *str = "";
| int number = 0;
| float fnumber = 0;
|
| while (*format)
| {
| switch (*format++)
| {
| case 's': // string
| str = va_arg (args_copy, const char *);
| break;
| case 'd': // int
| number = va_arg (args_copy, int);
| break;
| case 'f': // float
| fnumber = va_arg (args_copy, double);
| break;
| default:
| break;
| }
| }
| va_end (args_copy);
| va_end (args);
|
| return *str && number && fnumber;
| }
|
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
|
| // Check bool.
| _Bool success = false;
| success |= (argc != 0);
|
| // Check restrict.
| if (test_restrict ("String literal") == 0)
| success = true;
| char *restrict newvar = "Another string";
|
| // Check varargs.
| success &= test_varargs ("s, d' f .", "string", 65, 34.234);
| test_varargs_macros ();
|
| // Check flexible array members.
| struct incomplete_array *ia =
| malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
| ia->datasize = 10;
| for (int i = 0; i < ia->datasize; ++i)
| ia->data[i] = i * 1.234;
|
| // Check named initializers.
| struct named_init ni = {
| .number = 34,
| .name = L"Test wide string",
| .average = 543.34343,
| };
|
| ni.number = 58;
|
| int dynamic_array[ni.number];
| dynamic_array[0] = argv[0][0];
| dynamic_array[ni.number - 1] = 543;
|
| // work around unused variable warnings
| ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
| || dynamic_array[ni.number - 1] != 543);
|
| return ok;
| }
|
configure:5356: result: unsupported
configure:5374: checking for g++ option to enable C89 features
configure:5389: g++ -c conftest.c >&5
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c: In function 'int main(int, char**)':
conftest.c:64:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
64 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:64:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
64 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5389: g++ -qlanglvl=extc89 -c conftest.c >&5
g++: error: unrecognized command-line option '-qlanglvl=extc89'
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5389: g++ -qlanglvl=ansi -c conftest.c >&5
g++: error: unrecognized command-line option '-qlanglvl=ansi'
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5389: g++ -std -c conftest.c >&5
g++: error: unrecognized command-line option '-std'
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5389: g++ -Ae -c conftest.c >&5
<command-line>: error: missing '(' after predicate
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c: In function 'int main(int, char**)':
conftest.c:64:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
64 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:64:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
64 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5389: g++ -Aa -D_HPUX_SOURCE -c conftest.c >&5
<command-line>: error: missing '(' after predicate
conftest.c:23:17: error: 'p' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:20: error: 'i' was not declared in this scope
23 | static char *e (p, i)
| ^
conftest.c:23:21: error: expression list treated as compound expression in initializer [-fpermissive]
23 | static char *e (p, i)
| ^
conftest.c:26:1: error: expected unqualified-id before '{' token
26 | {
| ^
conftest.c: In function 'int main(int, char**)':
conftest.c:64:24: error: cannot convert 'char*' to 'char* (*)(char**, int)'
64 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
conftest.c:64:53: error: cannot convert 'char*' to 'char* (*)(char**, int)'
64 | ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
| ^
| |
| char*
conftest.c:29:26: note: initializing argument 1 of 'char* f(char* (*)(char**, int), char**, ...)'
29 | static char *f (char * (*g) (char **, int), char **p, ...)
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5389: g++ -Xc -D__EXTENSIONS__ -c conftest.c >&5
g++: error: unrecognized command-line option '-Xc'; did you mean '-X'?
configure:5389: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| /* Does the compiler advertise C89 conformance?
| Do not test the value of __STDC__, because some compilers set it to 0
| while being otherwise adequately conformant. */
| #if !defined __STDC__
| # error "Compiler does not advertise C89 conformance"
| #endif
|
| #include <stddef.h>
| #include <stdarg.h>
| struct stat;
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
| struct buf { int x; };
| struct buf * (*rcsopen) (struct buf *, struct stat *, int);
| static char *e (p, i)
| char **p;
| int i;
| {
| return p[i];
| }
| static char *f (char * (*g) (char **, int), char **p, ...)
| {
| char *s;
| va_list v;
| va_start (v,p);
| s = g (p, va_arg (v,int));
| va_end (v);
| return s;
| }
|
| /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
| function prototypes and stuff, but not \xHH hex character constants.
| These do not provoke an error unfortunately, instead are silently treated
| as an "x". The following induces an error, until -std is added to get
| proper ANSI mode. Curiously \x00 != x always comes out true, for an
| array size at least. It is necessary to write \x00 == 0 to get something
| that is true only with -std. */
| int osf4_cc_array ['\x00' == 0 ? 1 : -1];
|
| /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
| inside strings and character constants. */
| #define FOO(x) 'x'
| int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
|
| int test (int i, double x);
| struct s1 {int (*f) (int a);};
| struct s2 {int (*f) (double a);};
| int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
| int, int);
|
| int
| main (int argc, char **argv)
| {
| int ok = 0;
|
| ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
|
| return ok;
| }
|
configure:5402: result: unsupported
configure:5431: checking whether g++ understands -c and -o together
configure:5454: g++ -c conftest.c -o conftest2.o
configure:5457: $? = 0
configure:5454: g++ -c conftest.c -o conftest2.o
configure:5457: $? = 0
configure:5469: result: yes
configure:5488: checking dependency style of g++
configure:5600: result: gcc3
configure:5617: checking whether we are using a Clang/LLVM C compiler
configure:5644: g++ -c conftest.c >&5
conftest.c: In function 'int main()':
conftest.c:15:5: error: 'clang' was not declared in this scope
15 | not clang
| ^~~~~
configure:5644: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
|
| int
| main (void)
| {
|
| #ifndef __clang__
| not clang
| #endif
|
| ;
| return 0;
| }
configure:5658: result: no
configure:5716: checking for ar
configure:5737: found /usr/bin/ar
configure:5748: result: ar
configure:5774: checking the archiver (ar) interface
configure:5791: g++ -c conftest.c >&5
configure:5791: $? = 0
configure:5794: ar cru libconftest.a conftest.o >&5
ar: `u' modifier ignored since `D' is the default (see `U')
configure:5797: $? = 0
configure:5825: result: ar
configure:5857: checking dependency style of g++
configure:5967: result: gcc3
configure:5983: checking whether ln -s works
configure:5987: result: yes
configure:6320: checking for the pthreads library -lpthreads
configure:6358: g++ -o conftest conftest.c -lpthreads >&5
/usr/bin/ld: cannot find -lpthreads: No such file or directory
collect2: error: ld returned 1 exit status
configure:6358: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| /* end confdefs.h. */
| #include <pthread.h>
| static void routine(void *a) { a = 0; }
| static void *start_routine(void *a) { return a; }
| int
| main (void)
| {
| pthread_t th; pthread_attr_t attr;
| pthread_create(&th, 0, start_routine, 0);
| pthread_join(th, 0);
| pthread_attr_init(&attr);
| pthread_cleanup_push(routine, 0);
| pthread_cleanup_pop(0) /* ; */
| ;
| return 0;
| }
configure:6368: result: no
configure:6260: checking whether pthreads work without any flags
configure:6358: g++ -o conftest conftest.c >&5
configure:6358: $? = 0
configure:6368: result: yes
configure:6387: checking for joinable pthread attribute
configure:6402: g++ -o conftest conftest.c >&5
configure:6402: $? = 0
configure:6409: result: PTHREAD_CREATE_JOINABLE
configure:6417: checking if more special flags are required for pthreads
configure:6431: result: no
configure:6437: checking for PTHREAD_PRIO_INHERIT
configure:6456: g++ -o conftest conftest.c >&5
configure:6456: $? = 0
configure:6466: result: yes
configure:6613: checking how to print strings
configure:6640: result: printf
configure:6661: checking for a sed that does not truncate output
configure:6731: result: /usr/bin/sed
configure:6749: checking for grep that handles long lines and -e
configure:6813: result: /usr/bin/grep
configure:6818: checking for egrep
configure:6886: result: /usr/bin/grep -E
configure:6891: checking for fgrep
configure:6959: result: /usr/bin/grep -F
configure:6995: checking for ld used by g++
configure:7063: result: /usr/bin/ld
configure:7070: checking if the linker (/usr/bin/ld) is GNU ld
configure:7086: result: yes
configure:7098: checking for BSD- or MS-compatible name lister (nm)
configure:7148: result: /usr/bin/nm -B
configure:7288: checking the name lister (/usr/bin/nm -B) interface
configure:7296: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:7299: /usr/bin/nm -B "conftest.o"
configure:7302: output
0000000000000000 B some_variable
configure:7309: result: BSD nm
configure:7313: checking the maximum length of command line arguments
configure:7444: result: 1572864
configure:7461: checking whether the shell understands some XSI constructs
configure:7471: result: yes
configure:7475: checking whether the shell understands "+="
configure:7481: result: yes
configure:7516: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:7557: result: func_convert_file_noop
configure:7564: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:7585: result: func_convert_file_noop
configure:7592: checking for /usr/bin/ld option to reload object files
configure:7600: result: -r
configure:7679: checking for objdump
configure:7700: found /usr/bin/objdump
configure:7711: result: objdump
configure:7743: checking how to recognize dependent libraries
configure:7946: result: pass_all
configure:8036: checking for dlltool
configure:8071: result: no
configure:8101: checking how to associate runtime and link libraries
configure:8129: result: printf %s\n
configure:8263: checking for archiver @FILE support
configure:8281: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:8281: $? = 0
configure:8285: ar cr libconftest.a @conftest.lst >&5
configure:8288: $? = 0
configure:8293: ar cr libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:8296: $? = 1
configure:8308: result: @
configure:8371: checking for strip
configure:8392: found /usr/bin/strip
configure:8403: result: strip
configure:8480: checking for ranlib
configure:8501: found /usr/bin/ranlib
configure:8512: result: ranlib
configure:8614: checking command to parse /usr/bin/nm -B output from g++ object
configure:8735: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:8738: $? = 0
configure:8742: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
configure:8745: $? = 0
configure:8811: g++ -o conftest -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp conftstm.o >&5
configure:8814: $? = 0
configure:8852: result: ok
configure:8889: checking for sysroot
configure:8920: result: no
configure:8998: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9001: $? = 0
configure:9184: checking for mt
configure:9219: result: no
configure:9239: checking if : is a manifest tool
configure:9246: : '-?'
configure:9254: result: no
configure:9949: checking for stdio.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for stdlib.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for string.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for inttypes.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for stdint.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for strings.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for sys/stat.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for sys/types.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9949: checking for unistd.h
configure:9949: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9949: $? = 0
configure:9949: result: yes
configure:9974: checking for dlfcn.h
configure:9974: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:9974: $? = 0
configure:9974: result: yes
configure:10191: checking for objdir
configure:10207: result: .libs
configure:10478: checking if g++ supports -fno-rtti -fno-exceptions
configure:10497: g++ -c -fno-rtti -fno-exceptions conftest.c >&5
configure:10501: $? = 0
configure:10514: result: yes
configure:10841: checking for g++ option to produce PIC
configure:10849: result: -fPIC -DPIC
configure:10857: checking if g++ PIC flag -fPIC -DPIC works
configure:10876: g++ -c -fPIC -DPIC -DPIC conftest.c >&5
configure:10880: $? = 0
configure:10893: result: yes
configure:10922: checking if g++ static flag -static works
configure:10951: result: yes
configure:10966: checking if g++ supports -c -o file.o
configure:10988: g++ -c -o out/conftest2.o conftest.c >&5
configure:10992: $? = 0
configure:11014: result: yes
configure:11022: checking if g++ supports -c -o file.o
configure:11070: result: yes
configure:11103: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:12263: result: yes
configure:12300: checking whether -lc should be explicitly linked in
configure:12309: g++ -c conftest.c >&5
configure:12312: $? = 0
configure:12327: g++ -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep -lc \>/dev/null 2\>\&1
configure:12330: $? = 0
configure:12344: result: no
configure:12504: checking dynamic linker characteristics
configure:13016: g++ -o conftest -Wl,-rpath -Wl,/foo conftest.c >&5
configure:13016: $? = 0
configure:13240: result: GNU/Linux ld.so
configure:13347: checking how to hardcode library paths into programs
configure:13372: result: immediate
configure:13916: checking whether stripping libraries is possible
configure:13921: result: yes
configure:13956: checking if libtool supports shared libraries
configure:13958: result: yes
configure:13961: checking whether to build shared libraries
configure:13982: result: yes
configure:13985: checking whether to build static libraries
configure:13989: result: yes
configure:14012: checking how to run the C++ preprocessor
configure:14034: g++ -E conftest.cpp
configure:14034: $? = 0
configure:14049: g++ -E conftest.cpp
conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
23 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:14049: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:14076: result: g++ -E
configure:14090: g++ -E conftest.cpp
configure:14090: $? = 0
configure:14105: g++ -E conftest.cpp
conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory
23 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:14105: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:14277: checking for ld used by g++
configure:14345: result: /usr/bin/ld -m elf_x86_64
configure:14352: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:14368: result: yes
configure:14423: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:15432: result: yes
configure:15468: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
configure:15471: $? = 0
configure:15991: checking for g++ option to produce PIC
configure:15999: result: -fPIC -DPIC
configure:16007: checking if g++ PIC flag -fPIC -DPIC works
configure:16026: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 -fPIC -DPIC -DPIC conftest.cpp >&5
configure:16030: $? = 0
configure:16043: result: yes
configure:16066: checking if g++ static flag -static works
configure:16095: result: yes
configure:16107: checking if g++ supports -c -o file.o
configure:16129: g++ -c -Wall -m64 -D_GLIBCXX_USE_CXX11_ABI=1 -o out/conftest2.o conftest.cpp >&5
configure:16133: $? = 0
configure:16155: result: yes
configure:16160: checking if g++ supports -c -o file.o
configure:16208: result: yes
configure:16238: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:16274: result: yes
configure:16416: checking dynamic linker characteristics
configure:17086: result: GNU/Linux ld.so
configure:17139: checking how to hardcode library paths into programs
configure:17164: result: immediate
configure:17228: checking for SystemC install layout
configure:17255: result: ignored
configure:17311: checking for SystemC library arch suffix
configure:17332: result: default (TARGET_ARCH=linux64)
configure:17335: checking whether to add debug symbols to the SystemC library
configure:17358: result: no
configure:17361: checking whether to enable compiler optimization
configure:17384: result: yes
configure:17387: checking whether to add support for asynchronous update requests
configure:17436: result: yes
configure:17439: checking whether to use POSIX threads for SystemC processes
configure:17510: result: no
configure:17513: checking whether to enable simulation phase callbacks (experimental)
configure:17548: result: no
configure:17551: checking whether to enable VCD scopes by default
configure:17576: result: yes
configure:17643: checking for SC_DISABLE_VIRTUAL_BIND defined
configure:17666: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
conftest.cpp: In function 'int main()':
conftest.cpp:31:3: error: 'choke' was not declared in this scope
31 | choke me
| ^~~~~
configure:17666: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
|
| int
| main (void)
| {
|
| #ifdef SC_DISABLE_VIRTUAL_BIND
| int ok;
| #else
| choke me
| #endif
|
| ;
| return 0;
| }
configure:17674: result: no
configure:17683: checking for SC_ENABLE_IMMEDIATE_SELF_NOTIFICATION defined
configure:17706: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
conftest.cpp: In function 'int main()':
conftest.cpp:31:3: error: 'choke' was not declared in this scope
31 | choke me
| ^~~~~
configure:17706: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
|
| int
| main (void)
| {
|
| #ifdef SC_ENABLE_IMMEDIATE_SELF_NOTIFICATION
| int ok;
| #else
| choke me
| #endif
|
| ;
| return 0;
| }
configure:17714: result: no
configure:17722: checking for SC_ENABLE_EARLY_MAXTIME_CREATION defined
configure:17745: g++ -c -D_GLIBCXX_USE_CXX11_ABI=1 conftest.cpp >&5
conftest.cpp: In function 'int main()':
conftest.cpp:31:3: error: 'choke' was not declared in this scope
31 | choke me
| ^~~~~
configure:17745: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SystemC"
| #define PACKAGE_TARNAME "systemc"
| #define PACKAGE_VERSION "2.3.4"
| #define PACKAGE_STRING "SystemC 2.3.4"
| #define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
| #define PACKAGE_URL "http://accellera.org/"
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
|
| int
| main (void)
| {
|
| #ifdef SC_ENABLE_EARLY_MAXTIME_CREATION
| int ok;
| #else
| choke me
| #endif
|
| ;
| return 0;
| }
configure:17753: result: no
configure:17916: checking that generated files are newer than configure
configure:17922: result: done
configure:18021: creating ./config.status
---------------------------------------------------------------------
Configuration summary of SystemC 2.3.4 for x86_64-unknown-linux-gnu
---------------------------------------------------------------------
Directory setup (based on classic layout):
Installation prefix (aka SYSTEMC_HOME):
/home/common_share/systemc
Header files : <SYSTEMC_HOME>/include
Libraries : <SYSTEMC_HOME>/lib-linux64
Documentation : <SYSTEMC_HOME>/docs
Examples : <SYSTEMC_HOME>/examples
Architecture : linux64
Compiler : g++ (C/C++)
User-provided command-line flags :
C++ compiler flags (CXXFLAGS) : -D_GLIBCXX_USE_CXX11_ABI=1
Build settings:
Enable compiler optimizations : yes
Include debugging symbols : no
Coroutine package for processes: QuickThreads
Enable VCD scopes by default : yes
Disable async_request_update : no
Phase callbacks (experimental) : no
---------------------------------------------------------------------
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_defined_SC_DISABLE_VIRTUAL_BIND=no
ac_cv_defined_SC_ENABLE_EARLY_MAXTIME_CREATION=no
ac_cv_defined_SC_ENABLE_IMMEDIATE_SELF_NOTIFICATION=no
ac_cv_env_CCASFLAGS_set=
ac_cv_env_CCASFLAGS_value=
ac_cv_env_CCAS_set=
ac_cv_env_CCAS_value=
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=set
ac_cv_env_CXXFLAGS_value=-D_GLIBCXX_USE_CXX11_ABI=1
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value=g++
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_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_header_dlfcn_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdio_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_objext=o
ac_cv_path_EGREP='/usr/bin/grep -E'
ac_cv_path_FGREP='/usr/bin/grep -F'
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_SED=/usr/bin/sed
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_CXXCPP='g++ -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=g++
ac_cv_prog_ac_ct_OBJDUMP=objdump
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_c11=no
ac_cv_prog_cc_c89=no
ac_cv_prog_cc_c99=no
ac_cv_prog_cc_g=yes
ac_cv_prog_cxx_11=no
ac_cv_prog_cxx_cxx11=
ac_cv_prog_cxx_g=yes
ac_cv_prog_cxx_stdcxx=
ac_cv_prog_make_make_set=yes
ac_cv_target=x86_64-unknown-linux-gnu
am_cv_CCAS_dependencies_compiler_type=gcc3
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_CXX_dependencies_compiler_type=gcc3
am_cv_ar_interface=ar
am_cv_make_support_nested_variables=yes
am_cv_prog_cc_c_o=yes
am_cv_prog_tar_pax=gnutar
ax_cv_PTHREAD_PRIO_INHERIT=yes
lt_cv_ar_at_file=@
lt_cv_archive_cmds_need_lc=no
lt_cv_deplibs_check_method=pass_all
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 -m elf_x86_64'
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_c_o_CXX=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_pic_works_CXX=yes
lt_cv_prog_compiler_rtti_exceptions=yes
lt_cv_prog_compiler_static_works=yes
lt_cv_prog_compiler_static_works_CXX=yes
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=yes
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"\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/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
sc_cv_clang=no
sc_cv_clangxx=no
## ----------------- ##
## Output variables. ##
## ----------------- ##
ACLOCAL='${SHELL} '\''/home/common_share/systemc/config/missing'\'' aclocal-1.16'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='0'
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} '\''/home/common_share/systemc/config/missing'\'' autoconf'
AUTOHEADER='${SHELL} '\''/home/common_share/systemc/config/missing'\'' autoheader'
AUTOMAKE='${SHELL} '\''/home/common_share/systemc/config/missing'\'' automake-1.16'
AWK='mawk'
CC='g++'
CCAS='g++'
CCASDEPMODE='depmode=gcc3'
CCASFLAGS=''
CCDEPMODE='depmode=gcc3'
CFLAGS=''
CPPFLAGS=''
CSCOPE='cscope'
CTAGS='ctags'
CXX='g++'
CXXCPP='g++ -E'
CXXDEPMODE='depmode=gcc3'
CXXFLAGS='-D_GLIBCXX_USE_CXX11_ABI=1'
CYGPATH_W='echo'
DEBUG_CXXFLAGS='-g'
DEFS='-DPACKAGE_NAME=\"SystemC\" -DPACKAGE_TARNAME=\"systemc\" -DPACKAGE_VERSION=\"2.3.4\" -DPACKAGE_STRING=\"SystemC\ 2.3.4\" -DPACKAGE_BUGREPORT=\"http://forums.accellera.org/forum/9-systemc/\" -DPACKAGE_URL=\"http://accellera.org/\" -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"'
DEPDIR='.deps'
DISABLE_ASYNC_UPDATES_FALSE=''
DISABLE_ASYNC_UPDATES_TRUE='#'
DISABLE_VCD_SCOPES_FALSE=''
DISABLE_VCD_SCOPES_TRUE='#'
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
ENABLE_CALLBACKS_FALSE=''
ENABLE_CALLBACKS_TRACING_FALSE=''
ENABLE_CALLBACKS_TRACING_TRUE='#'
ENABLE_CALLBACKS_TRUE='#'
ETAGS='etags'
EXEEXT=''
EXPLICIT_LPTHREAD='-lpthread'
EXTRA_ASFLAGS='-xassembler-with-cpp -m64'
EXTRA_CFLAGS='-Wall -m64 -xc'
EXTRA_CXXFLAGS='-Wall -m64'
EXTRA_LDFLAGS=''
FGREP='/usr/bin/grep -F'
GREP='/usr/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD='/usr/bin/ld -m elf_x86_64'
LDFLAGS=''
LDFLAG_RPATH='-Wl,-rpath='
LIBCONFIG_DEFINES=''
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIB_ARCH_SUFFIX='-${TARGET_ARCH}'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} '\''/home/common_share/systemc/config/missing'\'' makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OPT_CXXFLAGS='-O3'
OTOOL64=''
OTOOL=''
PACKAGE='systemc'
PACKAGE_BUGREPORT='http://forums.accellera.org/forum/9-systemc/'
PACKAGE_NAME='SystemC'
PACKAGE_STRING='SystemC 2.3.4'
PACKAGE_TARNAME='systemc'
PACKAGE_URL='http://accellera.org/'
PACKAGE_VERSION='2.3.4'
PATH_SEPARATOR=':'
PKGCONFIG_CFLAGS=''
PKGCONFIG_DEFINES=''
PKGCONFIG_LDPRIV=' -lpthread'
PTHREAD_CC='g++'
PTHREAD_CFLAGS=''
PTHREAD_LIBS=''
QT_ARCH='x86_64'
QT_ARCH_AARCH64_FALSE=''
QT_ARCH_AARCH64_TRUE='#'
QT_ARCH_HPPA_FALSE=''
QT_ARCH_HPPA_TRUE='#'
QT_ARCH_POWERPC_MACOSX_FALSE=''
QT_ARCH_POWERPC_MACOSX_TRUE='#'
QT_ARCH_SPARC_FALSE=''
QT_ARCH_SPARC_TRUE='#'
QT_ARCH_X86_64_FALSE='#'
QT_ARCH_X86_64_TRUE=''
QT_ARCH_X86_FALSE=''
QT_ARCH_X86_TRUE='#'
RANLIB='ranlib'
SED='/usr/bin/sed'
SEPARATE_BUILD_TREE_FALSE='#'
SEPARATE_BUILD_TREE_TRUE=''
SEPARATE_INSTALL_TREE_FALSE=''
SEPARATE_INSTALL_TREE_TRUE='#'
SET_MAKE=''
SHELL='/bin/bash'
STRIP='strip'
TARGET_ARCH='linux64'
TLM_PACKAGE_VERSION='2.0.6'
USES_PTHREADS_LIB_FALSE='#'
USES_PTHREADS_LIB_TRUE=''
VERSION='2.3.4'
WANT_DEBUG_FALSE=''
WANT_DEBUG_TRUE='#'
WANT_OPTIMIZE_FALSE='#'
WANT_OPTIMIZE_TRUE=''
WANT_PTHREADS_THREADS_FALSE=''
WANT_PTHREADS_THREADS_TRUE='#'
WANT_QT_THREADS_FALSE='#'
WANT_QT_THREADS_TRUE=''
ac_ct_AR='ar'
ac_ct_CC='g++'
ac_ct_CXX=''
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCCAS_FALSE='#'
am__fastdepCCAS_TRUE=''
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE='#'
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=' -I$(srcdir)'
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='tar --format=posix -chf - "$$tardir"'
am__untar='tar -xf -'
ax_pthread_config=''
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${prefix}'
datarootdir='${prefix}'
docdir='${prefix}/docs'
dvidir='${docdir}'
examplesdir='${rootdocdir}/examples'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/common_share/systemc/config/install-sh'
libarchdir='${libdir}${LIB_ARCH_SUFFIX}'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/home/common_share/systemc'
program_transform_name='s,x,x,'
psdir='${docdir}'
rootdocdir='${prefix}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='x86_64-unknown-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='unknown'
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "SystemC"
#define PACKAGE_TARNAME "systemc"
#define PACKAGE_VERSION "2.3.4"
#define PACKAGE_STRING "SystemC 2.3.4"
#define PACKAGE_BUGREPORT "http://forums.accellera.org/forum/9-systemc/"
#define PACKAGE_URL "http://accellera.org/"
#define HAVE_PTHREAD_PRIO_INHERIT 1
#define HAVE_PTHREAD 1
#define HAVE_STDIO_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_STRINGS_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define STDC_HEADERS 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
configure: exit 0
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by SystemC config.status 2.3.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status
on 98ec94af8abc
config.status:1144: creating Makefile
config.status:1144: creating src/Makefile
config.status:1144: creating src/systemc.pc
config.status:1144: creating src/tlm.pc
config.status:1144: creating src/sysc/Makefile
config.status:1144: creating src/sysc/packages/boost/Makefile
config.status:1144: creating src/sysc/packages/qt/Makefile
config.status:1144: creating src/tlm_core/Makefile
config.status:1144: creating src/tlm_utils/Makefile
config.status:1144: creating examples/Makefile
config.status:1144: creating examples/sysc/Makefile
config.status:1144: creating examples/tlm/Makefile
config.status:1144: creating examples/tlm/common/Makefile
config.status:1144: creating docs/Makefile
config.status:1144: creating docs/sysc/doxygen/Doxyfile
config.status:1144: creating docs/tlm/doxygen/Doxyfile
config.status:1301: executing depfiles commands
config.status:1378: cd src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/src'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/src'
config.status:1383: $? = 0
config.status:1378: cd src/sysc && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/src/sysc'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/src/sysc'
config.status:1383: $? = 0
config.status:1378: cd src/sysc/packages/qt && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/src/sysc/packages/qt'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/src/sysc/packages/qt'
config.status:1383: $? = 0
config.status:1378: cd src/tlm_core && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/src/tlm_core'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/src/tlm_core'
config.status:1383: $? = 0
config.status:1378: cd src/tlm_utils && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/src/tlm_utils'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/src/tlm_utils'
config.status:1383: $? = 0
config.status:1378: cd examples/sysc && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/examples/sysc'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/examples/sysc'
config.status:1383: $? = 0
config.status:1378: cd examples/tlm && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/examples/tlm'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/examples/tlm'
config.status:1383: $? = 0
config.status:1378: cd examples/tlm/common && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/home/common_share/systemc/objdir/examples/tlm/common'
make[1]: Nothing to be done for 'am--depfiles'.
make[1]: Leaving directory '/home/common_share/systemc/objdir/examples/tlm/common'
config.status:1383: $? = 0
config.status:1301: executing libtool commands