...
 
Commits (3)
  • Jeff Chapman's avatar
    c++: Diagnose misapplied contracts. Allow contracts after virt specifier. · 477b7961
    Jeff Chapman authored
    2020-05-05  Jeff Chapman II  <[email protected]>
    
    	Diagnose misapplied contracts. Allow contracts after virt specifier.
    	* cp-tree.h (diagnose_misapplied_contracts): New.
    	* decl.c (diagnose_misapplied_contracts): Same.
    	(check_tag_decl): Use above to diagnose contracts on tag decls.
    	(grokdeclarator): Diagnose contracts in declspecs and declaration
    	attrlist if any. Extract diagnostic into
    	diagnose_misapplied_contracts.
    	* parser.c (cp_separate_contracts): Now works when passed in contracts
    	list is not already empty.
    	(cp_parser_statement): Initialize contract_attrs before call to
    	cp_separate_contracts.
    	(cp_parser_decl_specifier_seq): Diagnose invalid application of
    	contracts.
    	(cp_parser_class_head): Ditto.
    	(cp_parser_member_declaration): Handle contracts appearing after a
    	function's virt-specifier.
    
    2020-05-05  Jeff Chapman II  <[email protected]>
    
    	* g++.dg/cpp2a/contracts-pre1.C: New test cases for misapplied
    	contracts.
    	* g++.dg/cpp2a/contracts-override.C: New test.
    477b7961
  • Jeff Chapman II's avatar
    update to current git master · ada85fda
    Jeff Chapman II authored
    371905d12259c180efb9b1f1b5716e969feb60f9
    ada85fda
  • Jeff Chapman's avatar
    affefe9a

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

2020-04-29 Thomas Schwinge <[email protected]>
PR target/92713
* configure.ac ["${ENABLE_LIBSTDCXX}" = "default" && amdgcn*-*-*]
(noconfigdirs): Add 'target-libstdc++-v3'.
* configure: Regenerate.
2020-04-21 Stephen Casner <[email protected]>
PR 25830
* configure.ac (noconfigdirs): Exclude gdb & gprof for pdp11.
* configure: Rebuild.
2020-04-17 Martin Liska <[email protected]>
Jonathan Yong <[email protected]>
PR gcov-profile/94570
* ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM
for CYGWIN.
2020-04-14 Martin Jambor <[email protected]>
* MAINTAINERS (Reviewers): Add myself as callgraph (IPA) reviewer.
2020-04-09 Tom Tromey <[email protected]>
* configure: Rebuild.
* Makefile.in: Rebuild.
* Makefile.def (gdbsupport, gdbserver): New host modules.
(configure-gdb): Depend on all-gdbsupport.
(all-gdb): Depend on all-gdbsupport, all-libctf.
* configure.ac (host_tools): Add gdbserver.
Conditionally build gdbserver and gdbsupport.
2020-03-09 Tobias Burnus <[email protected]>
* configure.ac: Build libgomp by default for amdgcn.
......
......@@ -255,6 +255,8 @@ check in changes outside of the parts of the compiler they maintain.
arc port Andrew Burgess <[email protected]>
arc port Claudiu Zissulescu <[email protected]>
callgraph Martin Liska <[email protected]>
callgraph Martin Jambor <[email protected]>
C front end Marek Polacek <[email protected]>
dataflow Paolo Bonzini <[email protected]>
dataflow Seongbae Park <[email protected]>
......@@ -580,6 +582,7 @@ Trevor Saunders <[email protected]>
Aaron Sawdey <[email protected]>
Roger Sayle <[email protected]>
Will Schmidt <[email protected]>
Stefan Schulze Frielinghaus <[email protected]>
Tilo Schwarz <[email protected]>
Martin Sebor <[email protected]>
Svein Seldal <[email protected]>
......
......@@ -113,6 +113,8 @@ host_modules= { module= zlib; no_install=true; no_check=true;
bootstrap=true;
extra_configure_flags='@[email protected]';};
host_modules= { module= gnulib; };
host_modules= { module= gdbsupport; };
host_modules= { module= gdbserver; };
host_modules= { module= gdb; };
host_modules= { module= expect; };
host_modules= { module= guile; };
......@@ -394,18 +396,27 @@ dependencies = { module=configure-gdb; on=all-intl; };
dependencies = { module=configure-gdb; on=configure-sim; };
dependencies = { module=configure-gdb; on=all-bfd; };
dependencies = { module=configure-gdb; on=all-gnulib; };
dependencies = { module=configure-gdb; on=all-gdbsupport; };
// Depend on all-libiconv so that configure checks for iconv
// functions will work.
dependencies = { module=configure-gdb; on=all-libiconv; };
dependencies = { module=all-gdb; on=all-libiberty; };
dependencies = { module=all-gdb; on=all-libiconv; };
dependencies = { module=all-gdb; on=all-gnulib; };
dependencies = { module=all-gdb; on=all-gdbsupport; };
dependencies = { module=all-gdb; on=all-opcodes; };
dependencies = { module=all-gdb; on=all-readline; };
dependencies = { module=all-gdb; on=all-build-bison; };
dependencies = { module=all-gdb; on=all-sim; };
dependencies = { module=all-gdb; on=all-libdecnumber; };
dependencies = { module=all-gdb; on=all-libtermcap; };
dependencies = { module=all-gdb; on=all-libctf; };
// Host modules specific to gdbserver.
dependencies = { module=configure-gdbserver; on=all-gnulib; };
dependencies = { module=all-gdbserver; on=all-gdbsupport; };
dependencies = { module=all-gdbserver; on=all-gnulib; };
dependencies = { module=all-gdbserver; on=all-libiberty; };
dependencies = { module=configure-libgui; on=configure-tcl; };
dependencies = { module=configure-libgui; on=configure-tk; };
......@@ -413,6 +424,11 @@ dependencies = { module=all-libgui; on=all-tcl; };
dependencies = { module=all-libgui; on=all-tk; };
dependencies = { module=all-libgui; on=all-itcl; };
dependencies = { module=configure-gdbsupport; on=configure-gnulib; };
dependencies = { module=configure-gdbsupport; on=configure-intl; };
dependencies = { module=all-gdbsupport; on=all-gnulib; };
dependencies = { module=all-gdbsupport; on=all-intl; };
// Host modules specific to binutils.
dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };
dependencies = { module=configure-bfd; on=configure-intl; };
......
This diff is collapsed.
2020-04-28 H.J. Lu <[email protected]>
PR bootstrap/94739
* cet.m4 (GCC_CET_HOST_FLAGS): Add -fcf-protection=none to
-Wl,-z,ibt,-z,shstk. Check whether -fcf-protection=none
-Wl,-z,ibt,-z,shstk works first.
2020-04-25 H.J. Lu <[email protected]>
PR bootstrap/94739
* cet.m4 (GCC_CET_HOST_FLAGS): New.
2020-04-22 Jakub Jelinek <[email protected]>
PR libfortran/94694
PR libfortran/94586
* math.m4 (GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK1,
GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK2): New.
2020-02-12 Sandra Loosemore <[email protected]>
PR libstdc++/79193
PR libstdc++/88999
* no-executables.m4: Use a non-empty program to test for linker
support.
......
......@@ -48,3 +48,108 @@ else
AC_MSG_RESULT([no])
fi
])
dnl
dnl GCC_CET_HOST_FLAGS
dnl (SHELL-CODE_HANDLER)
dnl
AC_DEFUN([GCC_CET_HOST_FLAGS],[dnl
GCC_ENABLE(cet, auto, ,[enable Intel CET in host libraries],
permit yes|no|auto)
AC_MSG_CHECKING([for CET support])
case "$host" in
i[[34567]]86-*-linux* | x86_64-*-linux*)
may_have_cet=yes
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fcf-protection"
case "$enable_cet" in
auto)
# Check if target supports multi-byte NOPs
# and if assembler supports CET insn.
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[],
[
#if !defined(__SSE2__)
#error target does not support multi-byte NOPs
#else
asm ("setssbsy");
#endif
])],
[enable_cet=yes],
[enable_cet=no])
;;
yes)
# Check if assembler supports CET.
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[],
[asm ("setssbsy");])],
[],
[AC_MSG_ERROR([assembler with CET support is required for --enable-cet])])
;;
esac
CFLAGS="$save_CFLAGS"
;;
*)
may_have_cet=no
enable_cet=no
;;
esac
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fcf-protection=none"
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,-z,ibt,-z,shstk"
if test x$may_have_cet = xyes; then
# Check whether -fcf-protection=none -Wl,-z,ibt,-z,shstk work.
AC_TRY_LINK(
[],[return 0;],
[may_have_cet=yes],
[may_have_cet=no])
fi
if test x$may_have_cet = xyes; then
AC_TRY_RUN([
static void
foo (void)
{
}
static void
__attribute__ ((noinline, noclone))
xxx (void (*f) (void))
{
f ();
}
static void
__attribute__ ((noinline, noclone))
bar (void)
{
xxx (foo);
}
int
main ()
{
bar ();
return 0;
}
],
[have_cet=no],
[have_cet=yes])
if test x$enable_cet = xno -a x$have_cet = xyes; then
AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
fi
fi
if test x$enable_cet = xyes; then
$1="-fcf-protection"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
CFLAGS="$save_CFLAGS"
LDFLAGS="$save_LDFLAGS"
])
......@@ -48,3 +48,67 @@ main ()
[Define to 1 if you have the `$1' function.])
fi
])
dnl GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK1([name], [type])
dnl
dnl Check if math function NAME fallback for function with single
dnl TYPE argument and TYPE result can be implemented using
dnl __builtin_NAME expanded inline without needing unavailable math
dnl library function.
AC_DEFUN([GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK1],
[
AC_REQUIRE([GCC_CHECK_LIBM])
if test $gcc_cv_math_func_$1 = no; then
AC_CACHE_CHECK([for inline __builtin_$1], [gcc_cv_math_inline_builtin_$1],
[AC_LINK_IFELSE([AC_LANG_SOURCE([
$2
$1_fallback ($2 x)
{
return __builtin_$1 (x);
}
int
main ()
{
return 0;
}
])],
[gcc_cv_math_inline_builtin_$1=yes],
[gcc_cv_math_inline_builtin_$1=no])])
if test $gcc_cv_math_inline_builtin_$1 = yes; then
AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_INLINE_BUILTIN_$1),[1],
[Define to 1 if `__builtin_$1' is expanded inline.])
fi
fi])
dnl GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK2([name], [type])
dnl
dnl Check if math function NAME fallback for function with two
dnl TYPE arguments and TYPE result can be implemented using
dnl __builtin_NAME expanded inline without needing unavailable math
dnl library function.
AC_DEFUN([GCC_CHECK_MATH_INLINE_BUILTIN_FALLBACK2],
[
AC_REQUIRE([GCC_CHECK_LIBM])
if test $gcc_cv_math_func_$1 = no; then
AC_CACHE_CHECK([for inline __builtin_$1], [gcc_cv_math_inline_builtin_$1],
[AC_LINK_IFELSE([AC_LANG_SOURCE([
$2
$1_fallback ($2 x, $2 y)
{
return __builtin_$1 (x, y);
}
int
main ()
{
return 0;
}
])],
[gcc_cv_math_inline_builtin_$1=yes],
[gcc_cv_math_inline_builtin_$1=no])])
if test $gcc_cv_math_inline_builtin_$1 = yes; then
AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_INLINE_BUILTIN_$1),[1],
[Define to 1 if `__builtin_$1' is expanded inline.])
fi
fi])
......@@ -2793,7 +2793,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktr
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
# If --enable-gold is used, "gold" may replace "ld".
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gdbserver gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
# these libraries are built for the target environment, and are built after
# the host libraries and the host tools (which may be a cross compiler)
......@@ -3387,6 +3387,10 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then
# VxWorks uses the Dinkumware C++ library.
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
amdgcn*-*-*)
# Not ported/fails to build when using newlib.
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
arm*-wince-pe*)
# the C++ libraries don't build on top of CE's C libraries
noconfigdirs="$noconfigdirs target-libstdc++-v3"
......@@ -3577,6 +3581,25 @@ case "${target}" in
;;
esac
# Only allow gdbserver on some systems.
if test -d ${srcdir}/gdbserver; then
if test x$enable_gdbserver = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdbserver support" >&5
$as_echo_n "checking for gdbserver support... " >&6; }
if (srcdir=${srcdir}/gdbserver; \
. ${srcdir}/configure.srv; \
test -n "$UNSUPPORTED")
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
noconfigdirs="$noconfigdirs gdbserver"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
fi
fi
# Disable libgo for some systems where it is known to not work.
# For testing, you can easily override this with --enable-libgo.
if test x$enable_libgo = x; then
......@@ -3910,6 +3933,9 @@ case "${target}" in
noconfigdirs="$noconfigdirs ld gas gdb gprof sim"
noconfigdirs="$noconfigdirs $target_libraries"
;;
pdp11-*-*)
noconfigdirs="$noconfigdirs gdb gprof"
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
noconfigdirs="$noconfigdirs gprof"
......@@ -7311,13 +7337,17 @@ esac
CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
# gdb depends on gnulib, but as nothing else does, only include it if
# gdb is built.
if echo " ${configdirs} " | grep " gdb " > /dev/null 2>&1 ; then
# The Makefile provides the ordering, so it's enough here to add
# gnulib to the list.
configdirs="${configdirs} gnulib"
fi
# gdb and gdbserver depend on gnulib and gdbsupport, but as nothing
# else does, only include them if one of these is built. The Makefile
# provides the ordering, so it's enough here to add to the list.
case " ${configdirs} " in
*\ gdb\ *)
configdirs="${configdirs} gnulib gdbsupport"
;;
*\ gdbserver\ *)
configdirs="${configdirs} gnulib gdbsupport"
;;
esac
# Strip out unwanted targets.
......
......@@ -139,7 +139,7 @@ host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktr
# binutils, gas and ld appear in that order because it makes sense to run
# "make check" in that particular order.
# If --enable-gold is used, "gold" may replace "ld".
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gdbserver gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
# these libraries are built for the target environment, and are built after
# the host libraries and the host tools (which may be a cross compiler)
......@@ -668,6 +668,10 @@ if test "${ENABLE_LIBSTDCXX}" = "default" ; then
# VxWorks uses the Dinkumware C++ library.
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
amdgcn*-*-*)
# Not ported/fails to build when using newlib.
noconfigdirs="$noconfigdirs target-libstdc++-v3"
;;
arm*-wince-pe*)
# the C++ libraries don't build on top of CE's C libraries
noconfigdirs="$noconfigdirs target-libstdc++-v3"
......@@ -855,6 +859,22 @@ case "${target}" in
;;
esac
# Only allow gdbserver on some systems.
if test -d ${srcdir}/gdbserver; then
if test x$enable_gdbserver = x; then
AC_MSG_CHECKING([for gdbserver support])
if (srcdir=${srcdir}/gdbserver; \
. ${srcdir}/configure.srv; \
test -n "$UNSUPPORTED")
then
AC_MSG_RESULT([no])
noconfigdirs="$noconfigdirs gdbserver"
else
AC_MSG_RESULT([yes])
fi
fi
fi
# Disable libgo for some systems where it is known to not work.
# For testing, you can easily override this with --enable-libgo.
if test x$enable_libgo = x; then
......@@ -1188,6 +1208,9 @@ case "${target}" in
noconfigdirs="$noconfigdirs ld gas gdb gprof sim"
noconfigdirs="$noconfigdirs $target_libraries"
;;
pdp11-*-*)
noconfigdirs="$noconfigdirs gdb gprof"
;;
powerpc-*-aix*)
# copied from rs6000-*-* entry
noconfigdirs="$noconfigdirs gprof"
......@@ -2816,13 +2839,17 @@ esac
CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
# gdb depends on gnulib, but as nothing else does, only include it if
# gdb is built.
if echo " ${configdirs} " | grep " gdb " > /dev/null 2>&1 ; then
# The Makefile provides the ordering, so it's enough here to add
# gnulib to the list.
configdirs="${configdirs} gnulib"
fi
# gdb and gdbserver depend on gnulib and gdbsupport, but as nothing
# else does, only include them if one of these is built. The Makefile
# provides the ordering, so it's enough here to add to the list.
case " ${configdirs} " in
*\ gdb\ *)
configdirs="${configdirs} gnulib gdbsupport"
;;
*\ gdbserver\ *)
configdirs="${configdirs} gnulib gdbsupport"
;;
esac
# Strip out unwanted targets.
......
2020-04-17 Martin Liska <[email protected]>
* vimrc: We do not want to modify tab options
for Python files.
2020-04-16 Jakub Jelinek <[email protected]>
PR bootstrap/92008
* gcc_update: Add intl/plural.y dependency for intl/plural-config.h.
2020-04-03 Martin Liska <[email protected]>
* gcc-git-customization.sh: Search for the pattern
at line beginning only.
2020-01-24 Richard Earnshaw <[email protected]>
* gcc-git-customization.sh: Use users/<pfx> for the personal remote
......
......@@ -18,7 +18,7 @@ ask () {
}
# Add a git command to find the git commit equivalent to legacy SVN revision NNN
git config alias.svn-rev '!f() { rev=$1; shift; git log --all --grep="From-SVN: r\\?$rev\\b" "${@}"; } ; f'
git config alias.svn-rev '!f() { rev=$1; shift; git log --all --grep="^From-SVN: r\\?$rev\\b" "${@}"; } ; f'
# Add git commands to convert git commit to monotonically increasing revision number
# and vice versa
......
......@@ -72,6 +72,7 @@ fixincludes/configure: fixincludes/configure.ac fixincludes/aclocal.m4
fixincludes/config.h.in: fixincludes/configure.ac fixincludes/aclocal.m4
# intl library
intl/plural.c: intl/plural.y
intl/plural-config.h: intl/plural.y
intl/configure: intl/configure.ac intl/aclocal.m4
intl/config.h.in: intl/configure.ac intl/aclocal.m4
# Now, proceed to gcc automatically generated files
......
......@@ -28,17 +28,19 @@
function! SetStyle()
let l:fname = expand("%:p")
let l:ext = fnamemodify(l:fname, ":e")
let l:c_exts = ['c', 'h', 'cpp', 'cc', 'C', 'H', 'def', 'java']
if stridx(l:fname, 'libsanitizer') != -1
return
endif
setlocal tabstop=8
setlocal softtabstop=2
setlocal shiftwidth=2
setlocal noexpandtab
if l:ext != "py"
setlocal tabstop=8
setlocal softtabstop=2
setlocal shiftwidth=2
setlocal noexpandtab
endif
setlocal textwidth=80
setlocal formatoptions-=ro formatoptions+=cqlt
let l:ext = fnamemodify(l:fname, ":e")
let l:c_exts = ['c', 'h', 'cpp', 'cc', 'C', 'H', 'def', 'java']
if index(l:c_exts, l:ext) != -1
setlocal cindent
setlocal cinoptions=>4,n-2,{2,^-2,:2,=2,g0,f0,h2,p4,t0,+2,(0,u0,w1,m0
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2187,8 +2187,6 @@ lto-wrapper$(exeext): $(LTO_WRAPPER_OBJS) libcommon-target.a $(LIBDEPS)
$(LTO_WRAPPER_OBJS) libcommon-target.a $(LIBS)
mv -f T[email protected] [email protected]
CFLAGS-opts.o += -DDOCUMENTATION_ROOT_URL=\"@[email protected]\"