diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-15 22:16:33 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-15 22:16:33 +0000 |
commit | d497282991598a4ed8ee7042133b71bb351860f0 (patch) | |
tree | 566d466153ee9549192da89f45dbe3df248a8b67 /gcc | |
parent | 72546848614496f544336a571418943694fd5a88 (diff) | |
download | ppe42-gcc-d497282991598a4ed8ee7042133b71bb351860f0.tar.gz ppe42-gcc-d497282991598a4ed8ee7042133b71bb351860f0.zip |
* varasm.c (default_function_rdodata_section): Make sure to pass
along a decl for a link-once section.
* g++.dg/opt/switch1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87569 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/opt/switch1.C | 23 | ||||
-rw-r--r-- | gcc/varasm.c | 2 |
4 files changed, 33 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 175bd11e046..d9620165672 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-15 Mark Mitchell <mark@codesourcery.com> + + * varasm.c (default_function_rdodata_section): Make sure to pass + along a decl for a link-once section. + 2004-09-15 Richard Henderson <rth@redhat.com> * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e04c94049e0..f9dfb7f6751 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-09-15 Mark Mitchell <mark@codesourcery.com> + + * g++.dg/opt/switch1.C: New test. + 2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk> * g++.dg/ext/member-attr.C, g++.dg/warn/deprecated.C, diff --git a/gcc/testsuite/g++.dg/opt/switch1.C b/gcc/testsuite/g++.dg/opt/switch1.C new file mode 100644 index 00000000000..c21630d752b --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/switch1.C @@ -0,0 +1,23 @@ +// { dg-options "-O1" } + +template <typename T> +int f(T t) { + switch (t) { + case 1: + return 5; + case 2: + return 6; + case 3: + return -4; + case 4: + return 8; + case 5: + return 12; + case 6: + return 13; + default: + return -27; + } +} + +template int f(int); diff --git a/gcc/varasm.c b/gcc/varasm.c index b5362b92001..05d60eb44d1 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -600,7 +600,7 @@ default_function_rodata_section (tree decl) memcpy (rname, name, len); rname[14] = 'r'; - named_section_flags (rname, SECTION_LINKONCE); + named_section_real (rname, SECTION_LINKONCE, decl); return; } /* For .text.foo we want to use .rodata.foo. */ |