public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 6.0.0-0.7.fc24
@ 2026-06-29 12:26 Jakub Jelinek
0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2026-06-29 12:26 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : bd1b81e9ec65bc93fc298c482b241a0f6481fb4c
Author : Jakub Jelinek <jakub@redhat.com>
Date : 2016-01-29T21:59:00+01:00
Stats : +152/-144 in 7 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/bd1b81e9ec65bc93fc298c482b241a0f6481fb4c?branch=rhel-f41-base
Log:
6.0.0-0.7.fc24
---
diff --git a/.gitignore b/.gitignore
index 6ba1427..dea2692 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/gcc-6.0.0-20160127.tar.bz2
/gcc-6.0.0-20160128.tar.bz2
+/gcc-6.0.0-20160129.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index 62a851a..b51d2a5 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20160128
-%global SVNREV 232948
+%global DATE 20160129
+%global SVNREV 232999
%global gcc_version 6.0.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 0.6
+%global gcc_release 0.7
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
# Hardening slows the compiler way too much.
@@ -119,7 +119,7 @@ BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man
BuildRequires: systemtap-sdt-devel >= 1.3
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
%if %{build_go}
-BuildRequires: hostname
+BuildRequires: hostname, procps
%endif
# For VTA guality testing
BuildRequires: gdb
@@ -206,8 +206,8 @@ Patch10: gcc6-no-add-needed.patch
Patch11: gcc6-libgo-p224.patch
Patch12: gcc6-aarch64-async-unw-tables.patch
Patch13: gcc6-libsanitize-aarch64-va42.patch
-Patch14: gcc6-pr66869.patch
-Patch15: gcc6-pr69126-revert.patch
+Patch14: gcc6-pr69546.patch
+Patch15: gcc6-pr69558.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -772,8 +772,8 @@ package or when debugging this package.
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
%patch12 -p0 -b .aarch64-async-unw-tables~
%patch13 -p0 -b .libsanitize-aarch64-va42~
-%patch14 -p0 -b .pr66869~
-%patch15 -p0 -b .pr69126-revert~
+%patch14 -p0 -b .pr69546~
+%patch15 -p0 -b .pr69558~
%if 0%{?_enable_debug_packages}
mkdir dwz-wrapper
@@ -3066,6 +3066,17 @@ fi
%doc rpm.doc/changelogs/libcc1/ChangeLog*
%changelog
+* Fri Jan 29 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.7
+- update from the trunk
+ - PRs c++/69462, c++/69509, c++/69516, debug/69518, libstdc++/69506,
+ middle-end/69537, other/69006, pch/68176, target/17381, target/65604,
+ target/66137, target/68400, target/69299, target/69459, target/69530,
+ target/69551, tree-optimization/69378, tree-optimization/69547
+- buildrequire procps for go testing
+- fix __uint128_t division (PR tree-optimization/69546)
+- restore old behavior of _Pragma GCC diagnostics in macros
+ (PR preprocessor/69543, PR c/69558)
+
* Thu Jan 28 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.6
- update from the trunk
- PRs ada/69488, c++/24208, c++/67407, c++/69317, c++/69379, c++/69496,
diff --git a/gcc6-pr66869.patch b/gcc6-pr66869.patch
deleted file mode 100644
index 4bd3e19..0000000
--- a/gcc6-pr66869.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-2016-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/66869
- * decl.c (wrapup_globals_for_namespace): Warn about unused static
- function declarations.
-
- * g++.dg/warn/Wunused-function2.C: New test.
-
---- gcc/cp/decl.c.jj 2016-01-25 09:31:01.000000000 +0100
-+++ gcc/cp/decl.c 2016-01-28 13:14:10.783286136 +0100
-@@ -879,6 +879,24 @@ wrapup_globals_for_namespace (tree name_
- tree *vec = statics->address ();
- int len = statics->length ();
-
-+ if (warn_unused_function)
-+ {
-+ tree decl;
-+ unsigned int i;
-+ FOR_EACH_VEC_SAFE_ELT (statics, i, decl)
-+ if (TREE_CODE (decl) == FUNCTION_DECL
-+ && DECL_INITIAL (decl) == 0
-+ && DECL_EXTERNAL (decl)
-+ && !TREE_PUBLIC (decl)
-+ && !DECL_ARTIFICIAL (decl)
-+ && !TREE_NO_WARNING (decl))
-+ {
-+ warning (OPT_Wunused_function,
-+ "%q+F declared %<static%> but never defined", decl);
-+ TREE_NO_WARNING (decl) = 1;
-+ }
-+ }
-+
- /* Write out any globals that need to be output. */
- return wrapup_global_declarations (vec, len);
- }
---- gcc/testsuite/g++.dg/warn/Wunused-function2.C.jj 2016-01-28 13:40:10.201053364 +0100
-+++ gcc/testsuite/g++.dg/warn/Wunused-function2.C 2016-01-28 13:41:43.006788487 +0100
-@@ -0,0 +1,6 @@
-+// PR debug/66869
-+// { dg-do compile }
-+// { dg-options "-Wunused-function" }
-+
-+static void test (void); // { dg-warning "'void test..' declared 'static' but never defined" }
-+int i;
diff --git a/gcc6-pr69126-revert.patch b/gcc6-pr69126-revert.patch
deleted file mode 100644
index 58b4e0a..0000000
--- a/gcc6-pr69126-revert.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Revert:
-2016-01-28 Jakub Jelinek <jakub@redhat.com>
-
- * directives.c (destringize_and_run): Adjust prototype.
-
-2016-01-27 David Malcolm <dmalcolm@redhat.com>
-
- PR preprocessor/69126
- * directives.c (destringize_and_run): Add expansion_loc param; use
- it when handling unexpanded pragmas to fixup the locations of the
- synthesized tokens.
- (_cpp_do__Pragma): Add expansion_loc param and use it when calling
- destringize_and_run.
- * internal.h (_cpp_do__Pragma): Add expansion_loc param.
- * macro.c (builtin_macro): Pass expansion location of _Pragma to
- _cpp_do__Pragma.
-
---- libcpp/macro.c (revision 232893)
-+++ libcpp/macro.c (revision 232892)
-@@ -430,7 +430,7 @@ builtin_macro (cpp_reader *pfile, cpp_ha
- if (pfile->state.in_directive)
- return 0;
-
-- return _cpp_do__Pragma (pfile, loc);
-+ return _cpp_do__Pragma (pfile);
- }
-
- buf = _cpp_builtin_macro_text (pfile, node);
---- libcpp/directives.c (revision 232928)
-+++ libcpp/directives.c (revision 232892)
-@@ -122,8 +122,7 @@ static void do_pragma_error (cpp_reader
- static void do_linemarker (cpp_reader *);
- static const cpp_token *get_token_no_padding (cpp_reader *);
- static const cpp_token *get__Pragma_string (cpp_reader *);
--static void destringize_and_run (cpp_reader *, const cpp_string *,
-- source_location);
-+static void destringize_and_run (cpp_reader *, const cpp_string *);
- static int parse_answer (cpp_reader *, struct answer **, int, source_location);
- static cpp_hashnode *parse_assertion (cpp_reader *, struct answer **, int);
- static struct answer ** find_answer (cpp_hashnode *, const struct answer *);
-@@ -1753,8 +1752,7 @@ get__Pragma_string (cpp_reader *pfile)
- /* Destringize IN into a temporary buffer, by removing the first \ of
- \" and \\ sequences, and process the result as a #pragma directive. */
- static void
--destringize_and_run (cpp_reader *pfile, const cpp_string *in,
-- source_location expansion_loc)
-+destringize_and_run (cpp_reader *pfile, const cpp_string *in)
- {
- const unsigned char *src, *limit;
- char *dest, *result;
-@@ -1834,12 +1832,6 @@ destringize_and_run (cpp_reader *pfile,
- toks = XRESIZEVEC (cpp_token, toks, maxcount);
- }
- toks[count] = *cpp_get_token (pfile);
-- /* _Pragma is a builtin, so we're not within a macro-map, and so
-- the token locations are set to bogus ordinary locations
-- near to, but after that of the "_Pragma".
-- Paper over this by setting them equal to the location of the
-- _Pragma itself (PR preprocessor/69126). */
-- toks[count].src_loc = expansion_loc;
- /* Macros have been already expanded by cpp_get_token
- if the pragma allowed expansion. */
- toks[count++].flags |= NO_EXPAND;
-@@ -1874,14 +1866,14 @@ destringize_and_run (cpp_reader *pfile,
-
- /* Handle the _Pragma operator. Return 0 on error, 1 if ok. */
- int
--_cpp_do__Pragma (cpp_reader *pfile, source_location expansion_loc)
-+_cpp_do__Pragma (cpp_reader *pfile)
- {
- const cpp_token *string = get__Pragma_string (pfile);
- pfile->directive_result.type = CPP_PADDING;
-
- if (string)
- {
-- destringize_and_run (pfile, &string->val.str, expansion_loc);
-+ destringize_and_run (pfile, &string->val.str);
- return 1;
- }
- cpp_error (pfile, CPP_DL_ERROR,
---- libcpp/internal.h (revision 232893)
-+++ libcpp/internal.h (revision 232892)
-@@ -688,7 +688,7 @@ extern int _cpp_handle_directive (cpp_re
- extern void _cpp_define_builtin (cpp_reader *, const char *);
- extern char ** _cpp_save_pragma_names (cpp_reader *);
- extern void _cpp_restore_pragma_names (cpp_reader *, char **);
--extern int _cpp_do__Pragma (cpp_reader *, source_location);
-+extern int _cpp_do__Pragma (cpp_reader *);
- extern void _cpp_init_directives (cpp_reader *);
- extern void _cpp_init_internal_pragmas (cpp_reader *);
- extern void _cpp_do_file_change (cpp_reader *, enum lc_reason, const char *,
diff --git a/gcc6-pr69546.patch b/gcc6-pr69546.patch
new file mode 100644
index 0000000..7a00971
--- /dev/null
+++ b/gcc6-pr69546.patch
@@ -0,0 +1,69 @@
+2016-01-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/69546
+ * wide-int.cc (wi::divmod_internal): For unsigned division
+ where both operands fit into uhwi, if o1 is 1 and o0 has
+ msb set, if divident_prec is larger than bits per hwi,
+ clear another quotient word and return 2 instead of 1.
+
+ * gcc.dg/torture/pr69546.c: New test.
+
+--- gcc/wide-int.cc.jj 2016-01-26 11:46:39.000000000 +0100
++++ gcc/wide-int.cc 2016-01-29 11:59:33.348852003 +0100
+@@ -1788,15 +1788,25 @@ wi::divmod_internal (HOST_WIDE_INT *quot
+ {
+ unsigned HOST_WIDE_INT o0 = dividend.to_uhwi ();
+ unsigned HOST_WIDE_INT o1 = divisor.to_uhwi ();
++ unsigned int quotient_len = 1;
+
+ if (quotient)
+- quotient[0] = o0 / o1;
++ {
++ quotient[0] = o0 / o1;
++ if (o1 == 1
++ && (HOST_WIDE_INT) o0 < 0
++ && dividend_prec > HOST_BITS_PER_WIDE_INT)
++ {
++ quotient[1] = 0;
++ quotient_len = 2;
++ }
++ }
+ if (remainder)
+ {
+ remainder[0] = o0 % o1;
+ *remainder_len = 1;
+ }
+- return 1;
++ return quotient_len;
+ }
+
+ /* Make the divisor and dividend positive and remember what we
+--- gcc/testsuite/gcc.dg/torture/pr69546.c.jj 2016-01-29 12:06:03.148516651 +0100
++++ gcc/testsuite/gcc.dg/torture/pr69546.c 2016-01-29 12:08:17.847672967 +0100
+@@ -0,0 +1,26 @@
++/* PR tree-optimization/69546 */
++/* { dg-do run { target int128 } } */
++
++unsigned __int128 __attribute__ ((noinline, noclone))
++foo (unsigned long long x)
++{
++ unsigned __int128 y = ~0ULL;
++ x >>= 63;
++ return y / (x | 1);
++}
++
++unsigned __int128 __attribute__ ((noinline, noclone))
++bar (unsigned long long x)
++{
++ unsigned __int128 y = ~33ULL;
++ x >>= 63;
++ return y / (x | 1);
++}
++
++int
++main ()
++{
++ if (foo (1) != ~0ULL || bar (17) != ~33ULL)
++ __builtin_abort ();
++ return 0;
++}
diff --git a/gcc6-pr69558.patch b/gcc6-pr69558.patch
new file mode 100644
index 0000000..9d13731
--- /dev/null
+++ b/gcc6-pr69558.patch
@@ -0,0 +1,62 @@
+2016-01-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/69543
+ PR c/69558
+ * c-pragma.c (handle_pragma_diagnostic): Pass input_location
+ instead of loc to control_warning_option.
+
+ * gcc.dg/pr69543.c: New test.
+ * gcc.dg/pr69558.c: New test.
+
+--- gcc/c-family/c-pragma.c.jj 2016-01-15 21:57:00.000000000 +0100
++++ gcc/c-family/c-pragma.c 2016-01-29 18:34:51.743943283 +0100
+@@ -819,7 +819,7 @@ handle_pragma_diagnostic(cpp_reader *ARG
+ arg = option_string + 1 + cl_options[option_index].opt_len;
+ control_warning_option (option_index, (int) kind,
+ arg, kind != DK_IGNORED,
+- loc, lang_mask, &handlers,
++ input_location, lang_mask, &handlers,
+ &global_options, &global_options_set,
+ global_dc);
+ }
+--- gcc/testsuite/gcc.dg/pr69558.c.jj 2016-01-29 18:43:32.191665058 +0100
++++ gcc/testsuite/gcc.dg/pr69558.c 2016-01-29 18:40:05.000000000 +0100
+@@ -0,0 +1,17 @@
++/* PR c/69558 */
++/* { dg-do compile } */
++/* { dg-options "-Wdeprecated-declarations" } */
++
++#define A \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
++#define B \
++ _Pragma ("GCC diagnostic pop")
++#define C(x) \
++ A \
++ static inline void bar (void) { x (); } \
++ B
++
++__attribute__((deprecated)) void foo (void); /* { dg-bogus "declared here" } */
++
++C (foo) /* { dg-bogus "is deprecated" } */
+--- gcc/testsuite/gcc.dg/pr69543.c.jj 2016-01-29 18:45:09.520323395 +0100
++++ gcc/testsuite/gcc.dg/pr69543.c 2016-01-29 18:44:56.000000000 +0100
+@@ -0,0 +1,18 @@
++/* PR preprocessor/69543 */
++/* { dg-do compile } */
++/* { dg-options "-O2 -Wuninitialized" } */
++
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
++ _Pragma ("GCC diagnostic pop")
++
++void test (char yylval)
++{
++ char *yyvsp;
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
++}
diff --git a/sources b/sources
index 0f0996b..05b1aba 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-cbd21a4b3232d4202dd894f4587932d7 gcc-6.0.0-20160128.tar.bz2
+e5c10abeb36d1e8659e83f9c6d208249 gcc-6.0.0-20160129.tar.bz2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-29 12:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:26 [rpms/gcc] rhel-f41-base: 6.0.0-0.7.fc24 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox