Commit a03c9bf1 by Jason Merrill Committed by Jason Merrill

c-opts.c (c_common_post_options): Highest ABI level is now 10.

gcc/c-family/
	* c-opts.c (c_common_post_options): Highest ABI level is now 10.
gcc/cp/
	* mangle.c (write_CV_qualifiers_for_type, write_nested_name):
	Attribute mangling is now -fabi-version=10.

From-SVN: r225271
parent d68f848b
2015-07-01 Jason Merrill <jason@redhat.com>
* c-opts.c (c_common_post_options): Highest ABI level is now 10.
2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net> 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement N4197 - Adding u8 character literals Implement N4197 - Adding u8 character literals
......
...@@ -887,7 +887,7 @@ c_common_post_options (const char **pfilename) ...@@ -887,7 +887,7 @@ c_common_post_options (const char **pfilename)
/* Change flag_abi_version to be the actual current ABI level for the /* Change flag_abi_version to be the actual current ABI level for the
benefit of c_cpp_builtins. */ benefit of c_cpp_builtins. */
if (flag_abi_version == 0) if (flag_abi_version == 0)
flag_abi_version = 9; flag_abi_version = 10;
/* Set C++ standard to C++98 if not specified on the command line. */ /* Set C++ standard to C++98 if not specified on the command line. */
if (c_dialect_cxx () && cxx_dialect == cxx_unset) if (c_dialect_cxx () && cxx_dialect == cxx_unset)
......
...@@ -838,7 +838,10 @@ Driver Undocumented ...@@ -838,7 +838,10 @@ Driver Undocumented
; function types with function-cv-qualifiers. ; function types with function-cv-qualifiers.
; First selectable in G++ 4.9 and default in G++ 5. ; First selectable in G++ 4.9 and default in G++ 5.
; ;
; 9: The version of the ABI that mangles attributes that affect type ; 9: The version of the ABI that corrects the alignment of nullptr_t.
; First selectable and default in G++ 5.2.
;
; 10: The version of the ABI that mangles attributes that affect type
; identity, such as ia32 calling convention attributes (stdcall, etc.) ; identity, such as ia32 calling convention attributes (stdcall, etc.)
; Default in G++ 6 (set in c_common_post_options). ; Default in G++ 6 (set in c_common_post_options).
; ;
......
2015-07-01 Jason Merrill <jason@redhat.com> 2015-07-01 Jason Merrill <jason@redhat.com>
* mangle.c (write_CV_qualifiers_for_type, write_nested_name):
Attribute mangling is now -fabi-version=10.
PR c++/65945 PR c++/65945
* decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t. * decl.c (cxx_init_decl_processing): Set TYPE_ALIGN of nullptr_t.
* class.c (layout_nonempty_base_or_field): Warn if that affects * class.c (layout_nonempty_base_or_field): Warn if that affects
......
...@@ -984,7 +984,7 @@ write_nested_name (const tree decl) ...@@ -984,7 +984,7 @@ write_nested_name (const tree decl)
write_template_prefix (decl); write_template_prefix (decl);
write_template_args (TI_ARGS (template_info)); write_template_args (TI_ARGS (template_info));
} }
else if ((!abi_version_at_least (9) || TREE_CODE (decl) == TYPE_DECL) else if ((!abi_version_at_least (10) || TREE_CODE (decl) == TYPE_DECL)
&& TREE_CODE (TREE_TYPE (decl)) == TYPENAME_TYPE) && TREE_CODE (TREE_TYPE (decl)) == TYPENAME_TYPE)
{ {
tree name = TYPENAME_TYPE_FULLNAME (TREE_TYPE (decl)); tree name = TYPENAME_TYPE_FULLNAME (TREE_TYPE (decl));
...@@ -2196,7 +2196,7 @@ write_CV_qualifiers_for_type (const tree type) ...@@ -2196,7 +2196,7 @@ write_CV_qualifiers_for_type (const tree type)
We don't do this with classes and enums because their attributes We don't do this with classes and enums because their attributes
are part of their definitions, not something added on. */ are part of their definitions, not something added on. */
if (abi_version_at_least (9) && !OVERLOAD_TYPE_P (type)) if (abi_version_at_least (10) && !OVERLOAD_TYPE_P (type))
{ {
auto_vec<tree> vec; auto_vec<tree> vec;
for (tree a = TYPE_ATTRIBUTES (type); a; a = TREE_CHAIN (a)) for (tree a = TYPE_ATTRIBUTES (type); a; a = TREE_CHAIN (a))
...@@ -2230,7 +2230,7 @@ write_CV_qualifiers_for_type (const tree type) ...@@ -2230,7 +2230,7 @@ write_CV_qualifiers_for_type (const tree type)
} }
++num_qualifiers; ++num_qualifiers;
if (abi_version_crosses (9)) if (abi_version_crosses (10))
G.need_abi_warning = true; G.need_abi_warning = true;
} }
} }
......
// This testcase will need to be kept in sync with c_common_post_options. // This testcase will need to be kept in sync with c_common_post_options.
// { dg-options "-fabi-version=0" } // { dg-options "-fabi-version=0" }
#if __GXX_ABI_VERSION != 1009 #if __GXX_ABI_VERSION != 1010
#error "Incorrect value of __GXX_ABI_VERSION" #error "Incorrect value of __GXX_ABI_VERSION"
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment