Sorry, forgot to check coding standards. Fixed now.
--
Salu2
Index: config/auto/warnings.pm
===================================================================
--- config/auto/warnings.pm (revision 27920)
+++ config/auto/warnings.pm (working copy)
@@ -44,13 +44,10 @@
-W
-Wall
-Waggregate-return
- -Wbad-function-cast
- -Wc++-compat
-Wcast-align
-Wcast-qual
-Wchar-subscripts
-Wcomment
- -Wdeclaration-after-statement
-Wdisabled-optimization
-Wendif-labels
-Wextra
@@ -60,23 +57,15 @@
-Wformat-security
-Wformat-y2k
-Wimplicit
- -Wimplicit-function-declaration
- -Wimplicit-int
-Wimport
-Winit-self
-Winline
-Winvalid-pch
-Wlogical-op
- -Wmain
-Wmissing-braces
- -Wmissing-declarations
-Wmissing-field-initializers
-Wno-missing-format-attribute
-Wmissing-include-dirs
- -Wmissing-prototypes
- -Wnested-externs
- -Wnonnull
- -Wold-style-definition
-Wpacked
-Wparentheses
-Wpointer-arith
@@ -86,7 +75,6 @@
-Wsign-compare
-Wstrict-aliasing
-Wstrict-aliasing=2
- -Wstrict-prototypes
-Wswitch
-Wswitch-default
-Wtrigraphs
@@ -97,6 +85,20 @@
-Wwrite-strings
-Wnot-a-real-warning
);
+ my @potential_warnings_no_cpp = qw(
+ -Wbad-function-cast
+ -Wc++-compat
+ -Wdeclaration-after-statement
+ -Wimplicit-function-declaration
+ -Wimplicit-int
+ -Wmain
+ -Wmissing-declarations
+ -Wmissing-prototypes
+ -Wnested-externs
+ -Wnonnull
+ -Wold-style-definition
+ -Wstrict-prototypes
+ );
my @cage_warnings = qw(
-std=c89
@@ -134,6 +136,7 @@
);
$data{potential_warnings} = [EMAIL PROTECTED];
+ $data{potential_warnings_no_cpp} = [EMAIL PROTECTED];
$data{cage_warnings} = [EMAIL PROTECTED];
return \%data;
}
@@ -145,6 +148,9 @@
print "\n" if $verbose;
if ( defined $conf->data->get('gccversion') ) {
+ # Dirty way of checking if compiling with c++
+ my $nocpp = index($conf->data->get('cc'), '++') < 0;
+
# add on some extra warnings if requested
$self->_add_cage_warnings($conf);
$self->_add_maintainer_warnings($conf);
@@ -153,7 +159,18 @@
for my $maybe_warning (@{ $self->{potential_warnings} }) {
$self->try_warning( $conf, $maybe_warning, $verbose );
}
- $self->set_result("set for gcc");
+ if ($nocpp) {
+ for my $maybe_warning (@{ $self->{potential_warnings_no_cpp} }) {
+ $self->try_warning( $conf, $maybe_warning, $verbose );
+ }
+ }
+
+ if ($nocpp) {
+ $self->set_result("set for gcc");
+ }
+ else {
+ $self->set_result("set for g++");
+ }
}
else {
print "Currently we only set warnings if using gcc as C compiler\n"