Compare commits
155 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
891cef7d9b | ||
|
9bce8e2449 | ||
|
55f9b2f336 | ||
|
f8b6352429 | ||
|
5e141990fb | ||
|
912e74c756 | ||
|
b84725ac52 | ||
|
7de85a2603 | ||
|
576d41c1c6 | ||
|
562d27c22f | ||
|
57a884df51 | ||
|
04dfce99db | ||
|
b05570344e | ||
|
52eb664223 | ||
|
0d8c061e19 | ||
|
56772a9401 | ||
|
4110c03341 | ||
|
4c8c128cd0 | ||
|
f684732e50 | ||
|
4562ca924e | ||
|
90028182f3 | ||
|
6919aa138f | ||
|
672c273c6d | ||
|
94498d7104 | ||
|
28742415b7 | ||
|
f2dc6d80c8 | ||
|
b2a5d6a477 | ||
|
fd99b9378d | ||
|
a3fcce8f5b | ||
|
84af04ddb6 | ||
|
b6b1340286 | ||
|
84ce3f0d05 | ||
|
5c04074052 | ||
|
4d0e748417 | ||
|
1d6c11d8df | ||
|
843493ecf7 | ||
|
bad9bc25a4 | ||
|
f790525bec | ||
|
fc147e70c0 | ||
|
8ccdd26200 | ||
|
d1c6bd89f3 | ||
|
e0c920a406 | ||
|
d228ee264c | ||
|
e6073613ef | ||
|
f147a68289 | ||
|
7ee3a099fa | ||
|
fe09f8496b | ||
|
16bcddd9d4 | ||
|
7545ecb969 | ||
|
a6c3c8f082 | ||
|
d895623061 | ||
|
a71fb3364e | ||
|
db0aca6b64 | ||
|
215844b31b | ||
|
80dc8803df | ||
|
3759f6f554 | ||
|
adee8bcb39 | ||
|
cee0dddd34 | ||
|
da335fc250 | ||
|
bcdeb85901 | ||
|
1321d9a8de | ||
|
3694befabb | ||
|
2a22f8c83a | ||
|
866b034132 | ||
|
17d43f4d58 | ||
|
b627ff6a1c | ||
|
98b4937fcb | ||
|
858f1e25fb | ||
|
e66bcabdd3 | ||
|
a2239731d4 | ||
|
c05efdcd33 | ||
|
6e4a12be24 | ||
|
7df147abdd | ||
|
2edf51cd28 | ||
|
3deee803bf | ||
|
8602ede777 | ||
|
8fb0e5b0d3 | ||
|
7ad4cfb1f2 | ||
|
c01972f342 | ||
|
b1fe12b88a | ||
|
0aaf98d346 | ||
|
c0d3a20ab3 | ||
|
4b90559c50 | ||
|
e0b3768e1a | ||
|
391f8204b0 | ||
|
b7ec01b44a | ||
|
db4105af40 | ||
|
eb398c7fb1 | ||
|
0d6e9e6a5b | ||
|
3ae68fd84a | ||
|
9647f3f8db | ||
|
0e0506dd37 | ||
|
1bfe0e3c3b | ||
|
83dbb2847c | ||
|
86d615d880 | ||
|
b182d5ff6b | ||
|
2a24f771d1 | ||
|
f445959efa | ||
|
16819750d2 | ||
|
d301a3c7b8 | ||
|
ff5dc29cd1 | ||
|
7d69d114a8 | ||
|
497de73bd7 | ||
|
c0ae016cb4 | ||
|
7c58fda150 | ||
|
313e678076 | ||
|
08f661c823 | ||
|
d40df5fcf2 | ||
|
e6bd153753 | ||
|
cc9b5fa3ba | ||
|
47b8ada335 | ||
|
ca8c0f7dc6 | ||
|
fa22fac534 | ||
|
216b951886 | ||
|
7a1512fd56 | ||
|
3139eaf997 | ||
|
da33ffbe57 | ||
|
b147991d7c | ||
|
e400728936 | ||
|
6af92eba78 | ||
|
e90615843b | ||
|
a6ea9c4518 | ||
|
402f1e9204 | ||
|
f36e50eab5 | ||
|
8f4badaa38 | ||
|
d69736566d | ||
|
544398b502 | ||
|
2cf19e11cb | ||
|
e987aff0a2 | ||
|
553b93f777 | ||
|
82e3c0071b | ||
|
6e856a1b72 | ||
|
ff60308ab9 | ||
|
9b6d8e7c01 | ||
|
23f4b29ddd | ||
|
42139e4c56 | ||
|
28eca72fa2 | ||
|
dc54e4f153 | ||
|
e3161c6575 | ||
|
5e51bccff0 | ||
|
ac2a849717 | ||
|
f5843a4192 | ||
|
7d28ff24f9 | ||
|
e8e4643647 | ||
|
e7ba2ccc61 | ||
|
dcf86feb99 | ||
|
7a880b1a75 | ||
|
fe7fce2ad1 | ||
|
45a2f253fb | ||
|
015c95afae | ||
|
0ec4e456b8 | ||
|
ecfa641ec4 | ||
|
3e19e07261 | ||
|
61f26fa336 | ||
|
5e173247a4 |
21
.gitignore
vendored
21
.gitignore
vendored
@ -1,13 +1,8 @@
|
|||||||
/gcc-7.0.1-20170126.tar.bz2
|
/gcc-10.0.1-20200118.tar.xz
|
||||||
/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.bz2
|
/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz
|
||||||
/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.bz2
|
/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz
|
||||||
/gcc-7.0.1-20170128.tar.bz2
|
/gcc-10.0.1-20200121.tar.xz
|
||||||
/gcc-7.0.1-20170131.tar.bz2
|
/gcc-10.0.1-20200123.tar.xz
|
||||||
/gcc-7.0.1-20170201.tar.bz2
|
/gcc-10.0.1-20200126.tar.xz
|
||||||
/gcc-7.0.1-20170204.tar.bz2
|
/gcc-10.0.1-20200130.tar.xz
|
||||||
/gcc-7.0.1-20170209.tar.bz2
|
/gcc-10.0.1-20200216.tar.xz
|
||||||
/gcc-7.0.1-20170211.tar.bz2
|
|
||||||
/gcc-7.0.1-20170219.tar.bz2
|
|
||||||
/gcc-7.0.1-20170225.tar.bz2
|
|
||||||
/gcc-7.0.1-20170308.tar.bz2
|
|
||||||
/gcc-7.0.1-20170309.tar.bz2
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
|
--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
|
||||||
+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
|
+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
|
||||||
@@ -481,7 +481,7 @@ AC_ARG_ENABLE(build-format-warnings,
|
@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings,
|
||||||
AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
|
AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
|
||||||
[],[enable_build_format_warnings=yes])
|
[],[enable_build_format_warnings=yes])
|
||||||
AS_IF([test $enable_build_format_warnings = no],
|
AS_IF([test $enable_build_format_warnings = no],
|
||||||
@ -13,7 +13,7 @@
|
|||||||
+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
|
+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
|
||||||
ACX_PROG_CXX_WARNING_OPTS(
|
ACX_PROG_CXX_WARNING_OPTS(
|
||||||
m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
|
m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
|
||||||
[-Wcast-qual $wf_opt])), [loose_warn])
|
[-Wcast-qual -Wno-error=format-diag $wf_opt])),
|
||||||
--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
|
--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
|
||||||
+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
|
+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
|
||||||
@@ -6647,7 +6647,7 @@ else
|
@@ -6647,7 +6647,7 @@ else
|
20
gcc10-d-shared-libphobos.patch
Normal file
20
gcc10-d-shared-libphobos.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
2019-01-17 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* d-spec.cc (lang_specific_driver): Make -shared-libphobos
|
||||||
|
the default rather than -static-libphobos.
|
||||||
|
|
||||||
|
--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100
|
||||||
|
+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100
|
||||||
|
@@ -405,9 +405,9 @@ lang_specific_driver (cl_decoded_option
|
||||||
|
/* Add `-lgphobos' if we haven't already done so. */
|
||||||
|
if (phobos_library != PHOBOS_NOLINK && need_phobos)
|
||||||
|
{
|
||||||
|
- /* Default to static linking. */
|
||||||
|
- if (phobos_library != PHOBOS_DYNAMIC)
|
||||||
|
- phobos_library = PHOBOS_STATIC;
|
||||||
|
+ /* Default to shared linking. */
|
||||||
|
+ if (phobos_library != PHOBOS_STATIC)
|
||||||
|
+ phobos_library = PHOBOS_DYNAMIC;
|
||||||
|
|
||||||
|
#ifdef HAVE_LD_STATIC_DYNAMIC
|
||||||
|
if (phobos_library == PHOBOS_DYNAMIC && static_link)
|
@ -1,14 +1,15 @@
|
|||||||
2017-01-20 Jakub Jelinek <jakub@redhat.com>
|
2019-01-17 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* gcc.c (offload_targets_default): New variable.
|
* gcc.c (offload_targets_default): New variable.
|
||||||
(process_command): Set it if -foffload is defaulted.
|
(process_command): Set it if -foffload is defaulted.
|
||||||
(driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
|
(driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
|
||||||
into environment if -foffload has been defaulted.
|
into environment if -foffload has been defaulted.
|
||||||
* lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
|
* lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
|
||||||
(compile_images_for_offload_targets): If OFFLOAD_TARGET_DEFAULT
|
(compile_offload_image): If OFFLOAD_TARGET_DEFAULT
|
||||||
is in the environment, don't fail if corresponding mkoffload
|
is in the environment, don't fail if corresponding mkoffload
|
||||||
can't be found. Free and clear offload_names if no valid offload
|
can't be found.
|
||||||
is found.
|
(compile_images_for_offload_targets): Likewise. Free and clear
|
||||||
|
offload_names if no valid offload is found.
|
||||||
libgomp/
|
libgomp/
|
||||||
* target.c (gomp_load_plugin_for_device): If a plugin can't be
|
* target.c (gomp_load_plugin_for_device): If a plugin can't be
|
||||||
dlopened, assume it has no devices silently.
|
dlopened, assume it has no devices silently.
|
||||||
@ -57,18 +58,28 @@ libgomp/
|
|||||||
|
|
||||||
enum lto_mode_d {
|
enum lto_mode_d {
|
||||||
LTO_MODE_NONE, /* Not doing LTO. */
|
LTO_MODE_NONE, /* Not doing LTO. */
|
||||||
@@ -790,8 +791,10 @@ compile_images_for_offload_targets (unsi
|
@@ -822,6 +823,12 @@ compile_offload_image (const char *targe
|
||||||
if (!target_names)
|
break;
|
||||||
return;
|
}
|
||||||
|
|
||||||
|
+ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV))
|
||||||
|
+ {
|
||||||
|
+ free_array_of_ptrs ((void **) paths, n_paths);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!compiler)
|
||||||
|
fatal_error (input_location,
|
||||||
|
"could not find %s in %s (consider using %<-B%>)",
|
||||||
|
@@ -885,6 +892,7 @@ compile_images_for_offload_targets (unsi
|
||||||
unsigned num_targets = parse_env_var (target_names, &names, NULL);
|
unsigned num_targets = parse_env_var (target_names, &names, NULL);
|
||||||
+ const char *target_names_default = getenv (OFFLOAD_TARGET_DEFAULT_ENV);
|
|
||||||
|
|
||||||
int next_name_entry = 0;
|
int next_name_entry = 0;
|
||||||
+ bool hsa_seen = false;
|
+ bool hsa_seen = false;
|
||||||
const char *compiler_path = getenv ("COMPILER_PATH");
|
const char *compiler_path = getenv ("COMPILER_PATH");
|
||||||
if (!compiler_path)
|
if (!compiler_path)
|
||||||
goto out;
|
goto out;
|
||||||
@@ -804,18 +807,32 @@ compile_images_for_offload_targets (unsi
|
@@ -897,18 +905,26 @@ compile_images_for_offload_targets (unsi
|
||||||
/* HSA does not use LTO-like streaming and a different compiler, skip
|
/* HSA does not use LTO-like streaming and a different compiler, skip
|
||||||
it. */
|
it. */
|
||||||
if (strcmp (names[i], "hsa") == 0)
|
if (strcmp (names[i], "hsa") == 0)
|
||||||
@ -84,14 +95,8 @@ libgomp/
|
|||||||
linker_opts, linker_opt_count);
|
linker_opts, linker_opt_count);
|
||||||
if (!offload_names[next_name_entry])
|
if (!offload_names[next_name_entry])
|
||||||
- fatal_error (input_location,
|
- fatal_error (input_location,
|
||||||
- "problem with building target image for %s\n", names[i]);
|
- "problem with building target image for %s", names[i]);
|
||||||
+ {
|
|
||||||
+ if (target_names_default != NULL)
|
|
||||||
+ continue;
|
+ continue;
|
||||||
+ fatal_error (input_location,
|
|
||||||
+ "problem with building target image for %s\n",
|
|
||||||
+ names[i]);
|
|
||||||
+ }
|
|
||||||
next_name_entry++;
|
next_name_entry++;
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
--- libada/Makefile.in.jj 2009-01-14 12:07:35.000000000 +0100
|
--- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100
|
||||||
+++ libada/Makefile.in 2009-01-15 14:25:33.000000000 +0100
|
+++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100
|
||||||
@@ -66,18 +66,40 @@ libsubdir := $(libdir)/gcc/$(target_nonc
|
@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $(
|
||||||
|
libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
|
||||||
ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
|
ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
|
||||||
ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR))
|
|
||||||
|
|
||||||
+DEFAULTMULTIFLAGS :=
|
+DEFAULTMULTIFLAGS :=
|
||||||
+ifeq ($(MULTISUBDIR),)
|
+ifeq ($(MULTISUBDIR),)
|
||||||
@ -45,28 +45,17 @@
|
|||||||
"PICFLAG_FOR_TARGET=$(PICFLAG)" \
|
"PICFLAG_FOR_TARGET=$(PICFLAG)" \
|
||||||
"THREAD_KIND=$(THREAD_KIND)" \
|
"THREAD_KIND=$(THREAD_KIND)" \
|
||||||
"TRACE=$(TRACE)" \
|
"TRACE=$(TRACE)" \
|
||||||
@@ -88,7 +110,7 @@ LIBADA_FLAGS_TO_PASS = \
|
@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \
|
||||||
"exeext=.exeext.should.not.be.used " \
|
"exeext=.exeext.should.not.be.used " \
|
||||||
'CC=the.host.compiler.should.not.be.needed' \
|
'CC=the.host.compiler.should.not.be.needed' \
|
||||||
"GCC_FOR_TARGET=$(CC)" \
|
"GCC_FOR_TARGET=$(CC)" \
|
||||||
- "CFLAGS=$(CFLAGS)"
|
- "CFLAGS=$(CFLAGS)"
|
||||||
+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
|
+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
|
||||||
|
|
||||||
# Rules to build gnatlib.
|
.PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool
|
||||||
.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool
|
|
||||||
--- gcc/ada/sem_util.adb (revision 161677)
|
|
||||||
+++ gcc/ada/sem_util.adb (working copy)
|
|
||||||
@@ -5487,7 +5487,7 @@ package body Sem_Util is
|
|
||||||
Exp : Node_Id;
|
|
||||||
Assn : Node_Id;
|
|
||||||
Choice : Node_Id;
|
|
||||||
- Comp_Type : Entity_Id;
|
|
||||||
+ Comp_Type : Entity_Id := Empty;
|
|
||||||
Is_Array_Aggr : Boolean;
|
|
||||||
|
|
||||||
begin
|
--- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100
|
||||||
--- config-ml.in.jj 2010-06-30 09:50:44.000000000 +0200
|
+++ config-ml.in 2019-01-11 18:16:23.442726914 +0100
|
||||||
+++ config-ml.in 2010-07-02 21:24:17.994211151 +0200
|
|
||||||
@@ -511,6 +511,8 @@ multi-do:
|
@@ -511,6 +511,8 @@ multi-do:
|
||||||
ADAFLAGS="$(ADAFLAGS) $${flags}" \
|
ADAFLAGS="$(ADAFLAGS) $${flags}" \
|
||||||
prefix="$(prefix)" \
|
prefix="$(prefix)" \
|
||||||
@ -74,42 +63,44 @@
|
|||||||
+ mandir="$(mandir)" \
|
+ mandir="$(mandir)" \
|
||||||
+ infodir="$(infodir)" \
|
+ infodir="$(infodir)" \
|
||||||
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
||||||
|
GDCFLAGS="$(GDCFLAGS) $${flags}" \
|
||||||
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
||||||
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
|
--- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100
|
||||||
--- libcpp/macro.c.jj 2015-01-14 11:01:34.000000000 +0100
|
+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100
|
||||||
+++ libcpp/macro.c 2015-01-14 14:22:19.286949884 +0100
|
@@ -3256,8 +3256,6 @@ static cpp_macro *
|
||||||
@@ -2947,8 +2947,6 @@ create_iso_definition (cpp_reader *pfile
|
create_iso_definition (cpp_reader *pfile)
|
||||||
cpp_token *token;
|
{
|
||||||
const cpp_token *ctoken;
|
|
||||||
bool following_paste_op = false;
|
bool following_paste_op = false;
|
||||||
- const char *paste_op_error_msg =
|
- const char *paste_op_error_msg =
|
||||||
- N_("'##' cannot appear at either end of a macro expansion");
|
- N_("'##' cannot appear at either end of a macro expansion");
|
||||||
unsigned int num_extra_tokens = 0;
|
unsigned int num_extra_tokens = 0;
|
||||||
|
unsigned nparms = 0;
|
||||||
/* Get the first token of the expansion (or the '(' of a
|
cpp_hashnode **params = NULL;
|
||||||
@@ -3059,7 +3057,8 @@ create_iso_definition (cpp_reader *pfile
|
@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile
|
||||||
function-like macros, but not at the end. */
|
function-like macros, but not at the end. */
|
||||||
if (following_paste_op)
|
if (following_paste_op)
|
||||||
{
|
{
|
||||||
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
|
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
|
||||||
+ cpp_error (pfile, CPP_DL_ERROR,
|
+ cpp_error (pfile, CPP_DL_ERROR,
|
||||||
+ "'##' cannot appear at either end of a macro expansion");
|
+ "'##' cannot appear at either end of a macro "
|
||||||
return false;
|
+ "expansion");
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
break;
|
if (!vaopt_tracker.completed ())
|
||||||
@@ -3072,7 +3071,8 @@ create_iso_definition (cpp_reader *pfile
|
@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile
|
||||||
function-like macros, but not at the beginning. */
|
function-like macros, but not at the beginning. */
|
||||||
if (macro->count == 1)
|
if (macro->count == 1)
|
||||||
{
|
{
|
||||||
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
|
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
|
||||||
+ cpp_error (pfile, CPP_DL_ERROR,
|
+ cpp_error (pfile, CPP_DL_ERROR,
|
||||||
+ "'##' cannot appear at either end of a macro expansion");
|
+ "'##' cannot appear at either end of a macro "
|
||||||
return false;
|
+ "expansion");
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
--- libcpp/expr.c.jj 2015-01-14 11:01:34.000000000 +0100
|
--- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100
|
||||||
+++ libcpp/expr.c 2015-01-14 14:35:52.851002344 +0100
|
+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100
|
||||||
@@ -672,16 +672,17 @@ cpp_classify_number (cpp_reader *pfile,
|
@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile,
|
||||||
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
|
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
|
||||||
&& CPP_OPTION (pfile, cpp_warn_long_long))
|
&& CPP_OPTION (pfile, cpp_warn_long_long))
|
||||||
{
|
{
|
@ -1,15 +1,15 @@
|
|||||||
--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
|
--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
|
||||||
+++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
|
+++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
|
||||||
@@ -1046,7 +1046,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
|
@@ -1063,7 +1063,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
|
||||||
# and the system's installed libraries.
|
# and the system's installed libraries.
|
||||||
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
|
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
|
||||||
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
|
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
|
||||||
-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
||||||
+BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
+BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
||||||
$(ZLIB)
|
$(ZLIB) $(ZSTD_LIB)
|
||||||
# Any system libraries needed just for GNAT.
|
# Any system libraries needed just for GNAT.
|
||||||
SYSLIBS = @GNAT_LIBEXC@
|
SYSLIBS = @GNAT_LIBEXC@
|
||||||
@@ -2196,6 +2196,15 @@ $(out_object_file): $(out_file)
|
@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file)
|
||||||
$(common_out_object_file): $(common_out_file)
|
$(common_out_object_file): $(common_out_file)
|
||||||
$(COMPILE) $<
|
$(COMPILE) $<
|
||||||
$(POSTCOMPILE)
|
$(POSTCOMPILE)
|
||||||
@ -27,10 +27,10 @@
|
|||||||
# and compile them.
|
# and compile them.
|
||||||
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
|
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
|
||||||
+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
|
+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
|
||||||
@@ -37,6 +37,586 @@ along with GCC; see the file COPYING3.
|
@@ -39,6 +39,590 @@ along with GCC; see the file COPYING3.
|
||||||
#include <isl/schedule.h>
|
|
||||||
#include <isl/ast_build.h>
|
|
||||||
#include <isl/schedule_node.h>
|
#include <isl/schedule_node.h>
|
||||||
|
#include <isl/id.h>
|
||||||
|
#include <isl/space.h>
|
||||||
+#include <isl/version.h>
|
+#include <isl/version.h>
|
||||||
+#include <dlfcn.h>
|
+#include <dlfcn.h>
|
||||||
+
|
+
|
||||||
@ -317,7 +317,9 @@
|
|||||||
+ DYNSYM (isl_val_get_abs_num_chunks); \
|
+ DYNSYM (isl_val_get_abs_num_chunks); \
|
||||||
+ DYNSYM (isl_val_int_from_chunks); \
|
+ DYNSYM (isl_val_int_from_chunks); \
|
||||||
+ DYNSYM (isl_val_is_neg); \
|
+ DYNSYM (isl_val_is_neg); \
|
||||||
+ DYNSYM (isl_version);
|
+ DYNSYM (isl_version); \
|
||||||
|
+ DYNSYM (isl_options_get_on_error); \
|
||||||
|
+ DYNSYM (isl_ctx_reset_error);
|
||||||
+
|
+
|
||||||
+extern struct isl_pointers_s__
|
+extern struct isl_pointers_s__
|
||||||
+{
|
+{
|
||||||
@ -611,10 +613,12 @@
|
|||||||
+#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks)
|
+#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks)
|
||||||
+#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg)
|
+#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg)
|
||||||
+#define isl_version (*isl_pointers__.p_isl_version)
|
+#define isl_version (*isl_pointers__.p_isl_version)
|
||||||
|
+#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
|
||||||
|
+#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
|
||||||
|
|
||||||
typedef struct poly_dr *poly_dr_p;
|
typedef struct poly_dr *poly_dr_p;
|
||||||
|
|
||||||
@@ -458,5 +1038,6 @@ extern void build_scops (vec<scop_p> *);
|
@@ -461,5 +1045,6 @@ extern void build_scops (vec<scop_p> *);
|
||||||
extern void dot_all_sese (FILE *, vec<sese_l> &);
|
extern void dot_all_sese (FILE *, vec<sese_l> &);
|
||||||
extern void dot_sese (sese_l &);
|
extern void dot_sese (sese_l &);
|
||||||
extern void dot_cfg ();
|
extern void dot_cfg ();
|
||||||
@ -623,8 +627,8 @@
|
|||||||
#endif
|
#endif
|
||||||
--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
|
--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
|
||||||
+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
|
+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
|
||||||
@@ -55,6 +55,35 @@ along with GCC; see the file COPYING3.
|
@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
|
||||||
#include "tree-vectorizer.h"
|
#include "tree-into-ssa.h"
|
||||||
#include "graphite.h"
|
#include "graphite.h"
|
||||||
|
|
||||||
+__typeof (isl_pointers__) isl_pointers__;
|
+__typeof (isl_pointers__) isl_pointers__;
|
||||||
@ -659,7 +663,7 @@
|
|||||||
/* Print global statistics to FILE. */
|
/* Print global statistics to FILE. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -299,6 +328,15 @@ graphite_transform_loops (void)
|
@@ -365,6 +394,15 @@ graphite_transform_loops (void)
|
||||||
if (parallelized_function_p (cfun->decl))
|
if (parallelized_function_p (cfun->decl))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -672,11 +676,11 @@
|
|||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
ctx = isl_ctx_alloc ();
|
calculate_dominance_info (CDI_DOMINATORS);
|
||||||
isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT);
|
|
||||||
if (!graphite_initialize (ctx))
|
/* We rely on post-dominators during merging of SESE regions so those
|
||||||
@@ -342,6 +380,14 @@ graphite_transform_loops (void)
|
@@ -455,6 +493,14 @@ graphite_transform_loops (void)
|
||||||
isl_ctx_free (ctx);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+const char *
|
+const char *
|
@ -1,10 +1,10 @@
|
|||||||
--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100
|
--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100
|
||||||
+++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100
|
+++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100
|
||||||
@@ -5,6 +5,8 @@
|
@@ -5,6 +5,8 @@
|
||||||
<a class="link" href="http://www.fsf.org/" target="_top">FSF
|
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
||||||
</a>
|
</a>
|
||||||
</p><p>
|
</p><p>
|
||||||
+ Release 7.0.1
|
+ Release 10.0.1
|
||||||
+ </p><p>
|
+ </p><p>
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
document under the terms of the GNU Free Documentation
|
document under the terms of the GNU Free Documentation
|
||||||
@ -17,7 +17,7 @@
|
|||||||
</p><p>
|
</p><p>
|
||||||
- The API documentation, rendered into HTML, can be viewed online
|
- The API documentation, rendered into HTML, can be viewed online
|
||||||
+ The API documentation, rendered into HTML, can be viewed locally
|
+ The API documentation, rendered into HTML, can be viewed locally
|
||||||
+ <a class="link" href="api/index.html" target="_top">for the 7.0.1 release</a>,
|
+ <a class="link" href="api/index.html" target="_top">for the 10.0.1 release</a>,
|
||||||
+ online
|
+ online
|
||||||
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
||||||
and
|
and
|
@ -1,19 +1,17 @@
|
|||||||
2010-02-08 Roland McGrath <roland@redhat.com>
|
2010-02-08 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
|
* config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker.
|
||||||
linker.
|
|
||||||
* config/gnu-user.h (LINK_EH_SPEC): Likewise.
|
|
||||||
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
|
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
|
||||||
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
|
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
|
||||||
|
|
||||||
--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100
|
--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100
|
||||||
+++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100
|
+++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100
|
||||||
@@ -165,5 +165,5 @@ extern int alpha_this_gpdisp_sequence_nu
|
@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu
|
||||||
I imagine that other systems will catch up. In the meantime, it
|
I imagine that other systems will catch up. In the meantime, it
|
||||||
doesn't harm to make sure that the data exists to be used later. */
|
doesn't harm to make sure that the data exists to be used later. */
|
||||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||||
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
|
||||||
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
|
+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
|
||||||
#endif
|
#endif
|
||||||
--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
|
--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
|
||||||
+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
|
+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
|
||||||
@ -28,23 +26,12 @@
|
|||||||
#define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
|
#define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
|
||||||
--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100
|
--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100
|
||||||
+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100
|
+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100
|
||||||
@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
|
@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI
|
||||||
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
|
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
|
||||||
|
|
||||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||||
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
|
||||||
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
|
+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} "
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
|
||||||
--- gcc/config/rs6000/sysv4.h.jj 2011-01-03 13:02:18.255994215 +0100
|
|
||||||
+++ gcc/config/rs6000/sysv4.h 2011-01-04 18:14:10.933888871 +0100
|
|
||||||
@@ -820,7 +820,7 @@ extern int fixuplabelno;
|
|
||||||
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
|
|
||||||
|
|
||||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
|
||||||
-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
|
||||||
+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
|
|
30
gcc10-rh1574936.patch
Normal file
30
gcc10-rh1574936.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
crt files and statically linked libgcc objects cause false positives
|
||||||
|
in annobin coverage, so we add the assembler flag to generate notes
|
||||||
|
for them.
|
||||||
|
|
||||||
|
The patch also adds notes to libgcc_s.so, but this is harmless because
|
||||||
|
these notes only confer that there is no other annobin markup.
|
||||||
|
|
||||||
|
2018-07-25 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add
|
||||||
|
-Wa,--generate-missing-build-notes=yes.
|
||||||
|
|
||||||
|
--- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100
|
||||||
|
+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200
|
||||||
|
@@ -246,6 +246,7 @@ LIBGCC2_DEBUG_CFLAGS = -g
|
||||||
|
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
|
||||||
|
$(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
|
||||||
|
-fbuilding-libgcc -fno-stack-protector \
|
||||||
|
+ -Wa,--generate-missing-build-notes=yes \
|
||||||
|
$(INHIBIT_LIBC_CFLAGS)
|
||||||
|
|
||||||
|
# Additional options to use when compiling libgcc2.a.
|
||||||
|
@@ -301,6 +302,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN
|
||||||
|
$(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \
|
||||||
|
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
|
||||||
|
-fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \
|
||||||
|
+ -Wa,--generate-missing-build-notes=yes \
|
||||||
|
$(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY)
|
||||||
|
|
||||||
|
# Extra flags to use when compiling crt{begin,end}.o.
|
@ -1,35 +0,0 @@
|
|||||||
2014-04-07 Richard Henderson <rth@redhat.com>
|
|
||||||
|
|
||||||
* common/config/aarch64/aarch64-common.c (TARGET_OPTION_INIT_STRUCT):
|
|
||||||
Define.
|
|
||||||
(aarch64_option_init_struct): New function.
|
|
||||||
|
|
||||||
--- gcc/common/config/aarch64/aarch64-common.c
|
|
||||||
+++ gcc/common/config/aarch64/aarch64-common.c
|
|
||||||
@@ -39,6 +39,9 @@
|
|
||||||
#undef TARGET_OPTION_OPTIMIZATION_TABLE
|
|
||||||
#define TARGET_OPTION_OPTIMIZATION_TABLE aarch_option_optimization_table
|
|
||||||
|
|
||||||
+#undef TARGET_OPTION_INIT_STRUCT
|
|
||||||
+#define TARGET_OPTION_INIT_STRUCT aarch64_option_init_struct
|
|
||||||
+
|
|
||||||
/* Set default optimization options. */
|
|
||||||
static const struct default_options aarch_option_optimization_table[] =
|
|
||||||
{
|
|
||||||
@@ -47,6 +50,16 @@ static const struct default_options aarch_option_optimization_table[] =
|
|
||||||
{ OPT_LEVELS_NONE, 0, NULL, 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
+/* Implement TARGET_OPTION_INIT_STRUCT. */
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+aarch64_option_init_struct (struct gcc_options *opts)
|
|
||||||
+{
|
|
||||||
+ /* By default, always emit DWARF-2 unwind info. This allows debugging
|
|
||||||
+ without maintaining a stack frame back-chain. */
|
|
||||||
+ opts->x_flag_asynchronous_unwind_tables = 1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Implement TARGET_HANDLE_OPTION.
|
|
||||||
This function handles the target specific options for CPU/target selection.
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
|||||||
2005-11-28 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
* config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
|
|
||||||
read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
|
|
||||||
instead of doing an extran indirection from frame_pointer_rtx.
|
|
||||||
|
|
||||||
* gcc.dg/20051128-1.c: New test.
|
|
||||||
|
|
||||||
--- gcc/config/rs6000/rs6000.c.jj 2005-11-26 14:38:01.000000000 +0100
|
|
||||||
+++ gcc/config/rs6000/rs6000.c 2005-11-28 20:32:18.000000000 +0100
|
|
||||||
@@ -20970,18 +20970,22 @@ rs6000_return_addr (int count, rtx frame
|
|
||||||
if (count != 0
|
|
||||||
|| ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic))
|
|
||||||
{
|
|
||||||
+ rtx x;
|
|
||||||
cfun->machine->ra_needs_full_frame = 1;
|
|
||||||
|
|
||||||
- return
|
|
||||||
- gen_rtx_MEM
|
|
||||||
- (Pmode,
|
|
||||||
- memory_address
|
|
||||||
- (Pmode,
|
|
||||||
- plus_constant (Pmode,
|
|
||||||
- copy_to_reg
|
|
||||||
- (gen_rtx_MEM (Pmode,
|
|
||||||
- memory_address (Pmode, frame))),
|
|
||||||
- RETURN_ADDRESS_OFFSET)));
|
|
||||||
+ if (count == 0)
|
|
||||||
+ {
|
|
||||||
+ gcc_assert (frame == frame_pointer_rtx);
|
|
||||||
+ x = arg_pointer_rtx;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ x = memory_address (Pmode, frame);
|
|
||||||
+ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ x = plus_constant (Pmode, x, RETURN_ADDRESS_OFFSET);
|
|
||||||
+ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
|
|
||||||
}
|
|
||||||
|
|
||||||
cfun->machine->ra_need_lr = 1;
|
|
||||||
--- gcc/testsuite/gcc.dg/20051128-1.c.jj 2005-10-10 11:21:41.096999000 +0200
|
|
||||||
+++ gcc/testsuite/gcc.dg/20051128-1.c 2005-11-28 12:30:57.000000000 +0100
|
|
||||||
@@ -0,0 +1,41 @@
|
|
||||||
+/* { dg-do run } */
|
|
||||||
+/* { dg-options "-O2 -fpic" } */
|
|
||||||
+
|
|
||||||
+extern void exit (int);
|
|
||||||
+extern void abort (void);
|
|
||||||
+
|
|
||||||
+int b;
|
|
||||||
+
|
|
||||||
+struct A
|
|
||||||
+{
|
|
||||||
+ void *pad[147];
|
|
||||||
+ void *ra, *h;
|
|
||||||
+ long o;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+__attribute__((noinline))
|
|
||||||
+foo (struct A *a, void *x)
|
|
||||||
+{
|
|
||||||
+ __builtin_memset (a, 0, sizeof (a));
|
|
||||||
+ if (!b)
|
|
||||||
+ exit (0);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+__attribute__((noinline))
|
|
||||||
+bar (void)
|
|
||||||
+{
|
|
||||||
+ struct A a;
|
|
||||||
+
|
|
||||||
+ __builtin_unwind_init ();
|
|
||||||
+ foo (&a, __builtin_return_address (0));
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (void)
|
|
||||||
+{
|
|
||||||
+ bar ();
|
|
||||||
+ abort ();
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
@ -1,92 +0,0 @@
|
|||||||
2017-03-07 Will Schmidt <will_schmidt@vnet.ibm.com>
|
|
||||||
|
|
||||||
PR middle-end/79941
|
|
||||||
* config/rs6000/rs6000.c (gimplify_init_constructor): Remove multiply
|
|
||||||
even and multiply odd unsigned (vmule/vmulo) intrinsics from the
|
|
||||||
multiply folding sequence.
|
|
||||||
|
|
||||||
* gcc.target/powerpc/fold-vec-mult-even_odd_misc.c: New test.
|
|
||||||
|
|
||||||
--- gcc/config/rs6000/rs6000.c 2017-03-03 20:31:01.000000000 +0100
|
|
||||||
+++ gcc/config/rs6000/rs6000.c 2017-03-08 18:52:48.409967121 +0100
|
|
||||||
@@ -16855,9 +16855,6 @@ rs6000_gimple_fold_builtin (gimple_stmt_
|
|
||||||
/* Even element flavors of vec_mul (signed). */
|
|
||||||
case ALTIVEC_BUILTIN_VMULESB:
|
|
||||||
case ALTIVEC_BUILTIN_VMULESH:
|
|
||||||
- /* Even element flavors of vec_mul (unsigned). */
|
|
||||||
- case ALTIVEC_BUILTIN_VMULEUB:
|
|
||||||
- case ALTIVEC_BUILTIN_VMULEUH:
|
|
||||||
{
|
|
||||||
arg0 = gimple_call_arg (stmt, 0);
|
|
||||||
arg1 = gimple_call_arg (stmt, 1);
|
|
||||||
@@ -16870,9 +16867,6 @@ rs6000_gimple_fold_builtin (gimple_stmt_
|
|
||||||
/* Odd element flavors of vec_mul (signed). */
|
|
||||||
case ALTIVEC_BUILTIN_VMULOSB:
|
|
||||||
case ALTIVEC_BUILTIN_VMULOSH:
|
|
||||||
- /* Odd element flavors of vec_mul (unsigned). */
|
|
||||||
- case ALTIVEC_BUILTIN_VMULOUB:
|
|
||||||
- case ALTIVEC_BUILTIN_VMULOUH:
|
|
||||||
{
|
|
||||||
arg0 = gimple_call_arg (stmt, 0);
|
|
||||||
arg1 = gimple_call_arg (stmt, 1);
|
|
||||||
--- gcc/testsuite/gcc.target/powerpc/fold-vec-mult-even_odd_misc.c
|
|
||||||
+++ gcc/testsuite/gcc.target/powerpc/fold-vec-mult-even_odd_misc.c
|
|
||||||
@@ -0,0 +1,58 @@
|
|
||||||
+
|
|
||||||
+/* { dg-do run } */
|
|
||||||
+/* { dg-require-effective-target powerpc_vsx_ok } */
|
|
||||||
+/* { dg-options "-maltivec -mvsx -O2 -save-temps" } */
|
|
||||||
+
|
|
||||||
+#include <altivec.h>
|
|
||||||
+
|
|
||||||
+__attribute__((noinline)) void
|
|
||||||
+test_eub_char ()
|
|
||||||
+{
|
|
||||||
+ vector unsigned char v0 = {1, 0, 0, 0, 0, 0, 0, 0};
|
|
||||||
+ vector unsigned char v1 = {0xff, 0, 0, 0, 0, 0, 0, 0};
|
|
||||||
+ vector unsigned short res = vec_vmuleub (v0, v1);
|
|
||||||
+ if (res[0] != (unsigned short)v0[0] * (unsigned short)v1[0])
|
|
||||||
+ __builtin_abort ();
|
|
||||||
+}
|
|
||||||
+__attribute__((noinline)) void
|
|
||||||
+test_oub_char ()
|
|
||||||
+{
|
|
||||||
+ vector unsigned char v0 = {0, 1, 0, 0, 0, 0, 0, 0};
|
|
||||||
+ vector unsigned char v1 = {0, 0xff, 0, 0, 0, 0, 0, 0};
|
|
||||||
+ vector unsigned short res = vec_vmuloub (v0, v1);
|
|
||||||
+ if (res[0] != (unsigned short)v0[1] * (unsigned short)v1[1])
|
|
||||||
+ __builtin_abort ();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+__attribute__((noinline)) void
|
|
||||||
+test_euh_short ()
|
|
||||||
+{
|
|
||||||
+ vector unsigned short v0 = {1, 0, 0, 0};
|
|
||||||
+ vector unsigned short v1 = {0xff, 0, 0, 0};
|
|
||||||
+ vector unsigned int res = vec_vmuleuh (v0, v1);
|
|
||||||
+ if (res[0] != (unsigned int)v0[0] * (unsigned int)v1[0])
|
|
||||||
+ __builtin_abort ();
|
|
||||||
+}
|
|
||||||
+__attribute__((noinline)) void
|
|
||||||
+test_ouh_short ()
|
|
||||||
+{
|
|
||||||
+ vector unsigned short v0 = {0, 1, 0, 0};
|
|
||||||
+ vector unsigned short v1 = {0, 0xff, 0, 0};
|
|
||||||
+ vector unsigned int res = vec_vmulouh (v0, v1);
|
|
||||||
+ if (res[0] != (unsigned int)v0[1] * (unsigned int)v1[1])
|
|
||||||
+ __builtin_abort ();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int main ()
|
|
||||||
+{
|
|
||||||
+ test_eub_char();
|
|
||||||
+ test_oub_char();
|
|
||||||
+ test_euh_short();
|
|
||||||
+ test_ouh_short();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* { dg-final { scan-assembler-times "vmuleub" 1 } } */
|
|
||||||
+/* { dg-final { scan-assembler-times "vmuloub" 1 } } */
|
|
||||||
+/* { dg-final { scan-assembler-times "vmuleuh" 1 } } */
|
|
||||||
+/* { dg-final { scan-assembler-times "vmulouh" 1 } } */
|
|
||||||
+
|
|
@ -1,43 +0,0 @@
|
|||||||
2017-03-09 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
PR c/79969
|
|
||||||
* c-decl.c (start_enum): Adjust DECL_SOURCE_LOCATION of
|
|
||||||
TYPE_STUB_DECL.
|
|
||||||
|
|
||||||
* gcc.dg/debug/dwarf2/enum-loc1.c: New test.
|
|
||||||
|
|
||||||
--- gcc/c/c-decl.c.jj 2017-03-05 22:39:45.000000000 +0100
|
|
||||||
+++ gcc/c/c-decl.c 2017-03-09 08:19:33.100042166 +0100
|
|
||||||
@@ -8201,6 +8201,10 @@ start_enum (location_t loc, struct c_enu
|
|
||||||
enumtype = make_node (ENUMERAL_TYPE);
|
|
||||||
pushtag (loc, name, enumtype);
|
|
||||||
}
|
|
||||||
+ /* Update type location to the one of the definition, instead of e.g.
|
|
||||||
+ a forward declaration. */
|
|
||||||
+ else if (TYPE_STUB_DECL (enumtype))
|
|
||||||
+ DECL_SOURCE_LOCATION (TYPE_STUB_DECL (enumtype)) = loc;
|
|
||||||
|
|
||||||
if (C_TYPE_BEING_DEFINED (enumtype))
|
|
||||||
error_at (loc, "nested redefinition of %<enum %E%>", name);
|
|
||||||
--- gcc/testsuite/gcc.dg/debug/dwarf2/enum-loc1.c.jj 2017-03-09 08:09:30.742037844 +0100
|
|
||||||
+++ gcc/testsuite/gcc.dg/debug/dwarf2/enum-loc1.c 2017-03-09 08:16:45.202268438 +0100
|
|
||||||
@@ -0,0 +1,19 @@
|
|
||||||
+/* PR c/79969 */
|
|
||||||
+/* { dg-do compile } */
|
|
||||||
+/* { dg-options "-gdwarf -dA -fno-merge-debug-strings" } */
|
|
||||||
+
|
|
||||||
+enum ENUMTAG;
|
|
||||||
+
|
|
||||||
+enum ENUMTAG
|
|
||||||
+{
|
|
||||||
+ B = 1,
|
|
||||||
+ C = 2
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+bar (void)
|
|
||||||
+{
|
|
||||||
+ enum ENUMTAG a = C;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* { dg-final { scan-assembler "DW_TAG_enumeration_type\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*\"ENUMTAG\[^\\r\\n\]*DW_AT_name(\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*DW_AT_)*\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*\[^0-9a-fA-FxX](0x)?7\[^0-9a-fA-FxX]\[^\\r\\n\]*DW_AT_decl_line" } } */
|
|
@ -1,58 +0,0 @@
|
|||||||
2017-03-09 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
PR tree-optimization/79972
|
|
||||||
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
|
|
||||||
get_range_info on SSA_NAMEs. Formatting fixes.
|
|
||||||
|
|
||||||
* gcc.dg/pr79972.c: New test.
|
|
||||||
|
|
||||||
--- gcc/gimple-ssa-warn-alloca.c.jj 2017-03-07 20:04:52.000000000 +0100
|
|
||||||
+++ gcc/gimple-ssa-warn-alloca.c 2017-03-09 12:11:41.943934314 +0100
|
|
||||||
@@ -300,8 +300,9 @@ alloca_call_type (gimple *stmt, bool is_
|
|
||||||
ret = alloca_type_and_limit (ALLOCA_OK);
|
|
||||||
}
|
|
||||||
// Check the range info if available.
|
|
||||||
- else if (value_range_type range_type = get_range_info (len, &min, &max))
|
|
||||||
+ else if (TREE_CODE (len) == SSA_NAME)
|
|
||||||
{
|
|
||||||
+ value_range_type range_type = get_range_info (len, &min, &max);
|
|
||||||
if (range_type == VR_RANGE)
|
|
||||||
{
|
|
||||||
if (wi::leu_p (max, max_size))
|
|
||||||
@@ -328,7 +329,6 @@ alloca_call_type (gimple *stmt, bool is_
|
|
||||||
gimple *def = SSA_NAME_DEF_STMT (len);
|
|
||||||
if (gimple_assign_cast_p (def)
|
|
||||||
&& TYPE_UNSIGNED (TREE_TYPE (gimple_assign_rhs1 (def))))
|
|
||||||
-
|
|
||||||
{
|
|
||||||
len_casted = gimple_assign_rhs1 (def);
|
|
||||||
range_type = get_range_info (len_casted, &min, &max);
|
|
||||||
@@ -344,8 +344,7 @@ alloca_call_type (gimple *stmt, bool is_
|
|
||||||
else if (range_type == VR_ANTI_RANGE)
|
|
||||||
return alloca_type_and_limit (ALLOCA_UNBOUNDED);
|
|
||||||
else if (range_type != VR_VARYING)
|
|
||||||
- return
|
|
||||||
- alloca_type_and_limit (ALLOCA_BOUND_MAYBE_LARGE, max);
|
|
||||||
+ return alloca_type_and_limit (ALLOCA_BOUND_MAYBE_LARGE, max);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (range_type == VR_ANTI_RANGE)
|
|
||||||
--- gcc/testsuite/gcc.dg/pr79972.c.jj 2017-03-09 12:14:24.188800592 +0100
|
|
||||||
+++ gcc/testsuite/gcc.dg/pr79972.c 2017-03-09 12:13:38.000000000 +0100
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+/* PR tree-optimization/79972 */
|
|
||||||
+/* { dg-do compile } */
|
|
||||||
+/* { dg-require-effective-target alloca } */
|
|
||||||
+/* { dg-options "-Walloca -Wvla-larger-than=10000" } */
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+f (int dim, int *b, int *c)
|
|
||||||
+{
|
|
||||||
+ int newcentroid[3][dim]; /* { dg-warning "unbounded use of variable-length array" } */
|
|
||||||
+ int *a = newcentroid[2];
|
|
||||||
+ int i, dist = 0;
|
|
||||||
+ __builtin_memcpy (newcentroid, c, sizeof (newcentroid));
|
|
||||||
+ for (i = 0; i < dim; i++)
|
|
||||||
+ dist += (a[i] - b[i]) * (a[i] - b[i]);
|
|
||||||
+ return dist;
|
|
||||||
+}
|
|
@ -1,11 +0,0 @@
|
|||||||
--- nvptx-tools/nvptx-as.c.jj 2017-01-20 12:40:18.000000000 +0100
|
|
||||||
+++ nvptx-tools/nvptx-as.c 2017-01-20 12:43:53.864271442 +0100
|
|
||||||
@@ -939,7 +939,7 @@ fork_execute (const char *prog, char *co
|
|
||||||
fatal_error ("%s: %m", errmsg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
- fatal_error (errmsg);
|
|
||||||
+ fatal_error ("%s", errmsg);
|
|
||||||
}
|
|
||||||
do_wait (prog, pex);
|
|
||||||
}
|
|
@ -1,947 +0,0 @@
|
|||||||
--- nvptx-tools/configure.ac
|
|
||||||
+++ nvptx-tools/configure.ac
|
|
||||||
@@ -51,6 +51,7 @@ LIBS="$LIBS -lcuda"
|
|
||||||
AC_CHECK_FUNCS([[cuGetErrorName] [cuGetErrorString]])
|
|
||||||
AC_CHECK_DECLS([[cuGetErrorName], [cuGetErrorString]],
|
|
||||||
[], [], [[#include <cuda.h>]])
|
|
||||||
+AC_CHECK_HEADERS(unistd.h sys/stat.h)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for extra programs to build requiring -lcuda])
|
|
||||||
NVPTX_RUN=
|
|
||||||
--- nvptx-tools/include/libiberty.h
|
|
||||||
+++ nvptx-tools/include/libiberty.h
|
|
||||||
@@ -390,6 +390,17 @@ extern void hex_init (void);
|
|
||||||
/* Save files used for communication between processes. */
|
|
||||||
#define PEX_SAVE_TEMPS 0x4
|
|
||||||
|
|
||||||
+/* Max number of alloca bytes per call before we must switch to malloc.
|
|
||||||
+
|
|
||||||
+ ?? Swiped from gnulib's regex_internal.h header. Is this actually
|
|
||||||
+ the case? This number seems arbitrary, though sane.
|
|
||||||
+
|
|
||||||
+ The OS usually guarantees only one guard page at the bottom of the stack,
|
|
||||||
+ and a page size can be as small as 4096 bytes. So we cannot safely
|
|
||||||
+ allocate anything larger than 4096 bytes. Also care for the possibility
|
|
||||||
+ of a few compiler-allocated temporary stack slots. */
|
|
||||||
+#define MAX_ALLOCA_SIZE 4032
|
|
||||||
+
|
|
||||||
/* Prepare to execute one or more programs, with standard output of
|
|
||||||
each program fed to standard input of the next.
|
|
||||||
FLAGS As above.
|
|
||||||
--- nvptx-tools/nvptx-as.c
|
|
||||||
+++ nvptx-tools/nvptx-as.c
|
|
||||||
@@ -30,6 +30,9 @@
|
|
||||||
#include <string.h>
|
|
||||||
#include <wait.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#ifdef HAVE_SYS_STAT_H
|
|
||||||
+#include <sys/stat.h>
|
|
||||||
+#endif
|
|
||||||
#include <errno.h>
|
|
||||||
#define obstack_chunk_alloc malloc
|
|
||||||
#define obstack_chunk_free free
|
|
||||||
@@ -42,6 +45,38 @@
|
|
||||||
|
|
||||||
#include "version.h"
|
|
||||||
|
|
||||||
+#ifndef R_OK
|
|
||||||
+#define R_OK 4
|
|
||||||
+#define W_OK 2
|
|
||||||
+#define X_OK 1
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#ifndef DIR_SEPARATOR
|
|
||||||
+# define DIR_SEPARATOR '/'
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if defined (_WIN32) || defined (__MSDOS__) \
|
|
||||||
+ || defined (__DJGPP__) || defined (__OS2__)
|
|
||||||
+# define HAVE_DOS_BASED_FILE_SYSTEM
|
|
||||||
+# define HAVE_HOST_EXECUTABLE_SUFFIX
|
|
||||||
+# define HOST_EXECUTABLE_SUFFIX ".exe"
|
|
||||||
+# ifndef DIR_SEPARATOR_2
|
|
||||||
+# define DIR_SEPARATOR_2 '\\'
|
|
||||||
+# endif
|
|
||||||
+# define PATH_SEPARATOR ';'
|
|
||||||
+#else
|
|
||||||
+# define PATH_SEPARATOR ':'
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#ifndef DIR_SEPARATOR_2
|
|
||||||
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
|
|
||||||
+#else
|
|
||||||
+# define IS_DIR_SEPARATOR(ch) \
|
|
||||||
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define DIR_UP ".."
|
|
||||||
+
|
|
||||||
static const char *outname = NULL;
|
|
||||||
|
|
||||||
static void __attribute__ ((format (printf, 1, 2)))
|
|
||||||
@@ -816,7 +851,7 @@ traverse (void **slot, void *data)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-process (FILE *in, FILE *out)
|
|
||||||
+process (FILE *in, FILE *out, int verify, const char *outname)
|
|
||||||
{
|
|
||||||
symbol_table = htab_create (500, hash_string_hash, hash_string_eq,
|
|
||||||
NULL);
|
|
||||||
@@ -824,6 +859,18 @@ process (FILE *in, FILE *out)
|
|
||||||
const char *input = read_file (in);
|
|
||||||
Token *tok = tokenize (input);
|
|
||||||
|
|
||||||
+ /* By default, when ptxas is not in PATH, do minimalistic verification,
|
|
||||||
+ just require that the first non-comment directive is .version. */
|
|
||||||
+ if (verify < 0)
|
|
||||||
+ {
|
|
||||||
+ size_t i;
|
|
||||||
+ for (i = 0; tok[i].kind == K_comment; i++)
|
|
||||||
+ ;
|
|
||||||
+ if (tok[i].kind != K_dotted || !is_keyword (&tok[i], "version"))
|
|
||||||
+ fatal_error ("missing .version directive at start of file '%s'",
|
|
||||||
+ outname);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
do
|
|
||||||
tok = parse_file (tok);
|
|
||||||
while (tok->kind);
|
|
||||||
@@ -897,9 +944,83 @@ fork_execute (const char *prog, char *const *argv)
|
|
||||||
do_wait (prog, pex);
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* Determine if progname is available in PATH. */
|
|
||||||
+static bool
|
|
||||||
+program_available (const char *progname)
|
|
||||||
+{
|
|
||||||
+ char *temp = getenv ("PATH");
|
|
||||||
+ if (temp)
|
|
||||||
+ {
|
|
||||||
+ char *startp, *endp, *nstore, *alloc_ptr = NULL;
|
|
||||||
+ size_t prefixlen = strlen (temp) + 1;
|
|
||||||
+ size_t len;
|
|
||||||
+ if (prefixlen < 2)
|
|
||||||
+ prefixlen = 2;
|
|
||||||
+
|
|
||||||
+ len = prefixlen + strlen (progname) + 1;
|
|
||||||
+#ifdef HAVE_HOST_EXECUTABLE_SUFFIX
|
|
||||||
+ len += strlen (HOST_EXECUTABLE_SUFFIX);
|
|
||||||
+#endif
|
|
||||||
+ if (len < MAX_ALLOCA_SIZE)
|
|
||||||
+ nstore = (char *) alloca (len);
|
|
||||||
+ else
|
|
||||||
+ alloc_ptr = nstore = (char *) malloc (len);
|
|
||||||
+
|
|
||||||
+ startp = endp = temp;
|
|
||||||
+ while (1)
|
|
||||||
+ {
|
|
||||||
+ if (*endp == PATH_SEPARATOR || *endp == 0)
|
|
||||||
+ {
|
|
||||||
+ if (endp == startp)
|
|
||||||
+ {
|
|
||||||
+ nstore[0] = '.';
|
|
||||||
+ nstore[1] = DIR_SEPARATOR;
|
|
||||||
+ nstore[2] = '\0';
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ memcpy (nstore, startp, endp - startp);
|
|
||||||
+ if (! IS_DIR_SEPARATOR (endp[-1]))
|
|
||||||
+ {
|
|
||||||
+ nstore[endp - startp] = DIR_SEPARATOR;
|
|
||||||
+ nstore[endp - startp + 1] = 0;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ nstore[endp - startp] = 0;
|
|
||||||
+ }
|
|
||||||
+ strcat (nstore, progname);
|
|
||||||
+ if (! access (nstore, X_OK)
|
|
||||||
+#ifdef HAVE_HOST_EXECUTABLE_SUFFIX
|
|
||||||
+ || ! access (strcat (nstore, HOST_EXECUTABLE_SUFFIX), X_OK)
|
|
||||||
+#endif
|
|
||||||
+ )
|
|
||||||
+ {
|
|
||||||
+#if defined (HAVE_SYS_STAT_H) && defined (S_ISREG)
|
|
||||||
+ struct stat st;
|
|
||||||
+ if (stat (nstore, &st) >= 0 && S_ISREG (st.st_mode))
|
|
||||||
+#endif
|
|
||||||
+ {
|
|
||||||
+ free (alloc_ptr);
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (*endp == 0)
|
|
||||||
+ break;
|
|
||||||
+ endp = startp = endp + 1;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ endp++;
|
|
||||||
+ }
|
|
||||||
+ free (alloc_ptr);
|
|
||||||
+ }
|
|
||||||
+ return false;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static struct option long_options[] = {
|
|
||||||
{"traditional-format", no_argument, 0, 0 },
|
|
||||||
{"save-temps", no_argument, 0, 0 },
|
|
||||||
+ {"verify", no_argument, 0, 0 },
|
|
||||||
{"no-verify", no_argument, 0, 0 },
|
|
||||||
{"help", no_argument, 0, 'h' },
|
|
||||||
{"version", no_argument, 0, 'V' },
|
|
||||||
@@ -912,7 +1033,7 @@ main (int argc, char **argv)
|
|
||||||
FILE *in = stdin;
|
|
||||||
FILE *out = stdout;
|
|
||||||
bool verbose __attribute__((unused)) = false;
|
|
||||||
- bool verify = true;
|
|
||||||
+ int verify = -1;
|
|
||||||
const char *smver = "sm_30";
|
|
||||||
|
|
||||||
int o;
|
|
||||||
@@ -923,7 +1044,9 @@ main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
if (option_index == 2)
|
|
||||||
- verify = false;
|
|
||||||
+ verify = 1;
|
|
||||||
+ else if (option_index == 3)
|
|
||||||
+ verify = 0;
|
|
||||||
break;
|
|
||||||
case 'v':
|
|
||||||
verbose = true;
|
|
||||||
@@ -948,7 +1071,8 @@ Usage: nvptx-none-as [option...] [asmfile]\n\
|
|
||||||
Options:\n\
|
|
||||||
-o FILE Write output to FILE\n\
|
|
||||||
-v Be verbose\n\
|
|
||||||
+ --verify Do verify output is acceptable to ptxas\n\
|
|
||||||
--no-verify Do not verify output is acceptable to ptxas\n\
|
|
||||||
--help Print this help and exit\n\
|
|
||||||
--version Print version number and exit\n\
|
|
||||||
\n\
|
|
||||||
@@ -983,11 +1108,17 @@ This program has absolutely no warranty.\n",
|
|
||||||
if (!in)
|
|
||||||
fatal_error ("cannot open input ptx file");
|
|
||||||
|
|
||||||
- process (in, out);
|
|
||||||
- if (outname)
|
|
||||||
+ if (outname == NULL)
|
|
||||||
+ verify = 0;
|
|
||||||
+ else if (verify == -1)
|
|
||||||
+ if (program_available ("ptxas"))
|
|
||||||
+ verify = 1;
|
|
||||||
+
|
|
||||||
+ process (in, out, verify, outname);
|
|
||||||
+ if (outname)
|
|
||||||
fclose (out);
|
|
||||||
|
|
||||||
- if (verify && outname)
|
|
||||||
+ if (verify > 0)
|
|
||||||
{
|
|
||||||
struct obstack argv_obstack;
|
|
||||||
obstack_init (&argv_obstack);
|
|
||||||
--- nvptx-tools/configure
|
|
||||||
+++ nvptx-tools/configure
|
|
||||||
@@ -168,7 +168,8 @@ test x\$exitcode = x0 || exit 1"
|
|
||||||
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
|
|
||||||
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
|
|
||||||
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
|
|
||||||
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
|
|
||||||
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
|
|
||||||
+test \$(( 1 + 1 )) = 2 || exit 1"
|
|
||||||
if (eval "$as_required") 2>/dev/null; then :
|
|
||||||
as_have_required=yes
|
|
||||||
else
|
|
||||||
@@ -552,11 +553,50 @@ PACKAGE_URL=
|
|
||||||
|
|
||||||
ac_unique_file="nvptx-tools"
|
|
||||||
ac_unique_file="nvptx-as.c"
|
|
||||||
+# Factoring default headers for most tests.
|
|
||||||
+ac_includes_default="\
|
|
||||||
+#include <stdio.h>
|
|
||||||
+#ifdef HAVE_SYS_TYPES_H
|
|
||||||
+# include <sys/types.h>
|
|
||||||
+#endif
|
|
||||||
+#ifdef HAVE_SYS_STAT_H
|
|
||||||
+# include <sys/stat.h>
|
|
||||||
+#endif
|
|
||||||
+#ifdef STDC_HEADERS
|
|
||||||
+# include <stdlib.h>
|
|
||||||
+# include <stddef.h>
|
|
||||||
+#else
|
|
||||||
+# ifdef HAVE_STDLIB_H
|
|
||||||
+# include <stdlib.h>
|
|
||||||
+# endif
|
|
||||||
+#endif
|
|
||||||
+#ifdef HAVE_STRING_H
|
|
||||||
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
|
|
||||||
+# include <memory.h>
|
|
||||||
+# endif
|
|
||||||
+# include <string.h>
|
|
||||||
+#endif
|
|
||||||
+#ifdef HAVE_STRINGS_H
|
|
||||||
+# include <strings.h>
|
|
||||||
+#endif
|
|
||||||
+#ifdef HAVE_INTTYPES_H
|
|
||||||
+# include <inttypes.h>
|
|
||||||
+#endif
|
|
||||||
+#ifdef HAVE_STDINT_H
|
|
||||||
+# include <stdint.h>
|
|
||||||
+#endif
|
|
||||||
+#ifdef HAVE_UNISTD_H
|
|
||||||
+# include <unistd.h>
|
|
||||||
+#endif"
|
|
||||||
+
|
|
||||||
enable_option_checking=no
|
|
||||||
ac_subst_vars='LTLIBOBJS
|
|
||||||
LIBOBJS
|
|
||||||
subdirs
|
|
||||||
NVPTX_RUN
|
|
||||||
+EGREP
|
|
||||||
+GREP
|
|
||||||
+CPP
|
|
||||||
CUDA_DRIVER_LDFLAGS
|
|
||||||
CUDA_DRIVER_CPPFLAGS
|
|
||||||
AR
|
|
||||||
@@ -635,7 +675,8 @@ LIBS
|
|
||||||
CPPFLAGS
|
|
||||||
CXX
|
|
||||||
CXXFLAGS
|
|
||||||
-CCC'
|
|
||||||
+CCC
|
|
||||||
+CPP'
|
|
||||||
ac_subdirs_all='libiberty'
|
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
|
||||||
@@ -1267,6 +1308,7 @@ Some influential environment variables:
|
|
||||||
you have headers in a nonstandard directory <include dir>
|
|
||||||
CXX C++ compiler command
|
|
||||||
CXXFLAGS C++ compiler flags
|
|
||||||
+ CPP C preprocessor
|
|
||||||
|
|
||||||
Use these variables to override the choices made by `configure' or to help
|
|
||||||
it to find libraries and programs with nonstandard names/locations.
|
|
||||||
@@ -1575,6 +1617,203 @@ $as_echo "$ac_res" >&6; }
|
|
||||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
|
||||||
|
|
||||||
} # ac_fn_c_check_decl
|
|
||||||
+
|
|
||||||
+# ac_fn_c_try_cpp LINENO
|
|
||||||
+# ----------------------
|
|
||||||
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
|
|
||||||
+ac_fn_c_try_cpp ()
|
|
||||||
+{
|
|
||||||
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
||||||
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
|
|
||||||
+case "(($ac_try" in
|
|
||||||
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
|
||||||
+ *) ac_try_echo=$ac_try;;
|
|
||||||
+esac
|
|
||||||
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
|
||||||
+$as_echo "$ac_try_echo"; } >&5
|
|
||||||
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
|
|
||||||
+ ac_status=$?
|
|
||||||
+ if test -s conftest.err; then
|
|
||||||
+ grep -v '^ *+' conftest.err >conftest.er1
|
|
||||||
+ cat conftest.er1 >&5
|
|
||||||
+ mv -f conftest.er1 conftest.err
|
|
||||||
+ fi
|
|
||||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
+ test $ac_status = 0; } >/dev/null && {
|
|
||||||
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
|
|
||||||
+ test ! -s conftest.err
|
|
||||||
+ }; then :
|
|
||||||
+ ac_retval=0
|
|
||||||
+else
|
|
||||||
+ $as_echo "$as_me: failed program was:" >&5
|
|
||||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
|
||||||
+
|
|
||||||
+ ac_retval=1
|
|
||||||
+fi
|
|
||||||
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
|
||||||
+ return $ac_retval
|
|
||||||
+
|
|
||||||
+} # ac_fn_c_try_cpp
|
|
||||||
+
|
|
||||||
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
|
|
||||||
+# -------------------------------------------------------
|
|
||||||
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
|
|
||||||
+# the include files in INCLUDES and setting the cache variable VAR
|
|
||||||
+# accordingly.
|
|
||||||
+ac_fn_c_check_header_mongrel ()
|
|
||||||
+{
|
|
||||||
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
||||||
+ if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
|
||||||
+$as_echo_n "checking for $2... " >&6; }
|
|
||||||
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+fi
|
|
||||||
+eval ac_res=\$$3
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
|
||||||
+$as_echo "$ac_res" >&6; }
|
|
||||||
+else
|
|
||||||
+ # Is the header compilable?
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
|
|
||||||
+$as_echo_n "checking $2 usability... " >&6; }
|
|
||||||
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+$4
|
|
||||||
+#include <$2>
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
+ ac_header_compiler=yes
|
|
||||||
+else
|
|
||||||
+ ac_header_compiler=no
|
|
||||||
+fi
|
|
||||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
|
|
||||||
+$as_echo "$ac_header_compiler" >&6; }
|
|
||||||
+
|
|
||||||
+# Is the header present?
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
|
|
||||||
+$as_echo_n "checking $2 presence... " >&6; }
|
|
||||||
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <$2>
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_cpp "$LINENO"; then :
|
|
||||||
+ ac_header_preproc=yes
|
|
||||||
+else
|
|
||||||
+ ac_header_preproc=no
|
|
||||||
+fi
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
|
|
||||||
+$as_echo "$ac_header_preproc" >&6; }
|
|
||||||
+
|
|
||||||
+# So? What about this header?
|
|
||||||
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
|
|
||||||
+ yes:no: )
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
|
||||||
+ ;;
|
|
||||||
+ no:yes:* )
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
|
||||||
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
|
||||||
+ ;;
|
|
||||||
+esac
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
|
||||||
+$as_echo_n "checking for $2... " >&6; }
|
|
||||||
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+else
|
|
||||||
+ eval "$3=\$ac_header_compiler"
|
|
||||||
+fi
|
|
||||||
+eval ac_res=\$$3
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
|
||||||
+$as_echo "$ac_res" >&6; }
|
|
||||||
+fi
|
|
||||||
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
|
||||||
+
|
|
||||||
+} # ac_fn_c_check_header_mongrel
|
|
||||||
+
|
|
||||||
+# ac_fn_c_try_run LINENO
|
|
||||||
+# ----------------------
|
|
||||||
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
|
|
||||||
+# that executables *can* be run.
|
|
||||||
+ac_fn_c_try_run ()
|
|
||||||
+{
|
|
||||||
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
||||||
+ if { { ac_try="$ac_link"
|
|
||||||
+case "(($ac_try" in
|
|
||||||
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
|
||||||
+ *) ac_try_echo=$ac_try;;
|
|
||||||
+esac
|
|
||||||
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
|
||||||
+$as_echo "$ac_try_echo"; } >&5
|
|
||||||
+ (eval "$ac_link") 2>&5
|
|
||||||
+ ac_status=$?
|
|
||||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
|
|
||||||
+ { { case "(($ac_try" in
|
|
||||||
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
|
||||||
+ *) ac_try_echo=$ac_try;;
|
|
||||||
+esac
|
|
||||||
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
|
||||||
+$as_echo "$ac_try_echo"; } >&5
|
|
||||||
+ (eval "$ac_try") 2>&5
|
|
||||||
+ ac_status=$?
|
|
||||||
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
+ test $ac_status = 0; }; }; then :
|
|
||||||
+ ac_retval=0
|
|
||||||
+else
|
|
||||||
+ $as_echo "$as_me: program exited with status $ac_status" >&5
|
|
||||||
+ $as_echo "$as_me: failed program was:" >&5
|
|
||||||
+sed 's/^/| /' conftest.$ac_ext >&5
|
|
||||||
+
|
|
||||||
+ ac_retval=$ac_status
|
|
||||||
+fi
|
|
||||||
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
|
||||||
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
|
||||||
+ return $ac_retval
|
|
||||||
+
|
|
||||||
+} # ac_fn_c_try_run
|
|
||||||
+
|
|
||||||
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
|
|
||||||
+# -------------------------------------------------------
|
|
||||||
+# Tests whether HEADER exists and can be compiled using the include files in
|
|
||||||
+# INCLUDES, setting the cache variable VAR accordingly.
|
|
||||||
+ac_fn_c_check_header_compile ()
|
|
||||||
+{
|
|
||||||
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
|
||||||
+$as_echo_n "checking for $2... " >&6; }
|
|
||||||
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+else
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+$4
|
|
||||||
+#include <$2>
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
+ eval "$3=yes"
|
|
||||||
+else
|
|
||||||
+ eval "$3=no"
|
|
||||||
+fi
|
|
||||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
+fi
|
|
||||||
+eval ac_res=\$$3
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
|
||||||
+$as_echo "$ac_res" >&6; }
|
|
||||||
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
|
||||||
+
|
|
||||||
+} # ac_fn_c_check_header_compile
|
|
||||||
cat >config.log <<_ACEOF
|
|
||||||
This file contains any messages produced by compilers while
|
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
|
||||||
@@ -3284,6 +3523,418 @@ cat >>confdefs.h <<_ACEOF
|
|
||||||
#define HAVE_DECL_CUGETERRORSTRING $ac_have_decl
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
+ac_ext=c
|
|
||||||
+ac_cpp='$CPP $CPPFLAGS'
|
|
||||||
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
|
||||||
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
|
||||||
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
|
|
||||||
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
|
|
||||||
+# On Suns, sometimes $CPP names a directory.
|
|
||||||
+if test -n "$CPP" && test -d "$CPP"; then
|
|
||||||
+ CPP=
|
|
||||||
+fi
|
|
||||||
+if test -z "$CPP"; then
|
|
||||||
+ if test "${ac_cv_prog_CPP+set}" = set; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+else
|
|
||||||
+ # Double quotes because CPP needs to be expanded
|
|
||||||
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
|
|
||||||
+ do
|
|
||||||
+ ac_preproc_ok=false
|
|
||||||
+for ac_c_preproc_warn_flag in '' yes
|
|
||||||
+do
|
|
||||||
+ # Use a header file that comes with gcc, so configuring glibc
|
|
||||||
+ # with a fresh cross-compiler works.
|
|
||||||
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
|
||||||
+ # <limits.h> exists even on freestanding compilers.
|
|
||||||
+ # On the NeXT, cc -E runs the code through the compiler's parser,
|
|
||||||
+ # not just through cpp. "Syntax error" is here to catch this case.
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#ifdef __STDC__
|
|
||||||
+# include <limits.h>
|
|
||||||
+#else
|
|
||||||
+# include <assert.h>
|
|
||||||
+#endif
|
|
||||||
+ Syntax error
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_cpp "$LINENO"; then :
|
|
||||||
+
|
|
||||||
+else
|
|
||||||
+ # Broken: fails on valid input.
|
|
||||||
+continue
|
|
||||||
+fi
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+
|
|
||||||
+ # OK, works on sane cases. Now check whether nonexistent headers
|
|
||||||
+ # can be detected and how.
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <ac_nonexistent.h>
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_cpp "$LINENO"; then :
|
|
||||||
+ # Broken: success on invalid input.
|
|
||||||
+continue
|
|
||||||
+else
|
|
||||||
+ # Passes both tests.
|
|
||||||
+ac_preproc_ok=:
|
|
||||||
+break
|
|
||||||
+fi
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+
|
|
||||||
+done
|
|
||||||
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+if $ac_preproc_ok; then :
|
|
||||||
+ break
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+ done
|
|
||||||
+ ac_cv_prog_CPP=$CPP
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+ CPP=$ac_cv_prog_CPP
|
|
||||||
+else
|
|
||||||
+ ac_cv_prog_CPP=$CPP
|
|
||||||
+fi
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
|
|
||||||
+$as_echo "$CPP" >&6; }
|
|
||||||
+ac_preproc_ok=false
|
|
||||||
+for ac_c_preproc_warn_flag in '' yes
|
|
||||||
+do
|
|
||||||
+ # Use a header file that comes with gcc, so configuring glibc
|
|
||||||
+ # with a fresh cross-compiler works.
|
|
||||||
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
|
||||||
+ # <limits.h> exists even on freestanding compilers.
|
|
||||||
+ # On the NeXT, cc -E runs the code through the compiler's parser,
|
|
||||||
+ # not just through cpp. "Syntax error" is here to catch this case.
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#ifdef __STDC__
|
|
||||||
+# include <limits.h>
|
|
||||||
+#else
|
|
||||||
+# include <assert.h>
|
|
||||||
+#endif
|
|
||||||
+ Syntax error
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_cpp "$LINENO"; then :
|
|
||||||
+
|
|
||||||
+else
|
|
||||||
+ # Broken: fails on valid input.
|
|
||||||
+continue
|
|
||||||
+fi
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+
|
|
||||||
+ # OK, works on sane cases. Now check whether nonexistent headers
|
|
||||||
+ # can be detected and how.
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <ac_nonexistent.h>
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_cpp "$LINENO"; then :
|
|
||||||
+ # Broken: success on invalid input.
|
|
||||||
+continue
|
|
||||||
+else
|
|
||||||
+ # Passes both tests.
|
|
||||||
+ac_preproc_ok=:
|
|
||||||
+break
|
|
||||||
+fi
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+
|
|
||||||
+done
|
|
||||||
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
|
|
||||||
+rm -f conftest.err conftest.$ac_ext
|
|
||||||
+if $ac_preproc_ok; then :
|
|
||||||
+
|
|
||||||
+else
|
|
||||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
||||||
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
|
||||||
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
|
|
||||||
+See \`config.log' for more details." "$LINENO" 5; }
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+ac_ext=c
|
|
||||||
+ac_cpp='$CPP $CPPFLAGS'
|
|
||||||
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
|
||||||
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
|
||||||
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
|
|
||||||
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
|
|
||||||
+if test "${ac_cv_path_GREP+set}" = set; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+else
|
|
||||||
+ if test -z "$GREP"; then
|
|
||||||
+ ac_path_GREP_found=false
|
|
||||||
+ # Loop through the user's path and test for each of PROGNAME-LIST
|
|
||||||
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
||||||
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
|
||||||
+do
|
|
||||||
+ IFS=$as_save_IFS
|
|
||||||
+ test -z "$as_dir" && as_dir=.
|
|
||||||
+ for ac_prog in grep ggrep; do
|
|
||||||
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
|
||||||
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
|
|
||||||
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
|
|
||||||
+# Check for GNU ac_path_GREP and select it if it is found.
|
|
||||||
+ # Check for GNU $ac_path_GREP
|
|
||||||
+case `"$ac_path_GREP" --version 2>&1` in
|
|
||||||
+*GNU*)
|
|
||||||
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
|
|
||||||
+*)
|
|
||||||
+ ac_count=0
|
|
||||||
+ $as_echo_n 0123456789 >"conftest.in"
|
|
||||||
+ while :
|
|
||||||
+ do
|
|
||||||
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
|
|
||||||
+ mv "conftest.tmp" "conftest.in"
|
|
||||||
+ cp "conftest.in" "conftest.nl"
|
|
||||||
+ $as_echo 'GREP' >> "conftest.nl"
|
|
||||||
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
|
||||||
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
|
||||||
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
|
|
||||||
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
|
|
||||||
+ # Best one so far, save it but keep looking for a better one
|
|
||||||
+ ac_cv_path_GREP="$ac_path_GREP"
|
|
||||||
+ ac_path_GREP_max=$ac_count
|
|
||||||
+ fi
|
|
||||||
+ # 10*(2^10) chars as input seems more than enough
|
|
||||||
+ test $ac_count -gt 10 && break
|
|
||||||
+ done
|
|
||||||
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
|
||||||
+esac
|
|
||||||
+
|
|
||||||
+ $ac_path_GREP_found && break 3
|
|
||||||
+ done
|
|
||||||
+ done
|
|
||||||
+ done
|
|
||||||
+IFS=$as_save_IFS
|
|
||||||
+ if test -z "$ac_cv_path_GREP"; then
|
|
||||||
+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
|
||||||
+ fi
|
|
||||||
+else
|
|
||||||
+ ac_cv_path_GREP=$GREP
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
|
|
||||||
+$as_echo "$ac_cv_path_GREP" >&6; }
|
|
||||||
+ GREP="$ac_cv_path_GREP"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
|
|
||||||
+$as_echo_n "checking for egrep... " >&6; }
|
|
||||||
+if test "${ac_cv_path_EGREP+set}" = set; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+else
|
|
||||||
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
|
|
||||||
+ then ac_cv_path_EGREP="$GREP -E"
|
|
||||||
+ else
|
|
||||||
+ if test -z "$EGREP"; then
|
|
||||||
+ ac_path_EGREP_found=false
|
|
||||||
+ # Loop through the user's path and test for each of PROGNAME-LIST
|
|
||||||
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
||||||
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
|
||||||
+do
|
|
||||||
+ IFS=$as_save_IFS
|
|
||||||
+ test -z "$as_dir" && as_dir=.
|
|
||||||
+ for ac_prog in egrep; do
|
|
||||||
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
|
||||||
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
|
|
||||||
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
|
|
||||||
+# Check for GNU ac_path_EGREP and select it if it is found.
|
|
||||||
+ # Check for GNU $ac_path_EGREP
|
|
||||||
+case `"$ac_path_EGREP" --version 2>&1` in
|
|
||||||
+*GNU*)
|
|
||||||
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
|
|
||||||
+*)
|
|
||||||
+ ac_count=0
|
|
||||||
+ $as_echo_n 0123456789 >"conftest.in"
|
|
||||||
+ while :
|
|
||||||
+ do
|
|
||||||
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
|
|
||||||
+ mv "conftest.tmp" "conftest.in"
|
|
||||||
+ cp "conftest.in" "conftest.nl"
|
|
||||||
+ $as_echo 'EGREP' >> "conftest.nl"
|
|
||||||
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
|
||||||
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
|
||||||
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
|
|
||||||
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
|
|
||||||
+ # Best one so far, save it but keep looking for a better one
|
|
||||||
+ ac_cv_path_EGREP="$ac_path_EGREP"
|
|
||||||
+ ac_path_EGREP_max=$ac_count
|
|
||||||
+ fi
|
|
||||||
+ # 10*(2^10) chars as input seems more than enough
|
|
||||||
+ test $ac_count -gt 10 && break
|
|
||||||
+ done
|
|
||||||
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
|
||||||
+esac
|
|
||||||
+
|
|
||||||
+ $ac_path_EGREP_found && break 3
|
|
||||||
+ done
|
|
||||||
+ done
|
|
||||||
+ done
|
|
||||||
+IFS=$as_save_IFS
|
|
||||||
+ if test -z "$ac_cv_path_EGREP"; then
|
|
||||||
+ as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
|
||||||
+ fi
|
|
||||||
+else
|
|
||||||
+ ac_cv_path_EGREP=$EGREP
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
|
|
||||||
+$as_echo "$ac_cv_path_EGREP" >&6; }
|
|
||||||
+ EGREP="$ac_cv_path_EGREP"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
|
|
||||||
+$as_echo_n "checking for ANSI C header files... " >&6; }
|
|
||||||
+if test "${ac_cv_header_stdc+set}" = set; then :
|
|
||||||
+ $as_echo_n "(cached) " >&6
|
|
||||||
+else
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <stdarg.h>
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <float.h>
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main ()
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+ ;
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
+ ac_cv_header_stdc=yes
|
|
||||||
+else
|
|
||||||
+ ac_cv_header_stdc=no
|
|
||||||
+fi
|
|
||||||
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
+
|
|
||||||
+if test $ac_cv_header_stdc = yes; then
|
|
||||||
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <string.h>
|
|
||||||
+
|
|
||||||
+_ACEOF
|
|
||||||
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
|
||||||
+ $EGREP "memchr" >/dev/null 2>&1; then :
|
|
||||||
+
|
|
||||||
+else
|
|
||||||
+ ac_cv_header_stdc=no
|
|
||||||
+fi
|
|
||||||
+rm -f conftest*
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if test $ac_cv_header_stdc = yes; then
|
|
||||||
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+
|
|
||||||
+_ACEOF
|
|
||||||
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
|
||||||
+ $EGREP "free" >/dev/null 2>&1; then :
|
|
||||||
+
|
|
||||||
+else
|
|
||||||
+ ac_cv_header_stdc=no
|
|
||||||
+fi
|
|
||||||
+rm -f conftest*
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if test $ac_cv_header_stdc = yes; then
|
|
||||||
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
|
||||||
+ if test "$cross_compiling" = yes; then :
|
|
||||||
+ :
|
|
||||||
+else
|
|
||||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
+/* end confdefs.h. */
|
|
||||||
+#include <ctype.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#if ((' ' & 0x0FF) == 0x020)
|
|
||||||
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
|
||||||
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
|
||||||
+#else
|
|
||||||
+# define ISLOWER(c) \
|
|
||||||
+ (('a' <= (c) && (c) <= 'i') \
|
|
||||||
+ || ('j' <= (c) && (c) <= 'r') \
|
|
||||||
+ || ('s' <= (c) && (c) <= 'z'))
|
|
||||||
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
|
||||||
+int
|
|
||||||
+main ()
|
|
||||||
+{
|
|
||||||
+ int i;
|
|
||||||
+ for (i = 0; i < 256; i++)
|
|
||||||
+ if (XOR (islower (i), ISLOWER (i))
|
|
||||||
+ || toupper (i) != TOUPPER (i))
|
|
||||||
+ return 2;
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+_ACEOF
|
|
||||||
+if ac_fn_c_try_run "$LINENO"; then :
|
|
||||||
+
|
|
||||||
+else
|
|
||||||
+ ac_cv_header_stdc=no
|
|
||||||
+fi
|
|
||||||
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
|
||||||
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+fi
|
|
||||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
|
|
||||||
+$as_echo "$ac_cv_header_stdc" >&6; }
|
|
||||||
+if test $ac_cv_header_stdc = yes; then
|
|
||||||
+
|
|
||||||
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
+ inttypes.h stdint.h unistd.h
|
|
||||||
+do :
|
|
||||||
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
|
||||||
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
|
|
||||||
+"
|
|
||||||
+eval as_val=\$$as_ac_Header
|
|
||||||
+ if test "x$as_val" = x""yes; then :
|
|
||||||
+ cat >>confdefs.h <<_ACEOF
|
|
||||||
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
|
||||||
+_ACEOF
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+done
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+for ac_header in unistd.h sys/stat.h
|
|
||||||
+do :
|
|
||||||
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
|
||||||
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
|
||||||
+eval as_val=\$$as_ac_Header
|
|
||||||
+ if test "x$as_val" = x""yes; then :
|
|
||||||
+ cat >>confdefs.h <<_ACEOF
|
|
||||||
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
|
||||||
+_ACEOF
|
|
||||||
+
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+done
|
|
||||||
+
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra programs to build requiring -lcuda" >&5
|
|
||||||
$as_echo_n "checking for extra programs to build requiring -lcuda... " >&6; }
|
|
6
sources
6
sources
@ -1,3 +1,3 @@
|
|||||||
SHA512 (gcc-7.0.1-20170309.tar.bz2) = d65c12060cfbe6aa685a1d8f768be6ec2dde733cb7c82ed3ac8cba839b33cfd16174f61f9fb7da3cec6ac967c0bcc9b664d71129a609e924e544edec4d7024ff
|
SHA512 (gcc-10.0.1-20200216.tar.xz) = 56507e273b00e85ed4145e80df65d9b4e4791f23e7cb5d931f85b9420cbf3a7125ba49978dc73c2987c0a6101f741dc5a60a08cb3346d4c5082400cbcfcdd008
|
||||||
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.bz2) = 38f97c9297ad108568352a4d28277455a3c01fd8b7864e798037e5006b6f757022e874bbf3f165775fe3b873781bc108137bbeb42dd5ed3c7d3e6747746fa918
|
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 9ceea0b883185fe489724d54a7e909bb6ed4785fcadf80162033dc6a133e2657337175601278e4155d1f8fac275ff9c8a02572aea876166c608774c809f832e9
|
||||||
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.bz2) = 95b577a06a93bb044dbc8033e550cb36bcf2ab2687da030a7318cdc90e7467ed49665e247dcafb5ff4a7e92cdc264291d19728bd17fab902fb64b22491269330
|
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
|
||||||
|
7
update-gcc.sh
Executable file
7
update-gcc.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ -d gcc-dir.tmp ] && echo gcc-dir.tmp already exists && exit 1
|
||||||
|
git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
|
||||||
|
git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin $1
|
||||||
|
d=`date --iso | sed 's/-//g'`
|
||||||
|
git --git-dir=gcc-dir.tmp/.git archive --prefix=gcc-10.0.1-$d/ $1 | xz -9e > gcc-10.0.1-$d.tar.xz
|
||||||
|
rm -rf gcc-dir.tmp
|
Loading…
Reference in New Issue
Block a user