Go to file
Joseph Myers 97fcf7446c Restore DECIMAL_DIG macro to C99/C11 value.
By extending the set of floating types, TS 18661-3 thereby affected
the definition of DECIMAL_DIG, which is defined in terms of the
"widest supported floating type".  This is not conditional on whether
__STDC_WANT_IEC_60559_TYPES_EXT__ is defined when <float.h> is
included.

I raised this possible incompatibility with C11 (an implementation
should be able to conform simultaneously with C11, and with C11 + TS
18661) in DR#501.  This is not yet resolved, but the latest proposal
<http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2108.pdf> would
obsolete DECIMAL_DIG with the intention of limiting it to the C11
types (so making it equivalent to LDBL_DECIMAL_DIG).  (This proposal
is intended to go along with a corresponding change to TS 18661-3 to
avoid the new types and non-arithmetic interchange encodings affecting
the value of DECIMAL_DIG.)

To avoid releasing GCC 7 with a wider-than-C11 value of DECIMAL_DIG
and possibly reverting back to a C11 value in a future release, this
patch reverts back to the C11 value now.  If the proposed resolution
to DR#501 changes again so that DECIMAL_DIG *should* have a
wider-than-C11 value, we can move back to a wider-than-C11 value in
GCC 8.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc/c-family:
	* c-cppbuiltin.c (builtin_define_float_constants): Define
	__DECIMAL_DIG__ to the value for long double.

gcc/testsuite:
	* gcc.dg/c11-float-2.c: New test.
	* gcc.dg/torture/float128-floath.c,
	gcc.dg/torture/float128x-floath.c,
	gcc.dg/torture/float16-floath.c, gcc.dg/torture/float32-floath.c,
	gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float64-floath.c,
	gcc.dg/torture/float64x-floath.c: Do not test comparison of
	*_DECIMAL_DIG macros with DECIMAL_DIG.

From-SVN: r245555
2017-02-17 23:04:14 +00:00
INSTALL README: Do not mention CVS. 2014-10-12 15:05:28 +00:00
config isl.m4: Remove support for ISL 0.14. 2017-02-13 08:54:02 +00:00
contrib RISC-V Port: contrib 2017-02-06 21:39:08 +00:00
fixincludes alloca.h: New file. 2017-02-11 21:11:44 +00:00
gcc Restore DECIMAL_DIG macro to C99/C11 value. 2017-02-17 23:04:14 +00:00
gnattools configure.ac: Add ACX_NONCANONICAL_HOST. 2016-05-16 08:55:12 +00:00
gotools libgo: update to Go 1.8 release candidate 1 2017-01-14 00:05:42 +00:00
include Introduce C++ support in libcc1 2017-01-31 01:02:03 +00:00
intl config-ml.in: Remove references to GCJ. 2016-11-15 16:34:02 +00:00
libada re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-17 10:38:48 +01:00
libatomic RISC-V Port: libatomic 2017-02-06 21:38:57 +00:00
libbacktrace Update copyright years. 2017-01-01 13:07:43 +01:00
libcc1 Introduce C++ support in libcc1 2017-01-31 01:02:03 +00:00
libcilkrts re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-20 09:27:29 +01:00
libcpp * Makefile.in (po/$(PACKAGE).pot): Adjust bug reporting URL. 2017-02-09 08:55:46 +00:00
libdecnumber re PR rtl-optimization/79003 (r238991 breaks ODR) 2017-01-08 17:43:30 +01:00
libffi re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-21 09:47:11 +01:00
libgcc value-unwind.h: New file. 2017-02-16 16:27:42 +00:00
libgfortran re PR fortran/79305 (real128 - undefined reference to cexpl) 2017-01-31 18:50:31 +00:00
libgo libgo: update to final Go 1.8 release 2017-02-17 15:43:39 +00:00
libgomp Enable libgomp.c/pr48591.c on __float128 targets 2017-02-15 16:35:54 +00:00
libhsail-rt configure.tgt: Fix i?86-*-linux* entry. 2017-02-01 08:56:49 +01:00
libiberty Fix PR70182 -- missing "on" in mangling of unresolved operators 2017-01-18 08:49:11 +00:00
libitm re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-21 09:47:11 +01:00
libmpx * mpxrt/mpxrt-utils.h (__mpxrt_stop): New prototype. 2017-01-30 15:26:24 +01:00
libobjc re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test) 2017-02-07 11:29:06 +00:00
liboffloadmic libgomp: Provide prototypes for functions implemented by libgomp plugins 2017-01-31 15:32:58 +01:00
libquadmath configure.ac (ACX_BUGURL): Update. 2017-02-09 10:56:08 +00:00
libsanitizer re PR sanitizer/79562 (sanitizer breaks bootstrap of x86_64-*-freebsd) 2017-02-16 22:23:51 +01:00
libssp re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-17 10:38:48 +01:00
libstdc++-v3 policy_data_structures.xml: Simplify and standardize references to boost.org. 2017-02-16 15:25:18 +00:00
libvtv re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-21 09:47:11 +01:00
lto-plugin re PR other/79046 (g++ -print-file-name=plugin uses full version number in path) 2017-01-17 10:38:48 +01:00
maintainer-scripts * update_web_docs_svn (MANUALS): Add libitm. 2017-02-07 23:25:19 +00:00
zlib 2017-01-22 Matthias Klose <doko@ubuntu.com> 2017-01-22 18:07:04 +00:00
.dir-locals.el * .dir-locals.el: Add. 2013-10-16 18:25:31 +00:00
.gitattributes add basic .gitattributes files to notice whitespace issues 2016-04-23 02:37:43 +00:00
.gitignore .gitignore: Ignore in-tree prerequisites. 2016-09-09 17:20:55 -04:00
ABOUT-NLS
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
ChangeLog Restore Graphite fuse-*.c testing 2017-02-15 15:43:42 +01:00
ChangeLog.jit Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
ChangeLog.tree-ssa
MAINTAINERS * MAINTAINERS: Adjust bug reporting URL. 2017-02-07 20:46:21 +00:00
Makefile.def Brig front-end 2017-01-24 13:45:56 +01:00
Makefile.in Restore Graphite fuse-*.c testing 2017-02-15 15:43:42 +01:00
Makefile.tpl Restore Graphite fuse-*.c testing 2017-02-15 15:43:42 +01:00
README
compile Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
config-ml.in config-ml.in: Remove references to GCJ. 2016-11-15 16:34:02 +00:00
config.guess config.guess: Import latest version. 2016-11-25 08:38:27 +11:00
config.rpath
config.sub * config.sub: Import latest version. 2016-12-29 22:04:53 +11:00
configure isl.m4: Remove support for ISL 0.14. 2017-02-13 08:54:02 +00:00
configure.ac configure.ac: Add gcc/function-tests.o to compare_exclusions for 32-bit hppa*-*-hpux*. 2017-02-04 00:25:19 +00:00
depcomp Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
install-sh Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
libtool-ldflags re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:23:28 +02:00
libtool.m4 * libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols. 2015-11-26 08:20:59 -05:00
ltgcc.m4
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788) 2014-02-04 09:31:38 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
mkdep
mkinstalldirs Update from upstream Automake files. 2014-11-16 14:07:13 +00:00
move-if-change Update move-if-change from gnulib 2014-11-16 16:12:44 +00:00
symlink-tree
ylwrap Update from upstream Automake files. 2014-11-16 14:07:13 +00:00

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with 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/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.