Hi, This patch addresses the reported ICE about #pragma weak used on declarations not var or function.
ChangeLog 2015-02-26 Kai Tietz <kti...@redhat.com> * c-pragma.c (handle_pragma_weak): Do not try to creat weak/alias of declarations not being function, or variable declarations. Bootstrapped and regression tested on x86_64-unknown-linux-gnu. Ok for apply? Regards, Kai Index: c-pragma.c =================================================================== --- c-pragma.c (Revision 221019) +++ c-pragma.c (Arbeitskopie) @@ -392,6 +392,11 @@ handle_pragma_weak (cpp_reader * ARG_UNUSED (dummy decl = identifier_global_value (name); if (decl && DECL_P (decl)) { + if (TREE_CODE (decl) != FUNCTION_DECL && TREE_CODE (decl) != VAR_DECL) + { + error ("weak declaration of %q+D not allowed", decl); + return; + } apply_pragma_weak (decl, value); if (value) {