diff options
author | Jason Merrill <jason@redhat.com> | 2016-09-09 17:22:15 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2016-09-09 17:22:15 -0400 |
commit | af63ba4b309ea3ff8946be59e8dba7333594f4ff (patch) | |
tree | 9648be877d043d0cd4ebb37ef5b0e82da08fd4f0 /libstdc++-v3/libsupc++/Makefile.in | |
parent | 51389084ec8de8c5a1055c77a2df5a84c5597af6 (diff) | |
download | gcc-af63ba4b309ea3ff8946be59e8dba7333594f4ff.zip gcc-af63ba4b309ea3ff8946be59e8dba7333594f4ff.tar.gz gcc-af63ba4b309ea3ff8946be59e8dba7333594f4ff.tar.bz2 |
Implement P0035R4, C++17 new of over-aligned types.
gcc/cp/
* cp-tree.h (enum cp_tree_index): Add CPTI_ALIGN_TYPE.
(align_type_node): New macro.
* call.c (build_operator_new_call): Handle C++17 aligned new.
(second_parm_is_size_t, build_op_delete_call): Likewise.
(non_placement_deallocation_fn_p): Likewise. Rename to
usual_deallocation_fn_p.
(aligned_allocation_fn_p, aligned_deallocation_fn_p): New.
* decl.c (cxx_init_decl_processing): Add aligned new support.
* init.c (type_has_new_extended_alignment): New.
(build_new_1): Handle aligned new.
* tree.c (vec_copy_and_insert): New.
gcc/c-family/
* c.opt: Add -faligned-new and -Waligned-new.
* c-common.c (max_align_t_align): Split out from...
(cxx_fundamental_alignment_p): ...here.
* c-common.h: Declare it.
* c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
libstdc++-v3/
* libsupc++/new: Declare aligned new/delete operators.
* config/abi/pre/gnu.ver: Export them.
* configure.ac: Check for aligned_alloc, posix_memalign, memalign,
_aligned_malloc.
* libsupc++/new_opa.cc: New.
* libsupc++/new_opant.cc: New.
* libsupc++/new_opva.cc: New.
* libsupc++/new_opva.cc: New.
* libsupc++/del_opa.cc: New.
* libsupc++/del_opant.cc: New.
* libsupc++/del_opsa.cc: New.
* libsupc++/del_opva.cc: New.
* libsupc++/del_opvant.cc: New.
* libsupc++/del_opvsa.cc: New.
* libsupc++/Makefile.am: Build them.
From-SVN: r240056
Diffstat (limited to 'libstdc++-v3/libsupc++/Makefile.in')
-rw-r--r-- | libstdc++-v3/libsupc++/Makefile.in | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 3fb9d16..e828ed9 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -125,9 +125,11 @@ am__objects_1 = array_type_info.lo atexit_arm.lo atexit_thread.lo \ function_type_info.lo fundamental_type_info.lo guard.lo \ guard_error.lo hash_bytes.lo nested_exception.lo \ new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \ - pbase_type_info.lo pmem_type_info.lo pointer_type_info.lo \ - pure.lo si_class_type_info.lo tinfo.lo tinfo2.lo vec.lo \ - vmi_class_type_info.lo vterminate.lo + new_opa.lo new_opant.lo new_opva.lo new_opvant.lo del_opa.lo \ + del_opant.lo del_opsa.lo del_opva.lo del_opvant.lo \ + del_opvsa.lo pbase_type_info.lo pmem_type_info.lo \ + pointer_type_info.lo pure.lo si_class_type_info.lo tinfo.lo \ + tinfo2.lo vec.lo vmi_class_type_info.lo vterminate.lo @GLIBCXX_HOSTED_TRUE@am__objects_2 = cp-demangle.lo @ENABLE_VTABLE_VERIFY_TRUE@@VTV_CYGMIN_FALSE@am__objects_3 = \ @ENABLE_VTABLE_VERIFY_TRUE@@VTV_CYGMIN_FALSE@ vtv_stubs.lo @@ -445,6 +447,16 @@ sources = \ new_opnt.cc \ new_opv.cc \ new_opvnt.cc \ + new_opa.cc \ + new_opant.cc \ + new_opva.cc \ + new_opvant.cc \ + del_opa.cc \ + del_opant.cc \ + del_opsa.cc \ + del_opva.cc \ + del_opvant.cc \ + del_opvsa.cc \ pbase_type_info.cc \ pmem_type_info.cc \ pointer_type_info.cc \ @@ -916,6 +928,28 @@ del_opvs.lo: del_opvs.cc del_opvs.o: del_opvs.cc $(CXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< +# Use special rules for the C++17 sources so that the proper flags are passed. +new_opa.lo: new_opa.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +new_opant.lo: new_opant.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +new_opva.lo: new_opva.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +new_opvant.lo: new_opvant.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +del_opa.lo: del_opa.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +del_opant.lo: del_opant.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +del_opsa.lo: del_opsa.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +del_opva.lo: del_opva.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +del_opvant.lo: del_opvant.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< +del_opvsa.lo: del_opvsa.cc + $(LTCXXCOMPILE) -std=gnu++1z -c $< + install-stdHEADERS: $(std_HEADERS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(stddir) |