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. Jakub