Änderungen bis zum HEAD ======================= Aufräumen: Olaf [ * Call-Advice umstellen ] * ACFileID aufräumen (FileID vs. FileEntry) * ACToken konsequent in Phase 1 nutzen * WeavePos konsequent in Phase 2 nutzen * PP::token_text(token) vs. token.text() => kein token.text() mehr * Clang-Klassen von Puma-Code befreien [* TJP nicht generiert; Bindings? (PragmaOnceObserver)] [* using namespace Puma/clang nicht in *.h] [* zu viele dynamische Tests (__ac_..._is) z.B. in PragmaOnceObserver und That] [* CodeWeaver mergen] [* Mehr Tests mit Puma-Frontend] [* ClangWeaverBase verbessert] [* Codemanipulation in Weaver vor Transformer-Aufruf vermieden] Bugs: Olaf [* Warum funktioniert das mit AspectClang gebaute ac++ nicht? ] - Problembbeschreibung ggf. an Benjamin übergeben Bugs: Benjamin [* komischer Fehler (AspectPrivileges, ArrayWrapper, PrivateResult)] [* Doppelte Einfügungen vom Introducer (Puma/CTree.h)] [* rename_args für Clang (ArrayMangling, MatchExpr)] [* Automatische Expansion von Makros bei der Codetransformation] - ## Operator [* ClangASTVisitor korrigieren (Nested functions, local classes, ...)] - Umstellung auf Nutzung von Traverse*Decl() [* Unbekannte Datentypen bei Intros (Markus Buschhoff)] [* Lokal deklarierte Funktionen nicht zu ernst nehmen] [* BYPASS-Klassen für externe Basisklassen] * Qt-Examples - Assertion-Problem Tests: Benjamin * Qt-Examples Implementieren: * Line-Direktiven (Bug209) - Testen mit Debugger - update_line_directives für Clang implementieren (ggf. in ClangIncludeExpander integrieren) - richtige Direktiven in ClangWeaverBase einfügen (Olaf?) - ClangIncludeExpander erzeugt falsche #line Direktiven: Sie beziehen sich auf die Zeilennummern in Phase 2 und haben wegen der Code- Manipulationen in Phase (AC-Namespace) einen Versatz zu den echten Zeilennummern in der ursprünglichen Quelltextdatei. [* Introspection-Mechanismus] Änderungen bis zum Release ========================== [ * IncludeExpander abschließen ] * Makro-Expansion (Test MacroCall + Qt Examples) * AspectC++-Tests => Bugs fixen. * Code-Weaver enthält keine frontend-spezifischen Teile mehr: Advice-Typen * Transformation in Weaver schöner machen => Clang-Implementierung * Puma-Abhängigkeiten: Project * puma.config Anbindung * aclang++ Frontend Nice to have ============ * Korrekte Target-Definition für Clang -> Größenbestimming beim Cross-Compiling