This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Invalid code in <limits>




--On Wednesday, January 29, 2003 12:18:31 AM -0800 Richard Henderson <rth@redhat.com> wrote:

On Wed, Jan 29, 2003 at 12:06:18AM -0800, Mark Mitchell wrote:
The bottom line is that there's no need to make the compiler work
hard to deal with this stuff; it's easy to make a keyword whose value
is "__builtin_huge_valf () / 2 == __builtin_huge_valf ()" or
"__builtin_nanf ("") != __builtin_nanf ("")"; you just evaluate that
expression in the guts of the compiler where it can do whatever it
wants.
Ok, but how about

	struct S {
	  static const double f = 1.0;
	  static const double g = __builtin_huge_valf ();
	};
You can't do this for two reasons: you're using a function call, and
you can only initialize integral/enumeration type data members this way.

--
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]