http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59541

            Bug ID: 59541
           Summary: [4.9 Regression] Revision 206070 breaks bootstrap on
                    darwin
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dominiq at lps dot ens.fr
                CC: howarth at bromo dot med.uc.edu, iains at gcc dot gnu.org,
                    marxin.liska at gmail dot com
            Target: *-*-darwin*

Revision 206070 breaks bootstrap on darwin:

/opt/gcc/build_c/./prev-gcc/xg++ -B/opt/gcc/build_c/./prev-gcc/
-B/opt/gcc/gcc4.9c/x86_64-apple-darwin13.0.0/bin/ -nostdinc++
-B/opt/gcc/build_c/prev-x86_64-apple-darwin13.0.0/libstdc++-v3/src/.libs
-B/opt/gcc/build_c/prev-x86_64-apple-darwin13.0.0/libstdc++-v3/libsupc++/.libs
-I/opt/gcc/build_c/prev-x86_64-apple-darwin13.0.0/libstdc++-v3/include/x86_64-apple-darwin13.0.0
-I/opt/gcc/build_c/prev-x86_64-apple-darwin13.0.0/libstdc++-v3/include
-I/opt/gcc/_clean/libstdc++-v3/libsupc++
-L/opt/gcc/build_c/prev-x86_64-apple-darwin13.0.0/libstdc++-v3/src/.libs
-L/opt/gcc/build_c/prev-x86_64-apple-darwin13.0.0/libstdc++-v3/libsupc++/.libs
-c   -g -O2  -gtoggle -DIN_GCC    -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common 
-DHAVE_CONFIG_H -I. -I. -I../../_clean/gcc -I../../_clean/gcc/.
-I../../_clean/gcc/../include -I./../intl -I../../_clean/gcc/../libcpp/include
-I/opt/mp/include  -I../../_clean/gcc/../libdecnumber
-I../../_clean/gcc/../libdecnumber/dpd -I../libdecnumber
-I../../_clean/gcc/../libbacktrace -DCLOOG_INT_GMP  -I/opt/mp/include  -o
darwin.o -MT darwin.o -MMD -MP -MF ./.deps/darwin.TPo
../../_clean/gcc/config/darwin.c
../../_clean/gcc/config/darwin.c: In function 'section*
darwin_function_section(tree, node_frequency, bool, bool)':
../../_clean/gcc/config/darwin.c:3665:1: error: control reaches end of non-void
function [-Werror=return-type]
 }
 ^
cc1plus: all warnings being treated as errors

I fixed it with the following patch:

--- ../_clean/gcc/config/darwin.c    2013-12-17 23:28:53.000000000 +0100
+++ gcc/config/darwin.c    2013-12-18 00:46:28.000000000 +0100
@@ -3654,7 +3654,8 @@ darwin_function_section (tree decl, enum
           return (weak)
                   ? darwin_sections[text_hot_coal_section]
                   : darwin_sections[text_hot_section];
-        break;
+    else
+      return text_section;
       }
       default:
     return (weak)

Testing in progress.

Reply via email to