Problemumgehung für Debugsymbolfehler mit Auto Member-Funktion?

8

Es scheint ein Problem mit Debug-Symbolen und Auto zu geben.

Ich habe eine automatische Funktion in einer Klasse:

%Vor%

Wenn ich mit G ++ (4.8.2) und -g kompiliere, habe ich diesen Fehler:

%Vor%

Mit clang ++ (3.4) und -g habe ich folgendes:

%Vor%

Wenn ich das -g entferne oder den Typ explizit einstelle, funktioniert es perfekt.

Soll nicht clang ++ C ++ 14 Feature sein?

Gibt es einen Workaround für diese Einschränkungen oder ich bin geschraubt?

    
Baptiste Wicht 07.07.2014, 18:48
quelle

2 Antworten

0

Auch nach einiger Zeit ist die einzige Problemumgehung, die ich gefunden habe, die Funktionsschablone zu machen, eine ziemlich dumme Problemumgehung ... Offensichtlich hat clang kein Problem mit automatischen Funktionen, die eine Vorlage sind. Ich weiß nicht, ob das in jedem Fall funktioniert, aber bis jetzt hat es für mich funktioniert.

%Vor%     
Baptiste Wicht 12.08.2015, 06:18
quelle
2

Das scheint jetzt auf Clang 3.5 SVN zu funktionieren. Live-Beispiel . Es scheint, dass der Schuldige ein Commit vom Mai 2013 war, siehe Nachricht auf der Clang-Mailingliste.

  

PR16091: Fehler beim Versuch, Debug-Informationen für nichtdeduziertes Auto auszugeben   Rückgabetypen

     

Vielleicht sollten wir das einfach unterdrücken, anstatt es zu korrigieren, aber seither   Wir haben die Infrastruktur dafür. Ich dachte, ich würde es benutzen - wenn das so ist   Entschlossen, nicht das Richtige zu sein, sollten wir das wahrscheinlich entfernen   Infrastruktur komplett. Ich schätze, es liegt von Anfang an herum   Debug-Info-Unterstützung zu implementieren.

%Vor%

Allerdings kann ich das Commit, das diese Information entfernt hat, nicht finden, vielleicht gab es eine Verbesserung, die jetzt verhindert, dass dieses Verhalten ausgelöst wird.

    
TemplateRex 22.07.2014 12:50
quelle

Tags und Links