summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/always_inline-1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/always_inline-1.C')
-rw-r--r--gcc/testsuite/g++.dg/ext/always_inline-1.C26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/always_inline-1.C b/gcc/testsuite/g++.dg/ext/always_inline-1.C
new file mode 100644
index 000000000..284fd17a0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/always_inline-1.C
@@ -0,0 +1,26 @@
+// { dg-options "-O0" }
+// { dg-do compile }
+// PR C++/34715
+
+
+namespace X
+{
+ template <class T>
+ const T& min(const T& a, const T& b);
+
+ template <class T>
+ inline __attribute__ ((always_inline)) const T& min(const T& a, const T& b)
+ {
+ return a < b ? a : b;
+ }
+}
+template <class T>
+inline __attribute__ ((always_inline)) T y(const T& a, const T& b)
+{
+ return X::min(a, b);
+}
+int main()
+{
+ int a = 0, b = 0;
+ return y(a, b);
+}