diff options
author | Jason Merrill <jason@redhat.com> | 2024-02-14 17:18:17 -0500 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2024-05-29 09:51:40 -0400 |
commit | eff00046409a7289bfdc1861e68b532895f91c0e (patch) | |
tree | 9d5484d42bfc3c309f7f0ff94c33dc8abcbd1c7c /gcc/tree-vectorizer.cc | |
parent | 3ae02dcb108df426838bbbcc73d7d01855bc1196 (diff) | |
download | gcc-eff00046409a7289bfdc1861e68b532895f91c0e.zip gcc-eff00046409a7289bfdc1861e68b532895f91c0e.tar.gz gcc-eff00046409a7289bfdc1861e68b532895f91c0e.tar.bz2 |
c++: pragma target and static init [PR109753]
#pragma target and optimize should also apply to implicitly-generated
functions like static initialization functions and defaulted special member
functions.
The handle_optimize_attribute change is necessary to avoid regressing
g++.dg/opt/pr105306.C; maybe_clone_body creates a cgraph_node for the ~B
alias before handle_optimize_attribute, and the alias never goes through
finalize_function, so we need to adjust semantic_interposition somewhere
else.
PR c++/109753
gcc/c-family/ChangeLog:
* c-attribs.cc (handle_optimize_attribute): Set
cgraph_node::semantic_interposition.
gcc/cp/ChangeLog:
* decl.cc (start_preparsed_function): Call decl_attributes.
gcc/testsuite/ChangeLog:
* g++.dg/opt/always_inline1.C: New test.
Diffstat (limited to 'gcc/tree-vectorizer.cc')
0 files changed, 0 insertions, 0 deletions