On 06/07/2015 06:19 AM, Andreas Schwab wrote:
Another fallout:
FAIL: obj-c++.dg/try-catch-5.mm -fgnu-runtime (test for excess errors)
Excess errors:
<built-in>: warning: '_OBJC_Module' defined but not used [-Wunused-variable]
check_global_declarations is called for more symbols now. All the
defined but not used errors I've seen in development have been
legitimate. For tests, the tests should be fixed. For built-ins such
as these, does the attached fix the problem?
It is up to the objc maintainers, we can either fix this with the
attached patch, or setting DECL_IN_SYSTEM_HEADER.
/* Nonzero for a given ..._DECL node means that no warnings should be
generated just because this node is unused. */
#define DECL_IN_SYSTEM_HEADER(NODE) \
(in_system_header_at (DECL_SOURCE_LOCATION (NODE)))
Let me know what you prefer.
Aldy
commit 25ce72372f7b1309004b87810140573b422e1355
Author: Aldy Hernandez <al...@redhat.com>
Date: Sun Jun 7 07:32:12 2015 -0400
* objc-runtime-shared-support.c (build_module_descriptor): Set
TREE_USED on UOBJC_MODULES_decl.
diff --git a/gcc/objc/objc-runtime-shared-support.c
b/gcc/objc/objc-runtime-shared-support.c
index d9b3c27..1bcb14a 100644
--- a/gcc/objc/objc-runtime-shared-support.c
+++ b/gcc/objc/objc-runtime-shared-support.c
@@ -519,6 +519,9 @@ build_module_descriptor (long vers, tree attr)
is referenced by the runtime and, therefore, needed. */
DECL_PRESERVE_P (UOBJC_MODULES_decl) = 1;
+ /* Squash `defined but not used' warning. */
+ TREE_USED (UOBJC_MODULES_decl) = 1;
+
/* Allow the runtime to mark meta-data such that it can be assigned to target
specific sections by the back-end. */
if (attr)