|
@@ -4671,6 +4671,15 @@ sub process {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+# Check for __attribute__ weak, or __weak declarations (may have link issues)
|
|
|
+ if ($^V && $^V ge 5.10.0 &&
|
|
|
+ $line =~ /(?:$Declare|$DeclareMisordered)\s*$Ident\s*$balanced_parens\s*(?:$Attribute)?\s*;/ &&
|
|
|
+ ($line =~ /\b__attribute__\s*\(\s*\(.*\bweak\b/ ||
|
|
|
+ $line =~ /\b__weak\b/)) {
|
|
|
+ ERROR("WEAK_DECLARATION",
|
|
|
+ "Using weak declarations can have unintended link defects\n" . $herecurr);
|
|
|
+ }
|
|
|
+
|
|
|
# check for sizeof(&)
|
|
|
if ($line =~ /\bsizeof\s*\(\s*\&/) {
|
|
|
WARN("SIZEOF_ADDRESS",
|