[cfe-dev] lib clang reparse translation unit slow depending on how the file has been modified
unitydeveloper
alessandro at runpresto.com
Fri Dec 2 11:08:10 PST 2011
Hi all,
I just tried the new trunk version of clang. The bug I previously reported about typing a column in a .m file seems solved, or at least it's not been reproducible yet. Thank you very much for helping with it.
Unfortunately it appears that clang_reparseTranslationUnit() has become much slower in the following condition (reproducible by recompiling the source I sent together with the newest version of lib clang):
Open a .m file.
Try typing inside the scope of a class implementation. This seems fast enough.
Try typing outside the scope of a class implementation, for example in a line below a #import directive. clang_reparseTranslationUnit takes around half a second to complete in this case, exactly as I reported with .h files .
Thanks.
Best regards,
Alessandro
On 2 Dec 2011, at 18:00, cfe-dev-request at cs.uiuc.edu wrote:
> Send cfe-dev mailing list submissions to
> cfe-dev at cs.uiuc.edu
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
> or, via email, send a message with subject or body 'help' to
> cfe-dev-request at cs.uiuc.edu
>
> You can reach the person managing the list at
> cfe-dev-owner at cs.uiuc.edu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of cfe-dev digest..."
>
>
> Today's Topics:
>
> 1. Re: Build failure with clang (Douglas Gregor)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 02 Dec 2011 09:26:17 -0800
> From: Douglas Gregor <dgregor at apple.com>
> Subject: Re: [cfe-dev] Build failure with clang
> To: Sylvestre Ledru <sylvestre at debian.org>
> Cc: cfe-dev at cs.uiuc.edu
> Message-ID: <2BAD8CFB-4ACA-4680-9840-787445045690 at apple.com>
> Content-Type: text/plain; CHARSET=US-ASCII
>
>
> On Dec 2, 2011, at 5:04 AM, Sylvestre Ledru wrote:
>
>> Hello,
>>
>> I have a build issue with clang 3.0:
>>
>> llvm[0]: Compiling CGBlocks.cpp for Release build
>> if clang -I/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/include
>> -I/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen -I/data/pkg-llvm/clang/plop2/clang-3.0/llvm-3.0/include -I/data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/../../include -I/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/../../include -DCLANG_VENDOR='"Debian "' -g -O2 -fomit-frame-pointer -fno-exceptions -fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -c -MMD -MP -MF "/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.d.tmp" -MT "/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.o" -MT "/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.d" /data/!
> pk!
>> g-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/CGBlocks.cpp -o /data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.o ; \
>> then /bin/mv -f
>> "/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.d.tmp" "/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.d"; else /bin/rm "/data/pkg-llvm/clang/plop2/clang-3.0/build-clang/tools/clang/lib/CodeGen/Release/CGBlocks.d.tmp"; exit 1; fi
>> In file included
>> from /data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/CGBlocks.cpp:15:
>> In file included
>> from /data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/CodeGenFunction.h:28:
>> In file included
>> from /data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/CodeGenModule.h:20:
>> /data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h:1028:8: error: class member cannot be redeclared
>> bool isTriviallyCopyable() const;
>> ^
>> /data/pkg-llvm/clang/plop2/clang-3.0/tools/clang/lib/CodeGen/../../include/clang/AST/DeclCXX.h:996:8: note: previous declaration is here
>> bool isTriviallyCopyable() const;
>> ^
>> 1 error generated.
>
>
> isTriviallyCopyable() is not declared on line 1028 at all. Are your source files corrupted somehow?
>
> - Doug
>
>
> ------------------------------
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
> End of cfe-dev Digest, Vol 54, Issue 11
> ***************************************
More information about the cfe-dev
mailing list