From b0d5b9f12adbce2c4a0df6059f5671188cd32293 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 30 Apr 2011 12:37:47 -0700 Subject: gcc-4.6.0: Backport FSF 4.6 branch patches This is set of bugfixes that has been done on FSF gcc-4_2-branch since 4.6.0 was released They will roll into 4.6.1 release once that happens in coming approx 6 months time then we can simply remove them thats the reason so use a separate .inc file to define the SRC_URI additions Signed-off-by: Khem Raj --- ...ild_noexcept_spec-Call-cxx_constant_value.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch') diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch new file mode 100644 index 000000000..096ec080c --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0024-except.c-build_noexcept_spec-Call-cxx_constant_value.patch @@ -0,0 +1,46 @@ +From 3a987d8e4a8c885fe7fc54595ebdd82d5291e1e7 Mon Sep 17 00:00:00 2001 +From: jason +Date: Tue, 29 Mar 2011 14:24:30 +0000 +Subject: [PATCH 024/200] * except.c (build_noexcept_spec): Call cxx_constant_value after + converting to bool. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171665 138bc75d-0d04-0410-961f-82ee72b054a4 + +index c05e507..a814d67 100644 +--- a/gcc/cp/except.c ++++ b/gcc/cp/except.c +@@ -1203,10 +1203,10 @@ build_noexcept_spec (tree expr, int complain) + it until instantiation. */ + if (!processing_template_decl) + { +- expr = cxx_constant_value (expr); + expr = perform_implicit_conversion_flags (boolean_type_node, expr, + complain, + LOOKUP_NORMAL); ++ expr = cxx_constant_value (expr); + } + if (expr == boolean_true_node) + return noexcept_true_spec; +new file mode 100644 +index 0000000..7bf961b +--- /dev/null ++++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-noexcept5.C +@@ -0,0 +1,15 @@ ++// { dg-options -std=c++0x } ++ ++struct booleable { ++ bool data; ++ constexpr explicit operator bool() { return data; } ++}; ++ ++constexpr booleable truthy_func() { return {true}; } ++ ++void funky() noexcept(truthy_func()) {} ++ ++int main() { ++ funky(); ++ return 0; ++} +-- +1.7.0.4 + -- cgit v1.2.3