- Apr 08, 2010
-
-
Douglas Gregor authored
__cxxabiv1::__fundamental_type_info in every translation unit. Previously, we would perform name lookup for __cxxabiv1::__fundamental_type_info at the end of IRGen for a each translation unit, to determine whether it was present. If so, we we produce type information for all of the fundamental types. However, this name lookup causes PCH deserialization of a significant part of the translation unit, which has a woeful impact on performance. With this change, we now look at each record type after we've generated its vtable to see if it is __cxxabiv1::__fundamental_type_info. If so, we generate type info for all of the fundamental types. This works because __cxxabiv1::__fundamental_type_info should always have a key function (typically the virtual destructor), that will be defined once in the support library. The fundamental type information will end up there. Fixes <rdar://problem/7840011>. llvm-svn: 100772
-
Benjamin Kramer authored
llvm-svn: 100770
-
John McCall authored
llvm-svn: 100753
-
Ted Kremenek authored
llvm-svn: 100750
-
Daniel Dunbar authored
Fronted: Kill overly specialized RecordLayoutDumper, just make -dump-record-layouts a bit that Sema honors. llvm-svn: 100747
-
Daniel Dunbar authored
llvm-svn: 100746
-
Daniel Dunbar authored
IRgen: Move the bit-field access type into CGBitFieldInfo, and change bit-field LValues to just store the base address of object containing the bit-field. llvm-svn: 100745
-
Fariborz Jahanian authored
methods. wip. llvm-svn: 100734
-
Chris Lattner authored
llvm-svn: 100733
-
John McCall authored
llvm-svn: 100732
-
Ted Kremenek authored
llvm-svn: 100730
-
Jeffrey Yasskin authored
parameter, explicitly ask the user to give it arguments. We used to complain that it wasn't a type and expect the user to figure it out. llvm-svn: 100729
-
Jeffrey Yasskin authored
isNotEmpty calls. llvm-svn: 100722
-
Alexis Hunt authored
code won't actually get used yet because we don't handle non-type parameter packs, but when we do, this code should jump in and work. llvm-svn: 100716
-
Chris Lattner authored
llvm-svn: 100708
-
Alexis Hunt authored
llvm-svn: 100707
-
Alexis Hunt authored
llvm-svn: 100704
-
- Apr 07, 2010
-
-
Chris Lattner authored
emitting diagnostics after it has produced that many errors. Give this a default value of 20 which produces plenty of errors for people to fix before recompiling but not so many that their entire console scrolls away when the compiler gets confused. The experience looks like this: $ clang foo.c <tons of crap> foo.c:102:3: error: unknown type name 'somethingbad' somethingbad x; ^ fatal error: too many errors emitted, stopping now 36 warnings and 20 errors generated. llvm-svn: 100689
-
Chris Lattner authored
llvm-svn: 100687
-
Douglas Gregor authored
isn't any extra work to perform. Also, don't check for unused parameters when the warnings will be suppressed anyway. Improves performance of -fsyntax-only on 403.gcc's combine.c by ~2.5%. <rdar://problem/7836787> llvm-svn: 100686
-
Chris Lattner authored
Right now the limit is 0 (aka disabled) llvm-svn: 100684
-
Ted Kremenek authored
or similar side-effects. llvm-svn: 100676
-
Chris Lattner authored
of errors and warnings. This allows us to emit something like this: 2 warnings and 1 error generated. instead of: 3 diagnostics generated. This also stops counting 'notes' because they are just follow-on information about the previous diag, not a diagnostic in themselves. llvm-svn: 100675
-
Douglas Gregor authored
- When instantiating a friend type template, perform semantic analysis on the resulting type. - Downgrade the errors concerning friend type declarations that do not refer to classes to ExtWarns in C++98/03. C++0x allows practically any type to be befriended, and ignores the friend declaration if the type is not a class. llvm-svn: 100635
-
Douglas Gregor authored
semantic analysis) and Sema::ActOnFriendTypeDecl (the action callback). This is a prerequisite for improving template instantiation of friend type declarations. llvm-svn: 100633
-
John McCall authored
to the intrinsic, even when math-errno is off. Fixes rdar://problem/7828230 by falling back on the library function. llvm-svn: 100613
-
Chris Lattner authored
have the code generate slap a srcloc metadata on inline asm nodes. This allows us to diagnose invalid inline asms with such nice diagnostics as: <inline asm>:1:2: error: unrecognized instruction abc incl %eax ^ asm.c:2:12: note: generated from here __asm__ ("abc incl %0" : "+r" (X)); ^ 2 diagnostics generated. llvm-svn: 100608
-
John McCall authored
Fixes a spurious warning in LLVM. llvm-svn: 100595
-
Ted Kremenek authored
llvm-svn: 100594
-
John McCall authored
have a temporary object in C++. Also fix a tag mismatch that Doug noticed. llvm-svn: 100593
-
Douglas Gregor authored
definitions, e.g., after - or - (id) we'll find all of the "likely" instance methods that one would want to declare or define at this point. In the latter case, we only produce results whose return types match "id". llvm-svn: 100587
-
Fariborz Jahanian authored
llvm-svn: 100583
-
Fariborz Jahanian authored
Fixes radar 7823675. llvm-svn: 100582
-
Fariborz Jahanian authored
declared in categories. llvm-svn: 100577
-
John McCall authored
(void*) someFunction(5, 10, 15, 20); where the cast is presumably meant to be to 'void'. llvm-svn: 100574
-
Ted Kremenek authored
them the same way as fields. This fixes a regression in RegionStore::RemoveDeadbindings() that emerged from going to the cluster-based analysis. llvm-svn: 100570
-
- Apr 06, 2010
-
-
John McCall authored
that protected members be used on objects of types which derive from the naming class of the lookup. My first N attempts at this were poorly-founded, largely because the standard is very badly worded here. llvm-svn: 100562
-
Douglas Gregor authored
while we're completing in the middle of a function call), also produce "ordinary" name results that show what can be typed at that point. llvm-svn: 100558
-
Douglas Gregor authored
llvm-svn: 100557
-
Douglas Gregor authored
statement or for ordinary names. This means that we won't show macros when completing, e.g., member expressions such as "p->". llvm-svn: 100555
-