Giter Site home page Giter Site logo

issues's Introduction

Cevelop Issue Tracker

Are you having problems with Cevelop? Want to suggest a new feature? Please open an issue and we'll take care of it.

Please note that we will close all problems caused by Eclipse or the Eclipse C/C++ Development Tools. Please report those directly in the Eclipse Bug Tracker. If you're in doubt, just report the problem with us.

issues's People

Contributors

misto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

issues's Issues

Refactor of Constructor to use std::string looses default value

Starting with the constructor (or any method):

explicit HarnessStatus(const char* const msg = "/srcsim/finals/harness");
the refactor to using std::string results in:

explicit HarnessStatus(const std::string& msg); explicit HarnessStatus(const char* const msg = "/srcsim/finals/harness");
The default value for the string is lost and a duplicate constructor is created. The duplicate may cause confusion with signature matching for the compiler.

The duplicate also does not contain any code from the original constructor or method. This is very disruptive.

constificator: constexpr auto variables are marked constifiable

Expected Behavior

Variables declared constexpr should never be marked as targets for const-qualification unless they are pointers and the marked pointerlevel is not influenced by constexpr.

constexpr auto auto_func() {
	return 1;
}

int main(int argc, char **argv) {
	constexpr auto v = auto_func();
}

Actual Behavior

Constificator marks v as a target for const qualification. Even though it might be syntactically correct it is semantically redundant.

Cevelop Version, Operating System and Compiler

Cevelop 1.6

Can not update beta plugins, because Intwidthfixator already relies on ILTIS

Expected Behavior

update installed Cevelop beta plug-ins should continue to work

Actual Behavior

Error message:

Cannot complete the install because one or more required items could not be found.
Software being installed: Intwidthfixator 1.8.0.201711052338 (com.cevelop.intwidthfixator.feature.feature.group 1.8.0.201711052338)
Missing requirement: Intwidthfixator 1.8.0.201711052338 (com.cevelop.intwidthfixator 1.8.0.201711052338) requires 'bundle ch.hsr.ifs.iltis.cpp 0.1.0' but it could not be found
Cannot satisfy dependency:
From: Intwidthfixator 1.8.0.201711052338 (com.cevelop.intwidthfixator.feature.feature.group 1.8.0.201711052338)
To: com.cevelop.intwidthfixator [1.8.0.201711052338]

workaround, deselect IntWidthfixator then I could update.

Cevelop Version, Operating System and Compiler

The more we know about your setup, the easier it will be for us to reproduce the problem.

C++17 issue

I can't set Cevelop to compile with -std=c++17. If I set the "Other dialect flags" field in the project's C/C++ Build -> settings -> LLVM Clang++ -> Dialect to -std=c++17 Cevelop will report an error as pasted below, after the the compiler invocation:

clang++ -I/usr/local/include -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -std=c++17 -o main.bc ../main.cpp
error: invalid value 'c++17' in '-std=c++17'

But if I just paste the compile invocation as built by Cevelop in the terminal I am able to manually compile the file. My system is

macOS 10.11.6 El Capitan
Cevelop 1.8.0-201707131430
clang 5.0

Constructor Order of Initialization Gives False Warning

The following class and constructor receive the warning about initializing members should be in the proper order:

class test {
public:
    test(const uint16_t x, const uint16_t y) :
        x { x }, y { x } {
    }

    uint16_t z { };
    uint16_t x;
    uint16_t y;
};

The actual order is okay but the detector doesn't like 'z' being initialized at its declaration. Only with 'z' in the constructor initialization list is the detector satisfied.

Cevelop doesn't ship with Cute headers ( No Puns not intended )

Expected Behavior

Include cute headers without issues.

Actual Behavior

Can't find cute headers

Cevelop Version, Operating System and Compiler

Cevelop 1.7.1 with beta plugins. On Linux 4.10.0-21-generic. gcc version 7.0.1 20170407

Temporary fix:

Reinstall Cute.

Stack Overflow Error for piece of c++ code

Actual Behavior

The following piece of c++ code produce 'java.lang.StackOverflowError'.

template <typename Type>
struct template_type_base {};

template <typename Type>
struct template_type : public template_type_base<> {};

template <typename Type>
struct produce_error
{
	static constexpr auto value = template_type<Type>::value.size() - 1;
};

class Test {};

template <>
struct template_type<Test> : public template_type_base<undefined_type<int>>
{
	static constexpr auto value = {""};
};

int main(int t_argc, char* t_argv[])
{
	// hoppala
	produce_error<Test>::value;
}

The undefined_type<int> was in my case an forward declared class. It may be that I am wrong and it is not the problem of cevelop, but from CDT.

Cevelop Version and Operating System

Cevelop Version: cevelop-1.6.0-201701201507
Operating System: Windows 10 Pro 64-Bit-OS

cevelop.log.txt

Templator Bug in Cevelop 1.7

The Templator plug-in seems to be broken in Cevelop 1.7 (at least on macOS). Even for trivial examples the following exception is thrown:

java.lang.NoSuchMethodError: org.eclipse.cdt.internal.core.dom.rewrite.changegenerator.ChangeGeneratorWriterVisitor.<init>(Lorg/eclipse/cdt/internal/core/dom/rewrite/ASTModificationStore;Ljava/lang/String;Lorg/eclipse/cdt/internal/core/dom/rewrite/commenthandler/NodeCommentMap;)V
	at com.cevelop.templator.plugin.viewdata.FindNodeRegionsVisitor.<init>(FindNodeRegionsVisitor.java:26)
	at com.cevelop.templator.plugin.viewdata.ASTWriterRegionFinder.<init>(ASTWriterRegionFinder.java:25)
	at com.cevelop.templator.plugin.viewdata.ViewData.prepareForView(ViewData.java:45)
	at com.cevelop.templator.plugin.view.tree.TreeEntry.loadOperation(TreeEntry.java:38)
	at com.cevelop.templator.plugin.view.components.AsyncEntryLoader$1.run(AsyncEntryLoader.java:38)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

This bug doesn't occur in Cevelop 1.6 as far as I can tell.

mockator plugin crashes codan

Expected Behavior

Mockator plugin should just run, regardless of code that has syntax errors. May be it should not run on non-testcase files

Actual Behavior

crash of codan (not cevelop)
java.lang.ArrayIndexOutOfBoundsException: 0
at ch.hsr.ifs.mockator.plugin.testdouble.creation.subtype.AbstractDepInjectInfoCollector.getTargetClassOfProblemType(AbstractDepInjectInfoCollector.java:61)
at ch.hsr.ifs.mockator.plugin.testdouble.creation.subtype.FunCallInjectionInfoCollector.collectDependencyInfos(FunCallInjectionInfoCollector.java:43)
at ch.hsr.ifs.mockator.plugin.testdouble.creation.subtype.MissingTestDoubleSubTypeChecker$1.visit(MissingTestDoubleSubTypeChecker.java:45)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.accept(CPPASTName.java:150)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTIdExpression.accept(CPPASTIdExpression.java:93)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.accept(CPPASTFunctionCallExpression.java:201)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression.accept(CPPASTFunctionCallExpression.java:201)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTExpressionStatement.accept(CPPASTExpressionStatement.java:71)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept(CPPASTCompoundStatement.java:95)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTIfStatement.accept(CPPASTIfStatement.java:146)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompoundStatement.accept(CPPASTCompoundStatement.java:95)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:221)
at ch.hsr.ifs.mockator.plugin.testdouble.creation.subtype.MissingTestDoubleSubTypeChecker.processTestFunction(MissingTestDoubleSubTypeChecker.java:35)
at ch.hsr.ifs.mockator.plugin.testdouble.support.TestFunctionChecker$1.visit(TestFunctionChecker.java:29)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:187)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompositeTypeSpecifier.accept(CPPASTCompositeTypeSpecifier.java:199)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration.accept(CPPASTSimpleDeclaration.java:100)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateDeclaration.accept(CPPASTTemplateDeclaration.java:123)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept(CPPASTNamespaceDefinition.java:136)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept(CPPASTNamespaceDefinition.java:136)
at org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:266)
at ch.hsr.ifs.mockator.plugin.refsupport.qf.MockatorIndexAstChecker.processAst(MockatorIndexAstChecker.java:17)
at org.eclipse.cdt.codan.core.cxx.model.AbstractIndexAstChecker.processModel(AbstractIndexAstChecker.java:117)
at org.eclipse.cdt.codan.internal.core.CodanRunner.processResource(CodanRunner.java:91)
at org.eclipse.cdt.codan.internal.core.CodanRunner.runInEditor(CodanRunner.java:46)
at org.eclipse.cdt.codan.internal.core.CodanBuilder.processResource(CodanBuilder.java:126)
at org.eclipse.cdt.codan.core.cxx.internal.model.CxxCodanReconciler.reconciledAst(CxxCodanReconciler.java:37)
at org.eclipse.cdt.codan.internal.ui.cxx.CodanCReconciler.reconciled(CodanCReconciler.java:57)
at org.eclipse.cdt.internal.ui.editor.CEditor.reconciled(CEditor.java:3103)
at org.eclipse.cdt.internal.ui.text.CReconcilingStrategy.reconcile(CReconcilingStrategy.java:99)
at org.eclipse.cdt.internal.ui.text.CReconcilingStrategy.reconcile(CReconcilingStrategy.java:63)
at org.eclipse.cdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:87)
at org.eclipse.cdt.internal.ui.text.CCompositeReconcilingStrategy.reconcile(CCompositeReconcilingStrategy.java:90)
at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:73)
at org.eclipse.cdt.internal.ui.text.CReconciler.process(CReconciler.java:349)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:207)

Cevelop Version, Operating System and Compiler

Version: 1.6.0-201701201507

constificator: flags unnamed function arguments

Expected Behavior

I would expect to constificator to not recommend making undeclared arguments const. consider the following example:

int f(int); // declaration in header file

int f(int) {} // definition in cpp file

The parameter to f is not used by in the function body, and so the argument is not declared. Whether it's const or not is not relevant, because there's no name associated with it. I would not expect constificator to recommend adding const to the function definition in the above example.

Actual Behavior

Constificator flags the above example as missing const.

My specific case where this happens is an assert function in release build:

void assert_fail(char const*, int, char const*
	, char const*, char const*, int) {}

Every argument to this function is flagged as needing a top-level const.

Cevelop Version, Operating System and Compiler

MacOS X, Version: 1.6.0-201701201507

Web Site Beta Plugin page should list available plugins

Expected Behavior

A short description of available beta features may be including upcoming ones should be listed

Actual Behavior

Only the screenshot shows potentially available plugins without giving an idea what they are for

Cevelop Version, Operating System and Compiler

N/a. Website

Constificator does not always detect read and write access

Expected Behavior

Given:

// Object.hpp
#ifndef OBJECT_HPP_
#define OBJECT_HPP_

struct Object {
	int n { }; // no warning
};

#endif
// main.cpp
#include "Object.hpp"

int main() {
	Object obj { };
	obj.n = 3; // write on n
}

No warning for int n { } should occur due to the write inside main.

But given:

// main.cpp
struct Object {
	int n { }; // warning, this should be const
};

int main() {
	Object obj { }; // warning, this should be const
	int x { obj.n };
	x++;
}

A warning should occure for both Object obj { } and int n { } inside struct Object.

Actual Behavior

In the first example int n inside struct Object get marked by the Constificator. This does not happen if the code resides inside the same file though:

// main.cpp
struct Object {
	int n { }; // no warning, which is correct.
};

int main() {
	Object obj { };
	obj.n = 42;
}

The warning inside Object happens only if int n gets initialized:

struct Object {
	int n; // no warning
};

In the second example no warning is given for neither Object obj { }; and int n { } even though only read access occurs.

Cevelop Version, Operating System and Compiler

Cevelop 1.6 with Constificator 1.6.0.201703201353

Plugin provider names are inconsistent

Expected Behavior

all Cevelop and IFS plug-ins should have the same plug-in provider name, so that sorting in "Installation Details" by provider name groups them together

the name should be "IFS Institute for Software"

Actual Behavior

we have plug-ins with the provider names

  • IFS
  • IFS Institute for Software
  • Institute for Software
  • Michael Rüegg

Cevelop Version, Operating System and Compiler

N/A, current Cevelop on Mac

Constificator suggests to make member const despite modification

Expected Behavior

In the following code:

#include <map>
#include <string>

struct s {
	void modify() {
		m_map["a"] = 23;
	}

	std::map<std::string, int> m_map { };
};

Constificator should NOT suggest adding const-qualification to s::modify or s::m_map.

Actual Behavior

Constificator suggest to qualify both members to be const.

Cevelop Version, Operating System and Compiler

Cevelop 1.8.0-201707131430, Constificator 1.8.0.201708202237

other plugins crash as well with my C++17 code

Expected Behavior

Our CODAN plugins should just run, regardless of code that has syntax errors. May be it should not run on non-testcase files

Actual Behavior

crash of codan (not cevelop)
eclipse.buildId=unknown
java.version=1.8.0_66
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -keyring /Users/sop/.eclipse_keyring
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -data /Users/sop/Documents/C++WG21/SC22WG21_Papers/workspace -keyring /Users/sop/.eclipse_keyring

org.eclipse.cdt.codan.core
Error
Thu Feb 16 17:52:43 CET 2017
Internal Error

java.lang.ArrayIndexOutOfBoundsException: 0
at ch.hsr.ifs.cute.charwars.checkers.ProblemReport.createProblemLocation(ProblemReport.java:39)
at ch.hsr.ifs.cute.charwars.checkers.ProblemReport.(ProblemReport.java:27)
at ch.hsr.ifs.cute.charwars.checkers.PointerParameterProblemGenerator.generate(PointerParameterProblemGenerator.java:24)
at ch.hsr.ifs.cute.charwars.checkers.CharWarsChecker$CharWarsCheckerVisitor.visit(CharWarsChecker.java:110)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTParameterDeclaration.accept(CPPASTParameterDeclaration.java:93)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDeclarator.postAccept(CPPASTFunctionDeclarator.java:276)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator.accept(CPPASTDeclarator.java:204)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:204)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTCompositeTypeSpecifier.accept(CPPASTCompositeTypeSpecifier.java:199)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration.accept(CPPASTSimpleDeclaration.java:100)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateDeclaration.accept(CPPASTTemplateDeclaration.java:123)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept(CPPASTNamespaceDefinition.java:136)
at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNamespaceDefinition.accept(CPPASTNamespaceDefinition.java:136)
at org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:266)
at ch.hsr.ifs.cute.charwars.checkers.CharWarsChecker.processAst(CharWarsChecker.java:42)
at org.eclipse.cdt.codan.core.cxx.model.AbstractIndexAstChecker.processModel(AbstractIndexAstChecker.java:117)
at org.eclipse.cdt.codan.internal.core.CodanRunner.processResource(CodanRunner.java:91)
at org.eclipse.cdt.codan.internal.core.CodanRunner.runInEditor(CodanRunner.java:46)
at org.eclipse.cdt.codan.internal.core.CodanBuilder.processResource(CodanBuilder.java:126)
at org.eclipse.cdt.codan.core.cxx.internal.model.CxxCodanReconciler.reconciledAst(CxxCodanReconciler.java:37)
at org.eclipse.cdt.codan.internal.ui.cxx.CodanCReconciler.reconciled(CodanCReconciler.java:57)
at org.eclipse.cdt.internal.ui.editor.CEditor.reconciled(CEditor.java:3103)
at org.eclipse.cdt.internal.ui.text.CReconcilingStrategy.reconcile(CReconcilingStrategy.java:99)
at org.eclipse.cdt.internal.ui.text.CReconcilingStrategy.reconcile(CReconcilingStrategy.java:63)
at org.eclipse.cdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:87)
at org.eclipse.cdt.internal.ui.text.CCompositeReconcilingStrategy.reconcile(CCompositeReconcilingStrategy.java:90)
at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:73)
at org.eclipse.cdt.internal.ui.text.CReconciler.process(CReconciler.java:349)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:207)

Cevelop Version, Operating System and Compiler

Version: 1.6.0-201701201507

Cevelop breaks Eclipse Neon configuration on migration

Expected Behavior

I wanted to give Cevelop a try and attempted to open existing
Eclipse Neon 2 project. I expected project to be successfully built and continue to develop
w/ Cevelop.

Actual Behavior

Cevelop changed (removed part of) existing configuration - diff:

diff --git a/lib/.settings/language.settings.xml b/lib/.settings/language.settings.xml
index ed37c0f..d304e69 100644
--- a/lib/.settings/language.settings.xml
+++ b/lib/.settings/language.settings.xml
@@ -5,10 +5,6 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-				<language-scope id="org.eclipse.cdt.core.gcc"/>
-				<language-scope id="org.eclipse.cdt.core.g++"/>
-			</provider>
 		</extension>
 	</configuration>
 	<configuration id="cdt.managedbuild.config.gnu.cross.exe.release.2100391895" name="Release">
@@ -16,10 +12,6 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-				<language-scope id="org.eclipse.cdt.core.gcc"/>
-				<language-scope id="org.eclipse.cdt.core.g++"/>
-			</provider>
 		</extension>
 	</configuration>
 	<configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.692487518" name="CLI">
@@ -27,25 +19,17 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-				<language-scope id="org.eclipse.cdt.core.gcc"/>
-				<language-scope id="org.eclipse.cdt.core.g++"/>
-			</provider>
 		</extension>
 	</configuration>
 	<configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.57566123.49423071" name="UNITESTS">
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
-			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1792422341839498723" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -std=c++11 -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="582971939625" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -std=c++11 -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1737064808925810595" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-				<language-scope id="org.eclipse.cdt.core.gcc"/>
-				<language-scope id="org.eclipse.cdt.core.g++"/>
-			</provider>
 		</extension>
 	</configuration>
 </project>

This broke existing build + through the project's configuration UI I'm getting the following
error:

Cevelop/Project Properties/C/C++ Build
  Orphaned configuration. No base extension cfg exists for cdt.managedbuild.config.gnu.cross.exe.debug.57566123.49423071
Cevelop/Project Properties/C/C++ Build/Tool Chain Editor
  Orphaned toolchain cdt.managedbuild.toolchain.gnu.cross.exe.debug.1159206294 (Cross GCC)
  Orphaned builder cdt.managedbuild.builder.gnu.cross.956722835 (Gnu Make Builder)

Cevelop Version, Operating System and Compiler

Cevelop Version: 1.6.0-201701201507

Eclipse IDE for C/C++ Developers
Version: Neon.2 Release (4.6.2)
Build id: 20161208-0600

dvorka@raider:~/p/mindforger/git/mindforger$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty
dvorka@raider:~/p/mindforger/git/mindforger$ uname -a
Linux raider 3.13.0-96-generic #143-Ubuntu SMP Mon Aug 29 20:15:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
dvorka@raider:~/p/mindforger/git/mindforger$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

dvorka@raider:~/p/mindforger/git/mindforger$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

The more we know about your setup, the easier it will be for us to reproduce the problem.

toggle function definition refactoring should also toggle =default definitions

Expected Behavior

Special member functions can be user-defined with =default or user-declared as =delete. A user-defined special member function can be user-declared within a class' body, but declared outside, so the toggle function body refactoring should treat =default like a normal function body.

Actual Behavior

toggle function definition does not work on user-declared and user-defined with =default class members

Cevelop Version, Operating System and Compiler

all before Neon

1.7 Release

Which plugins are ready?

  • CUTE Plugin
  • CharWars
  • Elevator
  • Elevenator
  • Macronator
  • Namespactor
  • CloneWar
  • Includator
  • Constificator
  • Templator
  • Intwidthfixator
  • GSLator
  • Mockator
  • Sconsolidator

We also need to update:

  • Website
  • Arch Linux
  • Brew
    • OSX Signing

Refactor from C-array to std::array Loses Initializers

Starting with:

string status_text[] { "Rel", "Att", "Att", "Low", "Std", "Fre" };

the refactor to std::array results in:

std::array<string, 6> status_text;

so the initialization is lost. Also, had to change to an explicit subscript declaration for this to work but that's due to the nature of std::array.

Cevelop 1.7.1
GCC 4.9
Ubuntu 14.04.5

1.8 Release

Which plugins are ready?

  • CUTE Plugin
  • CharWars
  • Elevator
  • Elevenator
  • Macronator
  • Namespactor
  • CloneWar
  • Includator
  • Constificator
  • Templator
  • Intwidthfixator
  • GSLator
  • Mockator
  • Sconsolidator

We also need to update:

  • Website
  • Arch Linux
  • Brew
  • OSX Signing

Question: Suppress attribute warnings

I suppressed some of the warnings. Now I get additional warnings! Is there a way to disable these?

../src/PathCheck.cpp:62:5: warning: attributes at the beginning of statement are ignored [-Wattributes]
     [[ccglator::ignore("ES.74")]]

I realize you aren't a help desk but I can't find an answer to this. It's frustrating trying to get a clean compile only to have warnings appear about warnings you're trying to suppress.

GCC 4.9

1.6 Release

Which plugins are ready?

  • CUTE Plugin
    • CharWars
    • Elevator
    • Elevenator
    • Macronator
    • Namespactor
    • CloneWar
  • Cevelop Plugins
    • Includator
    • Constificator
    • Templator
  • Mockator
  • Sconsolidator

We also need to update:

  • Website
  • Arch Linux
  • Brew
  • OSX Signing

Errors with Includator Static Include Analysis Status

Installed Cevelop 1.7.1. Created a new set of project directories separate from a new workspace. The projects were from Eclipse Mars.3. Cannot understand these errors.

Ubuntu 14.04, gcc 4.9,

Includator Static Include Analysis Status Warnings: /home/rmerriam/development/ROS/cevelop_ws/src/mystic_mars File 'cstdalign' has unknown file type and was thus ignored. If it is a C / C++ file, please add 'cstdalign' to the 'File Types' list under 'C/C++ General->File Types' in 'Eclipse Preferences' or in the project's 'Project Properties'. File 'signature_of_eigen3_matrix_library' has unknown file type and was thus ignored. If it is a C / C++ file, please add 'signature_of_eigen3_matrix_library' to the 'File Types' list under 'C/C++ General->File Types' in 'Eclipse Preferences' or in the project's 'Project Properties'. Errors: ext/slist CDT does not consider the file 'ext/slist' as a C or C++ source or header file. Please add 'slist' to the 'File Types' list under 'C/C++ General->File Types' in 'Eclipse Preferences' or the project's 'Project Properties'. CDT does not consider the file 'ext/slist' as a C or C++ source or header file. Please add 'slist' to the 'File Types' list under 'C/C++ General->File Types' in 'Eclipse Preferences' or the project's 'Project Properties'.

Licensing information is hard(-ish) to find on the website

So, I've seen this comment on heise online

Wie ist das denn nun lizenziert?

Auf der Webseite finden sich leider keine Informationen...

... and thought:

  • That can't be. The website surely says something about that.
  • Well, how is it licensed?

So I had a look.

Expected Behavior

The licensing information is clear and easy to find.

Actual Behavior

It took me quite some time to notice that the license is linked in the footer. (Maybe I looked there even only after that matched Ctrl-F license — I can't remember anymore.)

Also, after having read the (clearly proprietary) license I noticed that the FAQ and the "About" page speak about some parts of Cevelop being open source. However, I didn't find a comprehensive overview telling which parts are open source (only one is named as an example on the "About" page) and what license applies to what part.

Cevelop Version, Operating System and Compiler

(irrelevant here)

Suggestions

Keep the link in the footer, but also link to the license from near the "Get it now" button on the home page and from near the various Download buttons on the Download page.

Consider also linking to the license from the answer to the FAQ "Why is Cevelop not Open Source?"

Consider listing somewhere the components of Cevelop (with or without those also included in Eclipse CDT, I dunno) and their license. (Or if this list already exists, link to it more prominently.)

Questionable ES.26: Dont use a variable for two unrelated purposes

The following class embedded in another class get the E.26 warning on the --mDepth in the destructor.

        struct Depth {
            Depth() noexcept {
                ++mDepth;
            }
            ~Depth() noexcept {
                --mDepth;   // E.26
            }
            static int8_t mDepth { };
        };

Don't understand why this is produces a warning.

In another location this code generates the same warning:

const string TreeNode::getNodeText() const {
    string text = getNodeId() + " ";
    text += getName() + " ";
    text += getStateText(mState) + " ";
    return text;
}

The second example is a standard approach to building up a string so is misleading. But I can understand why the warning is produced.

Creating a CUTE Project with a library dependency does not add all C++ include paths

Expected Behavior

When creating a "CUTE Project" and adding a "Library Dependency" during creation, Cevelop should add the source/include folders of the dependency to the C++ include path of the test project

Actual Behavior

The source/include folders get added to the "Assembler" and "GNU C" include paths, but not the "GNU C++" include paths. This prevents Cevelop and the compiler from finding the header files of the library dependency in the CUTE Project.

Steps to reproduce

  1. Create a C++ library project
  2. Add a source folder (name it include or whatever)
  3. Add a header file to the new folder and implement something that compiles
  4. Create a "CUTE Project"
    4a. During creation, check "Add Library Dependency" and select the previously created library project
  5. Finish creation (either by stepping through the dialogs, or clicking "Finish")
  6. Try to include the header of the library Project.

Notes

Interestingly enough, Cevelop shows the include paths in the "Project Navigator", so it looks like everything is fine, but it really isn't. I assume that the include paths are shown because Cevelop added them to the configurations for "Assembler" and "C".

Cevelop Version, Operating System and Compiler

  • Cevelop 1.7.1 (201704211123)
  • Arch Linux with "OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)"
  • Not applicable

CMake Support?

Expected Behavior

The IDE to be able to create projects based on CMake project files or at least for the IDE to parse CMake project files.

Actual Behavior

There doesn't seem to be any option to create or import a CMake project.

Cevelop Version, Operating System and Compiler

Version 1.6 on Manjaro Linux with GCC 6.3.1.

I found out about this project recently and I'm interested in using this IDE so I was wondering if cmake support is on the plan.

Refactor of Virtual Destructor Incorrect

Starting with the destructor:

virtual ~TaskStatus() override = default;
the suggestion is to add "noexcept". Accepting this change results in:

virtual ~TaskStatus() override noexcept override = default;

Cevelop 1.7.1
GCC 4.9
Ubuntu 14.04.5

constificator: Falsely detects read access on member as modification

Expected Behavior

Given the following code:

struct s {
	bool member { };
};

int main() {
	s inst { };

	if (inst.member) {
	}
}

Constificator should mark s::member and inst as candidates for constification.

Actual Behavior

No markers are placed.

Cevelop Version, Operating System and Compiler

Cevelop 1.6.0-201701201507, Arch Linux, GCC and Clang

Scons error

By either creating a new Scons-based project or converting an existing one to Scons the build has this error:
KeyError: 'TEMP':
File "/Users/aacirino/cevelop/test/SConstruct", line 30:
env = Environment(ENV={'PATH': os.environ['PATH'], 'TEMP' : os.environ['TEMP']})
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py", line 23:
raise KeyError(key)

My system:
macOS 10.11.6 El Capitan
Cevelop 1.8.0-201707131430
Scons v3.0.0.rel_3.0.0:4395:8972f6a2f699 installed with homebrew

CUTE constructor codan checker and quick fix partially broken

Expected Behavior

checker should not create false positive on template class ctor usage of compiling code

Actual Behavior

namespace CT{
template<typename T1 = Warehouse> struct OrderT {
	OrderT(std::string const & whisky, int i) :	what { whisky }, howmany { i } {	}
};//other parts omitted
using Order = OrderT<>;

//in test function also in namespace CT:
	Order const order(TALISKER, 50);

No such constructor for type 'CT::OrderT'.

generates from quick fix in class OrderT:

template<typename T1 = Warehouse> struct OrderT {
	CT::OrderT(int const & tALISKER, int const & i) {
	}
...

Cevelop Version, Operating System and Compiler

The more we know about your setup, the easier it will be for us to reproduce the problem.

NPE during "Organize Includes

The problem described in this issue was first reported by @rtosman in #17.

Expected Behavior

Running "Organize Include" on a project should provide a list of suggested actions.

Actual Behavior

Running "Organize Includes" results in a NullPointerException being thrown during analysis.

Cevelop Version, Operating System and Compiler

1.7.0, All OS, All Compilers

Steps to reproduce:

  1. Create a new C++ project in Cevelop

  2. Add the following two files (They have to be two separate files!):

    • GH17ClassNPE.h:
    #ifndef GH17_CLASS_NPE
    #define GH17_CLASS_NPE
    
    class GH17ClassNPE: public GH17ClassNPEBase { // The base must not exist!
        GH17ClassNPE();
    };
    #endif
    • GH17ClassNPE.cpp:
    #include "GH17ClassNPE.h"
    
    GH17ClassNPE::GH17ClassNPE() : GH17ClassNPEBase { } {
    }
  3. Run Includator "Organize Includes" on either the Project or the CPP file (This is important since running it on the header will not produce the NPE)

Stacktrace:

java.lang.NullPointerException
	at com.cevelop.includator.helpers.ConstructorReferenceHelper.findImplicitlyInitializedBaseClasses(ConstructorReferenceHelper.java:78)
	at com.cevelop.includator.helpers.ConstructorReferenceHelper.addImplicitBaseClassConstructors(ConstructorReferenceHelper.java:49)
	at com.cevelop.includator.helpers.DeclarationReferenceVisitor.performAdditionalRefActions(DeclarationReferenceVisitor.java:213)
	at com.cevelop.includator.helpers.DeclarationReferenceVisitor.addName(DeclarationReferenceVisitor.java:159)
	at com.cevelop.includator.helpers.DeclarationReferenceVisitor.visit(DeclarationReferenceVisitor.java:81)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTName.accept(CPPASTName.java:150)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTQualifiedName.accept(CPPASTQualifiedName.java:247)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTDeclarator.accept(CPPASTDeclarator.java:190)
	at org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionDefinition.accept(CPPASTFunctionDefinition.java:204)
	at org.eclipse.cdt.internal.core.dom.parser.ASTTranslationUnit.accept(ASTTranslationUnit.java:266)
	at com.cevelop.includator.helpers.DeclarationReferenceHelper.findDeclReferences(DeclarationReferenceHelper.java:54)
	at com.cevelop.includator.resources.IncludatorFile.getDeclarationReferences(IncludatorFile.java:60)
	at com.cevelop.includator.optimizer.findunusedincludes.FindUnusedIncludesAlgorithm.run(FindUnusedIncludesAlgorithm.java:55)
	at com.cevelop.includator.optimizer.Algorithm.start(Algorithm.java:42)
	at com.cevelop.includator.optimizer.ScopedAlgorithm.run(ScopedAlgorithm.java:34)
	at com.cevelop.includator.optimizer.Algorithm.start(Algorithm.java:42)
	at com.cevelop.includator.optimizer.Optimizer.run(Optimizer.java:37)
	at com.cevelop.includator.ui.OptimizationRunner.run(OptimizationRunner.java:57)
	at com.cevelop.includator.ui.actions.IncludatorAlgorithmAction.runAnalysisJob(IncludatorAlgorithmAction.java:110)
	at com.cevelop.includator.ui.actions.IncludatorAlgorithmAction$1.runWithWorkbenchWindow(IncludatorAlgorithmAction.java:58)
	at com.cevelop.includator.ui.actions.IncludatorJob.run(IncludatorJob.java:32)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Notes

A similar NPE happens in relation to non-static member functions, but I am currently no able to reproduce it using a minimal example. For both of them, I have a preliminary fix on my own branch but further analysis is required to make sure that those are the only two situations causing NPEs.

constificator decltype(auto) problen

Expected Behavior

constificator should add only one const to decltype(auto) and then be silent

Actual Behavior

even after automatically adding const, constificator insists on adding auto again on decltype(auto) const , chosing to do so , changes nothing

Cevelop Version, Operating System and Compiler

current release 1.7

Cevelop Plug-ins Beta Channel

Add an update site to install beta plug-ins (int-width-fixator, core-guidelines checker). Add this update site to Cevelop and place it on the website.

cute-test plugin misses namespace qualification from tests within a namespace

Expected Behavior

A test function in a named non-inline namespace is marked by the codan checker, when added by the quick-fix the test name should be qualified with the namespace.

Actual Behavior

qualification is missing. compile error.

Cevelop Version, Operating System and Compiler

current, as of today: Version: 1.8.0-201707131430

Constinator Wrongly Suggests Adding 'const' to virtual method

The Constinator suggests adding 'const' to this virtual method in a derived class:

virtual void process() override;

In the base class there is no 'const' and following the suggestion results in compiler errors. The refactoring is also incorrect resulting in:

virtual void process() const override override;

Cevelop 1.7.1
GCC 4.9
Ubuntu 14.04.5

Note: I'm really interested in using Cevelop to improve my coding, otherwise I'd not bother posting these issues and go back to Mars.3.

Constificator Marks Reference Type of Constructor Argument

Expected Behavior

void printSomething(std::ostream & o) { //constificator should not report "std::ostream & o" to be constable
std::ostream_iterator out{o, "\n"};
//...
}

Actual Behavior

Parameter o is reported to be constable

Cevelop Version, Operating System and Compiler

Cevelop 1.8.0

Profling tools

Expected Behavior & Actual Behavior

c e_tb1

Cevelop seems to be missing some profiling tools, those tools seem to be part of LinuxTools https://eclipse.org/linuxtools/

I didn't manage to get any profiling tools to work, whether that is my fault or Cevelop's lack of support is inconclusive.

Cevelop Version, Operating System and Compiler

Cevelop 1.7.1, Linux, g++-7

Some Editor Text not visible in Dark Theme

Expected Behavior

  • Expected will be able to see the text clearly as with other part of the code. Seems like the region of code that are not clear is only in the #if #endif block and the currently selected word (which in the screenshot below is the word "U_EXPORT2" in the middle of the picture).

  • Most probably this can be changed in the Color and Font preference but wasn't sure in which section to change. Was expecting the preference to be in the line of "inactive preprocessor" or "inactive code region" etc.

Actual Behavior

without highlighting the text
image

when text highlighted
image

Cevelop Version, Operating System and Compiler

  • Cevelop C++ IDE Version: 1.7.1-201704211123 (64-bit version)
  • Windows 10 Pro 64-bit
  • Theme: Dark
  • Color and Font theme: Default (current)
  • Checked "Use mixed fonts and colors for labels" and "Show most recently used tabs" options

By the way, thanks for the great piece of software! This is by far the best free IDE for C/C++ so far after trying basically all the free C/C++ IDE.

Cevelop re-opens tabs and becomes unresponsive

Expected Behavior

Closed tabs (files) should stay closed.
Cevelop should not become unresponsive

Actual Behavior

During my work sessions I repeatedly have the situation that cevelop stops being responsive. When it becomes responsive again, several tabs of C++ files in my project have opened. The files were opened in a previous session, where I have closed them. This also occurs after a cevelop restart.

Cevelop Version, Operating System and Compiler

Cevelop Version: 1.8.0-201707131430
Operating System: Ubuntu 12.04 LTS
Compiler: GCC 5.2
Java: java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Warning to create namespace swap fails with template classes

Trying to create a simple example for another issue I ran into the suggestion to create swap functions for a template class. After creating the namespace swap function it is not recognized and the warning continues.

#include <vector>
#include <utility>

template <typename T>
struct A {
    std::vector<T> mValues { };

    void swap(A& other) noexcept {
        using std::swap;
    }
};

template <typename T>
void swap(A<T>& a, A<T>& b) noexcept {
    a.swap(b);
}

I let the "quick fix" create both swaps. The namespace swap was generated as a regular function. I changed it to being a template.

Updates Licenses

We need to go through all our plug-ins and check their licenses (and update to the Cevelop license if needed).

Eclipse Neon Release

Which plugins are ready for Neon?

  • CUTE
  • Mockator
  • Sconsolidator
  • Macronator
  • Elevator
  • Namespactor
  • Elevenator
  • CloneWar
  • Templator
  • Constificator
  • CharWars

We also need to update

  • Website
  • Arch Linux
  • Brew

Problems with getting beta plugins

Hi folks,

I am trying to install beta plugins. When I specify the path: https://www.cevelop.com/update/1.7.0 it shows and error. Here is the log:

Unable to read repository at https://www.cevelop.com/update/1.7.0/content.xml.
Unable to read repository at https://www.cevelop.com/update/1.7.0/content.xml.
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Do you know what is going on?

Thanks,
Aram

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.