Chris Lattner wrote:
Thanks for your reply Chris,
******************** TEST 'CodeGen/mandel.c' FAILED!
********************
Command:
clang -emit-llvm CodeGen/mandel.c
Output:
CodeGen/mandel.c:49:13: error: variable has incomplete type
'typeof(*(0 ? (typeof(0 ? (double *)0 : (void *)((((typeof((__real z)
+ (__imag z)))0.25) && ((typeof((__real z) + (__imag z)))0.25 -
1)))))0 : (typeof(0 ? (typeof((__real z) + (__imag z)) *)0 : (void
*)(!((((typeof((__real z) + (__imag z)))0.25) && ((typeof((__real z)
+ (__imag z)))0.25 - 1))))))0))'
if (hypot(__real__ z, __imag__ z) >= ESCAPE)
Please make a .i file for mandel.c (clang -E mandel.c > mandel.i) and
send it to the list.
attached
******************** TEST 'Parser/cxx-extern.cpp' FAILED!
********************
Command:
clang -fsyntax-only Parser/cxx-extern.cpp
Output:
Parser/cxx-extern.cpp:19:8: error: expected identifier or '('
This isn't in the clang tree.
It is if you add it :-). All tests pass after Mike's extern patch.
File attached.
******************** TEST 'Sema/undecl-objc-h.m' FAILED!
********************
Command:
clang -rewrite-test Sema/undecl-objc-h.m | clang
Output:
In file included from <stdin>:23:
/usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3:
error: redefinition of 'Protocol'
} Protocol;
^
<stdin>:7:28: error: previous definition is here
typedef struct objc_object Protocol;
^
This looks like a platform specific difference between your objc.h and
hte mac one, can you please attach your objc.h so that we can see what
it looks like?
done.
******************** TEST 'Sema/objc-comptypes-2.m' FAILED!
********************
Command:
clang -fsyntax-only -verify Sema/objc-comptypes-2.m
Output:
Errors seen but not expected:
Line 63: incomplete definition of type 'objc_selector'
Likewise, looks like your objc.h doesn't have objc_selector in it?
--
Bjørn
/* Basic data types for Objective C.
Copyright (C) 1993, 1995, 1996, 2004 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* As a special exception, if you link this library with files
compiled with GCC to produce an executable, this does not cause
the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
#ifndef __objc_INCLUDE_GNU
#define __objc_INCLUDE_GNU
#ifdef __cplusplus
extern "C" {
#endif
#include <stddef.h>
/*
** Definition of the boolean type.
*/
#ifdef __vxworks
typedef int BOOL;
#else
typedef unsigned char BOOL;
#endif
#define YES (BOOL)1
#define NO (BOOL)0
/*
** Definition of a selector. Selectors themselves are not unique, but
** the sel_id is a unique identifier.
*/
typedef const struct objc_selector
{
void *sel_id;
const char *sel_types;
} *SEL;
inline static BOOL
sel_eq (SEL s1, SEL s2)
{
if (s1 == 0 || s2 == 0)
return s1 == s2;
else
return s1->sel_id == s2->sel_id;
}
/*
** ObjC uses this typedef for untyped instances.
*/
typedef struct objc_object {
struct objc_class* class_pointer;
} *id;
/*
** Definition of method type. When retrieving the implementation of a
** method, this is type of the pointer returned. The idea of the
** definition of IMP is to represent a 'pointer to a general function
** taking an id, a SEL, followed by other unspecified arguments'. You
** must always cast an IMP to a pointer to a function taking the
** appropriate, specific types for that function, before calling it -
** to make sure the appropriate arguments are passed to it. The code
** generated by the compiler to perform method calls automatically
** does this cast inside method calls.
*/
typedef id (*IMP)(id, SEL, ...);
/*
** More simple types...
*/
#define nil (id)0 /* id of Nil instance */
#define Nil (Class)0 /* id of Nil class */
typedef char *STR; /* String alias */
/*
** The compiler generates one of these structures for each class.
**
** This structure is the definition for classes.
**
** This structure is generated by the compiler in the executable and used by
** the run-time during normal messaging operations. Therefore some members
** change type. The compiler generates "char* const" and places a string in
** the following member variables: super_class.
*/
typedef struct objc_class *MetaClass;
typedef struct objc_class *Class;
struct objc_class {
MetaClass class_pointer; /* Pointer to the class's
meta class. */
struct objc_class* super_class; /* Pointer to the super
class. NULL for class
Object. */
const char* name; /* Name of the class. */
long version; /* Unknown. */
unsigned long info; /* Bit mask. See class masks
defined above. */
long instance_size; /* Size in bytes of the class.
The sum of the class
definition and all super
class definitions. */
struct objc_ivar_list* ivars; /* Pointer to a structure that
describes the instance
variables in the class
definition. NULL indicates
no instance variables. Does
not include super class
variables. */
struct objc_method_list* methods; /* Linked list of instance
methods defined for the
class. */
struct sarray * dtable; /* Pointer to instance
method dispatch table. */
struct objc_class* subclass_list; /* Subclasses */
struct objc_class* sibling_class;
struct objc_protocol_list *protocols; /* Protocols conformed to */
void* gc_object_type;
};
#ifndef __OBJC__
typedef struct objc_protocol {
struct objc_class* class_pointer;
char *protocol_name;
struct objc_protocol_list *protocol_list;
struct objc_method_description_list *instance_methods, *class_methods;
} Protocol;
#else /* __OBJC__ */
@class Protocol;
#endif
typedef void* retval_t; /* return value */
typedef void(*apply_t)(void); /* function pointer */
typedef union arglist {
char *arg_ptr;
char arg_regs[sizeof (char*)];
} *arglist_t; /* argument frame */
IMP objc_msg_lookup(id receiver, SEL op);
#ifdef __cplusplus
}
#endif
#endif /* not __objc_INCLUDE_GNU */
# 1 "mandel.c" 1
# 0 "mandel.c"
# 1 "<predefines>" 1
# 1 "mandel.c" 2
# 33 "mandel.c"
# 1 "/usr/include/tgmath.h" 1 3 4
# 28 "/usr/include/tgmath.h"
# 1 "/usr/include/math.h" 1 3 4
# 27 "/usr/include/math.h"
# 1 "/usr/include/features.h" 1 3 4
# 314 "/usr/include/features.h"
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 315 "/usr/include/features.h" 2 3 4
# 337 "/usr/include/features.h"
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 338 "/usr/include/features.h" 2 3 4
# 28 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/huge_val.h" 1 3 4
# 34 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/huge_valf.h" 1 3 4
# 36 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/huge_vall.h" 1 3 4
# 37 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/inf.h" 1 3 4
# 40 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/nan.h" 1 3 4
# 43 "/usr/include/math.h" 2 3 4
# 1 "/usr/include/bits/mathdef.h" 1 3 4
# 29 "/usr/include/bits/mathdef.h"
typedef float float_t;
typedef double double_t;
# 47 "/usr/include/math.h" 2 3 4
# 70 "/usr/include/math.h"
# 1 "/usr/include/bits/mathcalls.h" 1 3 4
# 55 "/usr/include/bits/mathcalls.h"
extern double acos (double __x) __attribute__ ((__nothrow__)); extern double
__acos (double __x) __attribute__ ((__nothrow__));
extern double asin (double __x) __attribute__ ((__nothrow__)); extern double
__asin (double __x) __attribute__ ((__nothrow__));
extern double atan (double __x) __attribute__ ((__nothrow__)); extern double
__atan (double __x) __attribute__ ((__nothrow__));
extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__));
extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__));
extern double cos (double __x) __attribute__ ((__nothrow__)); extern double
__cos (double __x) __attribute__ ((__nothrow__));
extern double sin (double __x) __attribute__ ((__nothrow__)); extern double
__sin (double __x) __attribute__ ((__nothrow__));
extern double tan (double __x) __attribute__ ((__nothrow__)); extern double
__tan (double __x) __attribute__ ((__nothrow__));
extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double
__cosh (double __x) __attribute__ ((__nothrow__));
extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double
__sinh (double __x) __attribute__ ((__nothrow__));
extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double
__tanh (double __x) __attribute__ ((__nothrow__));
# 89 "/usr/include/bits/mathcalls.h"
extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double
__acosh (double __x) __attribute__ ((__nothrow__));
extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double
__asinh (double __x) __attribute__ ((__nothrow__));
extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double
__atanh (double __x) __attribute__ ((__nothrow__));
# 101 "/usr/include/bits/mathcalls.h"
extern double exp (double __x) __attribute__ ((__nothrow__)); extern double
__exp (double __x) __attribute__ ((__nothrow__));
extern double frexp (double __x, int *__exponent) __attribute__
((__nothrow__)); extern double __frexp (double __x, int *__exponent)
__attribute__ ((__nothrow__));
extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__));
extern double __ldexp (double __x, int __exponent) __attribute__
((__nothrow__));
extern double log (double __x) __attribute__ ((__nothrow__)); extern double
__log (double __x) __attribute__ ((__nothrow__));
extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double
__log10 (double __x) __attribute__ ((__nothrow__));
extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__));
extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__));
# 129 "/usr/include/bits/mathcalls.h"
extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double
__expm1 (double __x) __attribute__ ((__nothrow__));
extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double
__log1p (double __x) __attribute__ ((__nothrow__));
extern double logb (double __x) __attribute__ ((__nothrow__)); extern double
__logb (double __x) __attribute__ ((__nothrow__));
extern double exp2 (double __x) __attribute__ ((__nothrow__)); extern double
__exp2 (double __x) __attribute__ ((__nothrow__));
extern double log2 (double __x) __attribute__ ((__nothrow__)); extern double
__log2 (double __x) __attribute__ ((__nothrow__));
# 154 "/usr/include/bits/mathcalls.h"
extern double pow (double __x, double __y) __attribute__ ((__nothrow__));
extern double __pow (double __x, double __y) __attribute__ ((__nothrow__));
extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double
__sqrt (double __x) __attribute__ ((__nothrow__));
extern double hypot (double __x, double __y) __attribute__ ((__nothrow__));
extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__));
extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double
__cbrt (double __x) __attribute__ ((__nothrow__));
# 179 "/usr/include/bits/mathcalls.h"
extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double fmod (double __x, double __y) __attribute__ ((__nothrow__));
extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__));
extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int __finite (double __value) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern double drem (double __x, double __y) __attribute__ ((__nothrow__));
extern double __drem (double __x, double __y) __attribute__ ((__nothrow__));
extern double significand (double __x) __attribute__ ((__nothrow__)); extern
double __significand (double __x) __attribute__ ((__nothrow__));
extern double copysign (double __x, double __y) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern double __copysign (double __x, double __y)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern double nan (__const char *__tagb) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern double __nan (__const char *__tagb)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__
((__const__));
extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0
(double) __attribute__ ((__nothrow__));
extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1
(double) __attribute__ ((__nothrow__));
extern double jn (int, double) __attribute__ ((__nothrow__)); extern double
__jn (int, double) __attribute__ ((__nothrow__));
extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0
(double) __attribute__ ((__nothrow__));
extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1
(double) __attribute__ ((__nothrow__));
extern double yn (int, double) __attribute__ ((__nothrow__)); extern double
__yn (int, double) __attribute__ ((__nothrow__));
extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf
(double) __attribute__ ((__nothrow__));
extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc
(double) __attribute__ ((__nothrow__));
extern double lgamma (double) __attribute__ ((__nothrow__)); extern double
__lgamma (double) __attribute__ ((__nothrow__));
extern double tgamma (double) __attribute__ ((__nothrow__)); extern double
__tgamma (double) __attribute__ ((__nothrow__));
extern double gamma (double) __attribute__ ((__nothrow__)); extern double
__gamma (double) __attribute__ ((__nothrow__));
extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__));
extern double __lgamma_r (double, int *__signgamp) __attribute__
((__nothrow__));
# 280 "/usr/include/bits/mathcalls.h"
extern double rint (double __x) __attribute__ ((__nothrow__)); extern double
__rint (double __x) __attribute__ ((__nothrow__));
extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__))
__attribute__ ((__const__)); extern double __nextafter (double __x, double __y)
__attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern double nexttoward (double __x, long double __y) __attribute__
((__nothrow__)) __attribute__ ((__const__)); extern double __nexttoward (double
__x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
extern double remainder (double __x, double __y) __attribute__ ((__nothrow__));
extern double __remainder (double __x, double __y) __attribute__
((__nothrow__));
extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__));
extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__));
extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb
(double __x) __attribute__ ((__nothrow__));
extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__));
extern double __scalbln (double __x, long int __n) __attribute__
((__nothrow__));
extern double nearbyint (double __x) __attribute__ ((__nothrow__)); extern
double __nearbyint (double __x) __attribute__ ((__nothrow__));
extern double round (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double trunc (double __x) __attribute__ ((__nothrow__)) __attribute__
((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double remquo (double __x, double __y, int *__quo) __attribute__
((__nothrow__)); extern double __remquo (double __x, double __y, int *__quo)
__attribute__ ((__nothrow__));
extern long int lrint (double __x) __attribute__ ((__nothrow__)); extern long
int __lrint (double __x) __attribute__ ((__nothrow__));
extern long long int llrint (double __x) __attribute__ ((__nothrow__)); extern
long long int __llrint (double __x) __attribute__ ((__nothrow__));
extern long int lround (double __x) __attribute__ ((__nothrow__)); extern long
int __lround (double __x) __attribute__ ((__nothrow__));
extern long long int llround (double __x) __attribute__ ((__nothrow__)); extern
long long int __llround (double __x) __attribute__ ((__nothrow__));
extern double fdim (double __x, double __y) __attribute__ ((__nothrow__));
extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__));
extern double fmax (double __x, double __y) __attribute__ ((__nothrow__));
extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__));
extern double fmin (double __x, double __y) __attribute__ ((__nothrow__));
extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__));
extern int __fpclassify (double __value) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern int __signbit (double __value) __attribute__ ((__nothrow__))
__attribute__ ((__const__));
extern double fma (double __x, double __y, double __z) __attribute__
((__nothrow__)); extern double __fma (double __x, double __y, double __z)
__attribute__ ((__nothrow__));
extern double scalb (double __x, double __n) __attribute__ ((__nothrow__));
extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__));
# 71 "/usr/include/math.h" 2 3 4
# 130 "/usr/include/math.h"
extern int signgam;
# 171 "/usr/include/math.h"
enum
{
FP_NAN,
FP_INFINITE,
FP_ZERO,
FP_SUBNORMAL,
FP_NORMAL
};
# 257 "/usr/include/math.h"
typedef enum
{
_IEEE_ = -1,
_SVID_,
_XOPEN_,
_POSIX_,
_ISOC_
} _LIB_VERSION_TYPE;
extern _LIB_VERSION_TYPE _LIB_VERSION;
# 282 "/usr/include/math.h"
struct exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
};
extern int matherr (struct exception *__exc);
# 29 "/usr/include/tgmath.h" 2 3 4
# 1 "/usr/include/complex.h" 1 3 4
# 29 "/usr/include/complex.h"
# 1 "/usr/include/bits/mathdef.h" 1 3 4
# 30 "/usr/include/complex.h" 2 3 4
# 67 "/usr/include/complex.h"
# 1 "/usr/include/bits/cmathcalls.h" 1 3 4
# 54 "/usr/include/bits/cmathcalls.h"
extern double _Complex cacos (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __cacos (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex casin (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __casin (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex catan (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __catan (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex ccos (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __ccos (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex csin (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __csin (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex ctan (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __ctan (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex cacosh (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __cacosh (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex casinh (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __casinh (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex catanh (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __catanh (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex ccosh (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __ccosh (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex csinh (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __csinh (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex ctanh (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __ctanh (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex cexp (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __cexp (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex clog (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __clog (double _Complex __z)
__attribute__ ((__nothrow__));
# 102 "/usr/include/bits/cmathcalls.h"
extern double _Complex cpow (double _Complex __x, double _Complex __y)
__attribute__ ((__nothrow__)); extern double _Complex __cpow (double _Complex
__x, double _Complex __y) __attribute__ ((__nothrow__));
extern double _Complex csqrt (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __csqrt (double _Complex __z)
__attribute__ ((__nothrow__));
extern double cabs (double _Complex __z) __attribute__ ((__nothrow__)); extern
double __cabs (double _Complex __z) __attribute__ ((__nothrow__));
extern double carg (double _Complex __z) __attribute__ ((__nothrow__)); extern
double __carg (double _Complex __z) __attribute__ ((__nothrow__));
extern double _Complex conj (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __conj (double _Complex __z)
__attribute__ ((__nothrow__));
extern double _Complex cproj (double _Complex __z) __attribute__
((__nothrow__)); extern double _Complex __cproj (double _Complex __z)
__attribute__ ((__nothrow__));
extern double cimag (double _Complex __z) __attribute__ ((__nothrow__)); extern
double __cimag (double _Complex __z) __attribute__ ((__nothrow__));
extern double creal (double _Complex __z) __attribute__ ((__nothrow__)); extern
double __creal (double _Complex __z) __attribute__ ((__nothrow__));
# 68 "/usr/include/complex.h" 2 3 4
# 81 "/usr/include/complex.h"
# 1 "/usr/include/bits/cmathcalls.h" 1 3 4
# 54 "/usr/include/bits/cmathcalls.h"
extern float _Complex cacosf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __cacosf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex casinf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __casinf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex catanf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __catanf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex ccosf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex __ccosf (float _Complex __z) __attribute__
((__nothrow__));
extern float _Complex csinf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex __csinf (float _Complex __z) __attribute__
((__nothrow__));
extern float _Complex ctanf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex __ctanf (float _Complex __z) __attribute__
((__nothrow__));
extern float _Complex cacoshf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __cacoshf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex casinhf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __casinhf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex catanhf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __catanhf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex ccoshf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __ccoshf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex csinhf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __csinhf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex ctanhf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __ctanhf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float _Complex cexpf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex __cexpf (float _Complex __z) __attribute__
((__nothrow__));
extern float _Complex clogf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex __clogf (float _Complex __z) __attribute__
((__nothrow__));
# 102 "/usr/include/bits/cmathcalls.h"
extern float _Complex cpowf (float _Complex __x, float _Complex __y)
__attribute__ ((__nothrow__)); extern float _Complex __cpowf (float _Complex
__x, float _Complex __y) __attribute__ ((__nothrow__));
extern float _Complex csqrtf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __csqrtf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float cabsf (float _Complex __z) __attribute__ ((__nothrow__)); extern
float __cabsf (float _Complex __z) __attribute__ ((__nothrow__));
extern float cargf (float _Complex __z) __attribute__ ((__nothrow__)); extern
float __cargf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex conjf (float _Complex __z) __attribute__ ((__nothrow__));
extern float _Complex __conjf (float _Complex __z) __attribute__
((__nothrow__));
extern float _Complex cprojf (float _Complex __z) __attribute__
((__nothrow__)); extern float _Complex __cprojf (float _Complex __z)
__attribute__ ((__nothrow__));
extern float cimagf (float _Complex __z) __attribute__ ((__nothrow__)); extern
float __cimagf (float _Complex __z) __attribute__ ((__nothrow__));
extern float crealf (float _Complex __z) __attribute__ ((__nothrow__)); extern
float __crealf (float _Complex __z) __attribute__ ((__nothrow__));
# 82 "/usr/include/complex.h" 2 3 4
# 97 "/usr/include/complex.h"
# 1 "/usr/include/bits/cmathcalls.h" 1 3 4
# 54 "/usr/include/bits/cmathcalls.h"
extern long double _Complex cacosl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __cacosl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex casinl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __casinl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex catanl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __catanl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex ccosl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __ccosl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double _Complex csinl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __csinl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double _Complex ctanl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __ctanl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double _Complex cacoshl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __cacoshl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex casinhl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __casinhl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex catanhl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __catanhl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex ccoshl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __ccoshl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex csinhl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __csinhl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex ctanhl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __ctanhl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double _Complex cexpl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __cexpl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double _Complex clogl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __clogl (long double _Complex __z)
__attribute__ ((__nothrow__));
# 102 "/usr/include/bits/cmathcalls.h"
extern long double _Complex cpowl (long double _Complex __x, long double
_Complex __y) __attribute__ ((__nothrow__)); extern long double _Complex
__cpowl (long double _Complex __x, long double _Complex __y) __attribute__
((__nothrow__));
extern long double _Complex csqrtl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __csqrtl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double cabsl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double __cabsl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double cargl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double __cargl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double _Complex conjl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __conjl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double _Complex cprojl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double _Complex __cprojl (long double _Complex
__z) __attribute__ ((__nothrow__));
extern long double cimagl (long double _Complex __z) __attribute__
((__nothrow__)); extern long double __cimagl (long double _Complex __z)
__attribute__ ((__nothrow__));
extern long double creall (long double _Complex __z) __attribute__
((__nothrow__)); extern long double __creall (long double _Complex __z)
__attribute__ ((__nothrow__));
# 98 "/usr/include/complex.h" 2 3 4
# 30 "/usr/include/tgmath.h" 2 3 4
# 34 "mandel.c" 2
# 1 "/usr/include/stdio.h" 1 3 4
# 34 "/usr/include/stdio.h"
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h" 1 3 4
# 214 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h"
typedef long unsigned int size_t;
# 35 "/usr/include/stdio.h" 2 3 4
# 1 "/usr/include/bits/types.h" 1 3 4
# 28 "/usr/include/bits/types.h"
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/types.h" 2 3 4
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h" 1 3 4
# 32 "/usr/include/bits/types.h" 2 3 4
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
# 59 "/usr/include/bits/types.h"
__extension__ typedef long long int __quad_t;
__extension__ typedef unsigned long long int __u_quad_t;
# 129 "/usr/include/bits/types.h"
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 130 "/usr/include/bits/types.h" 2 3 4
__extension__ typedef __u_quad_t __dev_t;
__extension__ typedef unsigned int __uid_t;
__extension__ typedef unsigned int __gid_t;
__extension__ typedef unsigned long int __ino_t;
__extension__ typedef __u_quad_t __ino64_t;
__extension__ typedef unsigned int __mode_t;
__extension__ typedef unsigned int __nlink_t;
__extension__ typedef long int __off_t;
__extension__ typedef __quad_t __off64_t;
__extension__ typedef int __pid_t;
__extension__ typedef struct { int __val[2]; } __fsid_t;
__extension__ typedef long int __clock_t;
__extension__ typedef unsigned long int __rlim_t;
__extension__ typedef __u_quad_t __rlim64_t;
__extension__ typedef unsigned int __id_t;
__extension__ typedef long int __time_t;
__extension__ typedef unsigned int __useconds_t;
__extension__ typedef long int __suseconds_t;
__extension__ typedef int __daddr_t;
__extension__ typedef long int __swblk_t;
__extension__ typedef int __key_t;
__extension__ typedef int __clockid_t;
__extension__ typedef int __timer_t;
__extension__ typedef long int __blksize_t;
__extension__ typedef long int __blkcnt_t;
__extension__ typedef __quad_t __blkcnt64_t;
__extension__ typedef unsigned long int __fsblkcnt_t;
__extension__ typedef __u_quad_t __fsblkcnt64_t;
__extension__ typedef unsigned long int __fsfilcnt_t;
__extension__ typedef __u_quad_t __fsfilcnt64_t;
__extension__ typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
__extension__ typedef int __intptr_t;
__extension__ typedef unsigned int __socklen_t;
# 37 "/usr/include/stdio.h" 2 3 4
# 46 "/usr/include/stdio.h"
typedef struct _IO_FILE FILE;
# 62 "/usr/include/stdio.h"
typedef struct _IO_FILE __FILE;
# 72 "/usr/include/stdio.h"
# 1 "/usr/include/libio.h" 1 3 4
# 32 "/usr/include/libio.h"
# 1 "/usr/include/_G_config.h" 1 3 4
# 14 "/usr/include/_G_config.h"
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h" 1 3 4
# 326 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h"
typedef int wchar_t;
# 355 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h"
typedef int wint_t;
# 15 "/usr/include/_G_config.h" 2 3 4
# 24 "/usr/include/_G_config.h"
# 1 "/usr/include/wchar.h" 1 3 4
# 48 "/usr/include/wchar.h"
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h" 1 3 4
# 49 "/usr/include/wchar.h" 2 3 4
# 1 "/usr/include/bits/wchar.h" 1 3 4
# 51 "/usr/include/wchar.h" 2 3 4
# 76 "/usr/include/wchar.h"
typedef struct
{
int __count;
union
{
wint_t __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 25 "/usr/include/_G_config.h" 2 3 4
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/include/_G_config.h"
# 1 "/usr/include/gconv.h" 1 3 4
# 28 "/usr/include/gconv.h"
# 1 "/usr/include/wchar.h" 1 3 4
# 48 "/usr/include/wchar.h"
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h" 1 3 4
# 49 "/usr/include/wchar.h" 2 3 4
# 29 "/usr/include/gconv.h" 2 3 4
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stddef.h" 1 3 4
# 32 "/usr/include/gconv.h" 2 3 4
enum
{
__GCONV_OK = 0,
__GCONV_NOCONV,
__GCONV_NODB,
__GCONV_NOMEM,
__GCONV_EMPTY_INPUT,
__GCONV_FULL_OUTPUT,
__GCONV_ILLEGAL_INPUT,
__GCONV_INCOMPLETE_INPUT,
__GCONV_ILLEGAL_DESCRIPTOR,
__GCONV_INTERNAL_ERROR
};
enum
{
__GCONV_IS_LAST = 0x0001,
__GCONV_IGNORE_ERRORS = 0x0002
};
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
__const unsigned char **, __const unsigned char *,
unsigned char **, size_t *, int, int);
typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);
typedef int (*__gconv_trans_fct) (struct __gconv_step *,
struct __gconv_step_data *, void *,
__const unsigned char *,
__const unsigned char **,
__const unsigned char *, unsigned char **,
size_t *);
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
__const unsigned char *,
unsigned char *, unsigned char *);
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
size_t *);
typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);
struct __gconv_trans_data
{
__gconv_trans_fct __trans_fct;
__gconv_trans_context_fct __trans_context_fct;
__gconv_trans_end_fct __trans_end_fct;
void *__data;
struct __gconv_trans_data *__next;
};
struct __gconv_step
{
struct __gconv_loaded_object *__shlib_handle;
__const char *__modname;
int __counter;
char *__from_name;
char *__to_name;
__gconv_fct __fct;
__gconv_btowc_fct __btowc_fct;
__gconv_init_fct __init_fct;
__gconv_end_fct __end_fct;
int __min_needed_from;
int __max_needed_from;
int __min_needed_to;
int __max_needed_to;
int __stateful;
void *__data;
};
struct __gconv_step_data
{
unsigned char *__outbuf;
unsigned char *__outbufend;
int __flags;
int __invocation_counter;
int __internal_use;
__mbstate_t *__statep;
__mbstate_t __state;
struct __gconv_trans_data *__trans;
};
typedef struct __gconv_info
{
size_t __nsteps;
struct __gconv_step *__steps;
__extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/usr/include/_G_config.h" 2 3 4
typedef union
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
} _G_iconv_t;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 33 "/usr/include/libio.h" 2 3 4
# 53 "/usr/include/libio.h"
# 1 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stdarg.h" 1 3 4
# 43 "/usr/lib/gcc/i386-redhat-linux/4.0.2/include/stdarg.h"
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/include/libio.h" 2 3 4
# 166 "/usr/include/libio.h"
struct _IO_jump_t; struct _IO_FILE;
# 176 "/usr/include/libio.h"
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 199 "/usr/include/libio.h"
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 267 "/usr/include/libio.h"
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _flags2;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 315 "/usr/include/libio.h"
__off64_t _offset;
void *__pad1;
void *__pad2;
int _mode;
char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];
};
typedef struct _IO_FILE _IO_FILE;
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 354 "/usr/include/libio.h"
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
# 362 "/usr/include/libio.h"
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
size_t __n);
# 371 "/usr/include/libio.h"
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
# 406 "/usr/include/libio.h"
extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__));
extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__));
extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__));
# 444 "/usr/include/libio.h"
extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__));
extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
# 474 "/usr/include/libio.h"
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict) __attribute__ ((__nothrow__));
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list) __attribute__ ((__nothrow__));
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__
((__nothrow__));
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__
((__nothrow__));
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__
((__nothrow__));
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__
((__nothrow__));
extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
# 73 "/usr/include/stdio.h" 2 3 4
# 88 "/usr/include/stdio.h"
typedef _G_fpos_t fpos_t;
# 138 "/usr/include/stdio.h"
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 139 "/usr/include/stdio.h" 2 3 4
extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;
# 154 "/usr/include/stdio.h"
extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
extern int rename (__const char *__old, __const char *__new) __attribute__
((__nothrow__));
# 166 "/usr/include/stdio.h"
extern FILE *tmpfile (void);
# 180 "/usr/include/stdio.h"
extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));
extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));
# 198 "/usr/include/stdio.h"
extern char *tempnam (__const char *__dir, __const char *__pfx)
__attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
# 208 "/usr/include/stdio.h"
extern int fclose (FILE *__stream);
extern int fflush (FILE *__stream);
# 223 "/usr/include/stdio.h"
extern int fflush_unlocked (FILE *__stream);
# 243 "/usr/include/stdio.h"
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes);
extern FILE *freopen (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream);
# 275 "/usr/include/stdio.h"
extern FILE *fdopen (int __fd, __const char *__modes) __attribute__
((__nothrow__));
# 299 "/usr/include/stdio.h"
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf)
__attribute__ ((__nothrow__));
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) __attribute__ ((__nothrow__));
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) __attribute__ ((__nothrow__));
extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
# 323 "/usr/include/stdio.h"
extern int fprintf (FILE *__restrict __stream,
__const char *__restrict __format, ...);
extern int printf (__const char *__restrict __format, ...);
extern int sprintf (char *__restrict __s,
__const char *__restrict __format, ...) __attribute__ ((__nothrow__));
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg);
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg) __attribute__ ((__nothrow__));
extern int snprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, ...)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3,
4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3,
0)));
# 395 "/usr/include/stdio.h"
extern int fscanf (FILE *__restrict __stream,
__const char *__restrict __format, ...);
extern int scanf (__const char *__restrict __format, ...);
extern int sscanf (__const char *__restrict __s,
__const char *__restrict __format, ...) __attribute__ ((__nothrow__));
# 413 "/usr/include/stdio.h"
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__format__ (__scanf__, 1, 0)));
extern int vsscanf (__const char *__restrict __s,
__const char *__restrict __format, __gnuc_va_list __arg)
__attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2,
0)));
# 437 "/usr/include/stdio.h"
extern int fgetc (FILE *__stream);
extern int getc (FILE *__stream);
extern int getchar (void);
# 456 "/usr/include/stdio.h"
extern int getc_unlocked (FILE *__stream);
extern int getchar_unlocked (void);
# 467 "/usr/include/stdio.h"
extern int fgetc_unlocked (FILE *__stream);
# 479 "/usr/include/stdio.h"
extern int fputc (int __c, FILE *__stream);
extern int putc (int __c, FILE *__stream);
extern int putchar (int __c);
# 500 "/usr/include/stdio.h"
extern int fputc_unlocked (int __c, FILE *__stream);
# 508 "/usr/include/stdio.h"
extern int putc_unlocked (int __c, FILE *__stream);
extern int putchar_unlocked (int __c);
extern int getw (FILE *__stream);
extern int putw (int __w, FILE *__stream);
# 528 "/usr/include/stdio.h"
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream);
extern char *gets (char *__s);
# 585 "/usr/include/stdio.h"
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
extern int puts (__const char *__s);
extern int ungetc (int __c, FILE *__stream);
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream);
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s);
# 633 "/usr/include/stdio.h"
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream);
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream);
# 645 "/usr/include/stdio.h"
extern int fseek (FILE *__stream, long int __off, int __whence);
extern long int ftell (FILE *__stream);
extern void rewind (FILE *__stream);
# 694 "/usr/include/stdio.h"
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
# 722 "/usr/include/stdio.h"
extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
extern int feof (FILE *__stream) __attribute__ ((__nothrow__));
extern int ferror (FILE *__stream) __attribute__ ((__nothrow__));
extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
# 742 "/usr/include/stdio.h"
extern void perror (__const char *__s);
# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
# 27 "/usr/include/bits/sys_errlist.h"
extern int sys_nerr;
extern __const char *__const sys_errlist[];
# 750 "/usr/include/stdio.h" 2 3 4
extern int fileno (FILE *__stream) __attribute__ ((__nothrow__));
extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
# 769 "/usr/include/stdio.h"
extern FILE *popen (__const char *__command, __const char *__modes);
extern int pclose (FILE *__stream);
extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
# 809 "/usr/include/stdio.h"
extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__));
extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
# 37 "mandel.c" 2
volatile double __complex__ accum;
void mandel() {
int x, y, n;
for (y = 0; y < 50; ++y) {
for (x = 0; x < 150; ++x) {
double __complex__ c = (-2.1 +x*((1.0 - -2.1)/150)) + (-1.25 +y*((- -1.25
- -1.25)/50)) * (__extension__ 1.0iF);
double __complex__ z = 0.0;
for (n = 0; n < 100; ++n) {
z = z * z + c;
if ((__extension__ ({ __typeof__(*(0 ? (__typeof__ (0 ? (double *) 0 :
(void *) ((((__typeof__((__real__ z) + (__imag__ z))) 0.25) &&
((__typeof__((__real__ z) + (__imag__ z))) 0.25 - 1))))) 0 : (__typeof__ (0 ?
(__typeof__((__real__ z) + (__imag__ z)) *) 0 : (void *)
(!((((__typeof__((__real__ z) + (__imag__ z))) 0.25) && ((__typeof__((__real__
z) + (__imag__ z))) 0.25 - 1)))))) 0)) __tgmres; if ((sizeof (__real__ z) >
sizeof (double) || sizeof (__imag__ z) > sizeof (double)) &&
__builtin_classify_type ((__real__ z) + (__imag__ z)) == 8) __tgmres = hypotl
(__real__ z, __imag__ z); else if (sizeof (__real__ z) == sizeof (double) ||
sizeof (__imag__ z) == sizeof (double) || __builtin_classify_type (__real__ z)
!= 8 || __builtin_classify_type (__imag__ z) != 8) __tgmres = hypot (__real__
z, __imag__ z); else __tgmres = hypotf (__real__ z, __imag__ z); __tgmres; }))
>= 2)
break;
}
if (n == 100)
putchar(' ');
else if (n > 6)
putchar('.');
else if (n > 3)
putchar('+');
else if (n > 2)
putchar('x');
else
putchar('*');
}
putchar('\n');
}
}
int main() {
mandel();
return 0;
}
// RUN: clang -fsyntax-only -verify %s
// --- decl-specifier storage-class-specifier extern ---
//objects
extern char foo;
struct DS;
extern struct DS ds;
extern struct S s;
extern union U u;
// extern class C c; // FIXME: support for class keyword
//functions
extern char bar(int);
// --- linkage-specification ---
// syntax: extern string-literal declaration
extern "C" int g();
extern "C++" int h();
extern "FORTRAN" int F(); // expected-error {{unknown linkage language}}
extern "Fortran" int F(); // expected-error {{unknown linkage language}}
// syntax: extern string-literal { declaration-seqopt }
extern "C" {
int cg();
int ch();
}
extern "C++" {
int cxxg();
int cxxh();
}
// extern { // should be "C++" as default language I think,
// but g++ emit: cxx-extern.cpp:33: error: expected
unqualified-id before â{â token
// int cxxg(); // redeclare cxxg(), Ok
// int cxxh(); // redeclare cxxh(), Ok
// }
extern "FORTRAN" { // expected-error {{unknown linkage language}}
int FG();
int FH();
}
extern "Ada" { // expected-error {{unknown linkage language}}
int AG();
int AH();
}
// --- nested linkage-specifier
extern "C++" {
int cpp_ggg(); // C++ linkage
extern "C" {
void c_ggg(); // C linkage
extern "Ada" { // expected-error {{unknown linkage language}}
void ada_ggg(); // Ada linkage
extern int cpp_ggg2(); // C++ linkage ??
extern int c_ggg2(); // C linkage ??
}
}
}
// --- explicit-instantiation ---
// extern template declaration
// FIXME: need tests if C++ explicit-instantiation dark corners are ever
explored
_______________________________________________
cfe-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev