On Thu, Nov 7, 2013 at 5:45 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Tue, Nov 05, 2013 at 11:21:56PM +0000, Joseph S. Myers wrote: >> 2013-11-05 Andrew MacLeod <amacl...@redhat.com> >> Joseph Myers <jos...@codesourcery.com> >> >> * tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC. >> (enum tree_index): Add TI_ATOMICQI_TYPE, TI_ATOMICHI_TYPE, >> TI_ATOMICSI_TYPE, TI_ATOMICDI_TYPE and TI_ATOMICTI_TYPE. >> (struct tree_base): Add atomic_flag field. >> * tree.h (TYPE_ATOMIC): New accessor macro. >> (TYPE_QUALS, TYPE_QUALS_NO_ADDR_SPACE): Add TYPE_QUAL_ATOMIC. >> (TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC): New macro. >> (atomicQI_type_node, atomicHI_type_node, atomicSI_type_node) >> (atomicDI_type_node, atomicTI_type_node): New macros for type >> nodes. >> * tree.c (set_type_quals): Set TYPE_ATOMIC. >> (find_atomic_core_type): New function. >> (build_qualified_type): Adjust alignment for qualified types. >> (build_atomic_base): New function >> (build_common_tree_nodes): Build atomicQI_type_node, >> atomicHI_type_node, atomicSI_type_node, atomicDI_type_node and >> atomicTI_type_node. >> * print-tree.c (print_node): Print atomic qualifier. >> * tree-pretty-print.c (dump_generic_node): Print atomic type >> attribute. >> * target.def (atomic_assign_expand_fenv): New hook. >> * doc/tm.texi.in (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New @hook. >> * doc/tm.texi: Regenerate. >> * targhooks.c (default_atomic_assign_expand_fenv): New function. >> * targhooks.h (default_atomic_assign_expand_fenv): Declare. >> * sync-builtins.def (__atomic_feraiseexcept): New built-in >> function. > >> 2013-11-05 Joseph Myers <jos...@codesourcery.com> >> >> * lib/target-supports.exp >> (check_effective_target_fenv_exceptions): New function. >> * lib/atomic-dg.exp, gcc.dg/atomic/atomic.exp: New files. >> * gcc.dg/atomic/c11-atomic-exec-1.c, >> gcc.dg/atomic/c11-atomic-exec-2.c, >> gcc.dg/atomic/c11-atomic-exec-3.c, >> gcc.dg/atomic/c11-atomic-exec-4.c, >> gcc.dg/atomic/c11-atomic-exec-5.c, gcc.dg/c11-atomic-1.c, >> gcc.dg/c11-atomic-2.c, gcc.dg/c11-atomic-3.c, >> gcc.dg/c90-atomic-1.c, gcc.dg/c99-atomic-1.c: New tests. >> >> libatomic: >> 2013-11-05 Joseph Myers <jos...@codesourcery.com> >> >> * fenv.c: New file. >> * libatomic.map (LIBATOMIC_1.1): New symbol version. Include >> __atomic_feraiseexcept. >> * configure.ac (libtool_VERSION): Change to 2:0:1. >> (fenv.h): Test for header. >> * Makefile.am (libatomic_la_SOURCES): Add fenv.c. >> * Makefile.in, auto-config.h.in, configure: Regenerate. > > The middle-end, libatomic and testsuite changes are ok.
Please note that following code form fenv.c won't generate overflow exception on x87: if (excepts & FP_EX_OVERFLOW) { volatile float max = __FLT_MAX__; r = max * max; } Uros.