Find a file
Mark Mitchell 14d22dd667 c-common.c (builtin_define_float_constants): Define __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
* c-common.c (builtin_define_float_constants): Define
	__<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.

	* call.c (build_field_call): Use build_new_op, not build_opfncall.
	(prep_operand): New function.
	(build_new_op): Use it.  Remove dead code.
	* class.c (pushclass): Change "modify" parameter type from int to
	bool.
	(currently_open_class): Use same_type_p, not pointer equality.
	(push_nested_class): Adjust calls to pushclass, remove modify
	parameter.
	* cp-tree.h (INTEGRAL_OR_ENUMERATION_TYPE_P): New macro.
	(pushclass): Change prototype.
	(push_nested_class): Likewise.
	(grokoptypename): Remove.
	(build_opfncall): Remove.
	(value_dependent_expression_p): Declare.
	(resolve_typename_type): Likewise.
	(resolve_typename_type_in_current_instantiation): Likewise.
	(enter_scope_of): Remove.
	(tsubst): Remove.
	(tsubst_expr): Likewise.
	(tsubst_copy): Likewise.
	(tsubst_copy_and_build): Likewise.
	* decl.c (warn_about_implicit_typename_lookup): Remove.
	(finish_case_label): Return error_mark_node for erroneous labels.
	(start_decl): Adjust calls to push_nested_class.
	(grokfndecl): Call push_scope/pop_scope around call to
	duplicate_decls.
	(grokdeclarator): Do not call tsubst.
	(start_function): Adjust calls to push_nested_class.
	* decl2.c (grok_array_decl): Use build_new_op, not build_opfncall.
	(check_classfn): Use push_scope/pop_scope around type comparisions.
	(grokoptypename): Remove.
	(push_sscope): Adjust call to push_nested_class.
	* error.c (dump_type): Show cv-qualification of typename types.
	* init.c (build_member_call): Use build_new_op, not
	build_opfncall.
	* method.c (build_opfncall): Remove.
	* parser.c (cp_parser): Add allow_non_constant_expression_p and
	non_constant_expression_p.
	(cp_parser_constant_expression): Adjust prototype.
	(cp_parser_resolve_typename_type): Remove.
	(cp_parser_non_constant_expression): New function.
	(cp_parser_non_constant_id_expression): Likewise.
	(cp_parser_new): Set allow_non_constant_expression_p and
	non_constant_expression_p.
	(cp_parser_primary_expression): Reject `this' and `va_arg' in
	constant-expressions.  Note that dependent names aren't really
	constant.
	(cp_parser_postfix_expression): Reject conversions to non-integral
	types in constant-expressions.  Neither are increments or
	decrements.
	(cp_parser_unary_expression): Reject increments and decrements in
	constant-expressions.
	(cp_parser_direct_new_declarator): Adjust call to
	cp_parser_constant_expression.
	(cp_parser_cast_expression): Reject conversions to non-integral
	types in constant-expressions.
	(cp_parser_assignment_expression): Rejects assignments in
	constant-expressions.
	(cp_parser_expression): Reject commas in constant-expressions.
	(cp_parser_labeled_statement): Adjust call to
	cp_parser_constant_expression.
	(cp_parser_direct_declarator): Simplify array bounds, even in
	templates, when they are non-dependent.  Use
	resolve_typename_type, not cp_parser_resolve_typename_type.
	(cp_parser_class_head): Use resolve_typename_type, not
	cp_parser_resolve_typename_type.
	(cp_parser_member_declaration): Adjust call to
	cp_parser_constant_expression.
	(cp_parser_constant_initializer): Likewise.
	(cp_parser_constructor_declarator): Use resolve_typename_type, not
	cp_parser_resolve_typename_type.
	(cp_parser_late_parsing_default_args): Adjust call to
	push_nested_class.
	* pt.c (tsubst): Give it internal linkage.
	(tsubst_expr): Likewise.
	(tsubst_copy): Likewise.
	(tsubst_copy_and_build): Likewise.
	(push_access_scope_real): Likewise.
	(tsubst_friend_class): Likewise.
	(instantiate_class_template): Adjust call to pushclass.
	(value_dependent_expression_p): Give it external linkage.
	Robustify.
	(resolve_typename_type): New function.
	* semantics.c (finish_call_expr): Use build_new_op, not
	build_opfncall.
	(begin_constructor_declarator): Remove.
	(begin_class_definition): Adjust call to pushclass.
	(enter_scope_of): Remove.
	* typeck.c (comptypes): Resolve typename types as appropriate.
	(build_x_indirect_ref): Use build_new_op, not build_opfncall.
	(build_x_compound_expr): Likewise.
	(build_modify_expr): Likewise.
	(build_x_modify_expr): Likewise.
	* typeck2.c (build_x_arrow): Likewise.

	* g++.dg/parser/constant1.C: New test.

	* include/std/std_limits.h (numeric_limits<float>::has_infinity):
	Use __FLT_HAS_INIFINITY__ to initialize.
	(numeric_limits<float>::has_quiet_NaN): Likewise.
	(numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
	to initialize.
	(numeric_limits<double>::has_quiet_NaN): Likewise.
	(numeric_limits<long double>::has_infinity): Use
	__LDBL_HAS_INIFINITY__ to initialize.
	(numeric_limits<long_double>::has_quiet_NaN): Likewise.

From-SVN: r62130
2003-01-30 07:24:02 +00:00
boehm-gc configure.in (toolexecdir, [...]): Set and AC_SUBST. 2003-01-28 01:44:37 +00:00
config acx.m4: Name cache variables properly. 2002-12-28 17:57:00 +00:00
contrib test_summary (configflags): Only use the first match. 2003-01-19 14:34:12 +00:00
fastjar jargrep.c: Include xregex.h from libiberty instead of system regex.h for better portability. 2003-01-28 22:25:47 +00:00
gcc c-common.c (builtin_define_float_constants): Define __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__. 2003-01-30 07:24:02 +00:00
include hashtab.h (htab_alloc_with_arg, [...]): Add new types. 2003-01-26 07:09:41 +00:00
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
libf2c Makefile.in ($(LIBG2C)): -rpath is glibcpp_toolexeclibdir. 2003-01-28 01:44:38 +00:00
libffi ppc_closure.S: Recode to fit shared libs. 2003-01-29 23:53:54 +00:00
libiberty * Makefile.in (all-subdir, check-subdir, installcheck-subdir) 2003-01-28 21:52:14 +00:00
libjava Component.java (processPaintEvent): Dispose of Graphics object when finished. 2003-01-28 23:49:46 +00:00
libobjc aclocal.m4 (glibcpp_toolexeclibdir): Instead of $(MULTISUBDIR)... 2003-01-28 01:48:33 +00:00
libstdc++-v3 c-common.c (builtin_define_float_constants): Define __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__. 2003-01-30 07:24:02 +00:00
maintainer-scripts * root.texi: Change version number to 3.4. 2002-12-16 22:18:33 +00:00
zlib ChangeLog file for zlib 2003-01-28 01:48:38 +00:00
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
ChangeLog * MAINTAINERS Add myself to write-after-approval list. 2003-01-29 18:43:30 +01:00
config-ml.in config-ml.in doesn't need to worry about cygnus configure 2002-07-01 19:59:22 +00:00
config.guess config.guess: Update to 2003-01-03 version. 2003-01-08 14:49:26 -08:00
config.if config.if (libstdcxx_incdir): Version C++ headers. 2002-06-27 10:19:53 +00:00
config.sub config.guess: Update to 2003-01-03 version. 2003-01-08 14:49:26 -08:00
configure Rebuilt with autoconf 2.13 2003-01-27 17:22:12 +00:00
configure.in configure.in: Revert 24Jan change. 2003-01-27 14:56:12 +00:00
COPYING COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes... 2000-12-18 21:47:20 +00:00
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
install-sh * install-sh: Use _inst.$$_ for temp file name. 2002-01-25 18:42:28 -05:00
libtool.m4 libtool.m4 (libtool_flags): Add patch from libtool CVS... 2002-11-20 16:18:53 +01:00
ltcf-c.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltcf-cxx.sh * ltcf-cxx.sh (hpux*): Modify to support ia64-*-hpux*. 2002-07-04 22:52:03 +00:00
ltcf-gcj.sh Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
ltconfig ltconfig (osf[345]): Append $major to soname_spec. 2002-11-20 15:59:07 +00:00
ltmain.sh ltconfig (osf[345]): Append $major to soname_spec. 2002-11-20 15:59:07 +00:00
MAINTAINERS Added 'Fariborz Jahanian' to the 'Write After Approval' list. 2003-01-29 19:08:42 +00:00
Makefile.def Makefile.in: Rebuilt. 2002-12-31 20:10:53 +00:00
Makefile.in configure.in: Substitute TOPLEVEL_CONFIGURE_ARGUMENTS. 2003-01-10 16:41:48 +00:00
Makefile.tpl configure.in: Substitute TOPLEVEL_CONFIGURE_ARGUMENTS. 2003-01-10 16:41:48 +00:00
missing merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkdep merge with /cvs/src 2000-07-22 04:08:22 -04:00
mkinstalldirs
move-if-change
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
symlink-tree Makefile.in: handle DOS-style absolute paths. 2000-12-09 11:06:19 -05:00
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.