Summary: | SunStudio C++ compiler not detected in Compiler Output view. | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Paul Fee <paul.f.fee> |
Component: | Output Views | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | 3.3.4 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Detect SunStudio linker output |
Description
Paul Fee
2006-08-18 18:41:57 UTC
SVN commit 620944 by dagerbo: Add various common ld and make error strings to the output error parser Add 'CC' among the possible compilers BUG: 71299 BUG: 72699 BUG: 131542 BUG: 91520 BUG: 132601 M +8 -0 compileerrorfilter.cpp M +3 -3 makeactionfilter.cpp --- branches/kdevelop/3.4/parts/outputviews/compileerrorfilter.cpp #620943:620944 @@ -50,6 +50,13 @@ ErrorFormat( "([^: \\t]+)\\(([0-9]+)\\):([^0-9]+)", 1, 2, 3, "intel" ), //libtool link ErrorFormat( "(libtool):( link):( warning): ", 0, 0, 0 ), + // ld + ErrorFormat( "undefined reference", 0, 0, 0 ), + ErrorFormat( "undefined symbol", 0, 0, 0 ), + ErrorFormat( "ld: cannot find", 0, 0, 0 ), + ErrorFormat( "No such file", 0, 0, 0 ), + // make + ErrorFormat( "No rule to make target", 0, 0, 0 ), // Fortran ErrorFormat( "\"(.*)\", line ([0-9]+):(.*)", 1, 2, 3 ), // Jade @@ -65,6 +72,7 @@ }; return formats; + } void CompileErrorFilter::processLine( const QString& line ) --- branches/kdevelop/3.4/parts/outputviews/makeactionfilter.cpp #620943:620944 @@ -72,9 +72,9 @@ MakeActionFilter::ActionFormat* MakeActionFilter::actionFormats() { static ActionFormat formats[] = { - ActionFormat( i18n("compiling"), 1, 2, "(gcc|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*`[^`]*`(?:[^/\\s;]*/)*([^/\\s;]+)"), - ActionFormat( i18n("compiling"), 1, 2, "(gcc|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*-o (?:\\S* )(?:[^/;]*/)*([^/\\s;]+)"), - ActionFormat( i18n("compiling"), 1, 2, "(gcc|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*(?:[^/]*/)*([^/\\s;]*)"), + ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*`[^`]*`(?:[^/\\s;]*/)*([^/\\s;]+)"), + ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*-o (?:\\S* )(?:[^/;]*/)*([^/\\s;]+)"), + ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*(?:[^/]*/)*([^/\\s;]*)"), ActionFormat( i18n("compiling"), 1, 1, "^compiling (.*)" ), //unsermake ActionFormat( i18n("compiling"), 1, 1, "\\[.+%\\] Building .* object (.*)" ), //cmake Thank you Jens for the change which made it into KDevelop 3.4. The "compiling" detection now works for SunStudio's "CC" compiler. However, the "linking" detection was omitted from your change. Looking at the source for KDevelop 3.4.0, could line 90 be changed from: ActionFormat( i18n("linking"), 1, 2, "(gcc|cc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-o ([^\\s;]+)"), to: ActionFormat( i18n("linking"), 1, 2, "(gcc|CC|cc|c\\+\\+|g\\+\\+)\\ S* (?:\\S* )*-o ([^\\s;]+)"), That is, add "CC|". Thanks, Paul Created attachment 20572 [details]
Detect SunStudio linker output
SunStudio C++ compiler/linker is "CC".
It is already detected during compilation, this patch allows detection during
linking. This makes the "Very Short Compiler Output" more useful.
SVN commit 665073 by apaku: Fix for Sun Compiler, patch from Paul Fee and finally closing the bugreport BUG:132601 M +1 -1 makeactionfilter.cpp --- branches/KDE/3.5/kdevelop/parts/outputviews/makeactionfilter.cpp #665072:665073 @@ -87,7 +87,7 @@ ActionFormat( i18n("linking"), "libtool", "/bin/sh\\s.*libtool.*--mode=link\\s.*\\s-o\\s([^\\s;]+)", 1 ), //can distcc link too ? - ActionFormat( i18n("linking"), 1, 2, "(gcc|cc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-o ([^\\s;]+)"), + ActionFormat( i18n("linking"), 1, 2, "(gcc|CC|cc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-o ([^\\s;]+)"), ActionFormat( i18n("linking"), 1, 2, "^linking (.*)" ), //unsermaker ActionFormat( i18n("linking"), 1, 1, "^Linking .* module (.*)" ), //cmake ActionFormat( i18n("linking"), 1, 1, "^Linking (.*)" ), //cmake |