Jeffrey Yasskin
cd028b14ea
Define "exploded graph" by reference to a paper.
...
llvm-svn: 99990
2010-03-31 05:26:20 +00:00
Chris Lattner
be49c03ff4
use the new optimized debug info metadata accessors. In
...
addition to the inherent win, this eliminates the pointless
cost of going through the name -> mdkind stringmap that we
were paying.
llvm-svn: 99983
2010-03-31 03:36:01 +00:00
John McCall
cef1582923
Support __attribute__((unused)) on types. This suddenly started firing
...
a lot for me on selfhosts, I dunno why.
llvm-svn: 99981
2010-03-31 02:47:45 +00:00
John McCall
eae5acbbd0
Fix PR6327: restore invariants when there's a parse error in an initializer.
...
llvm-svn: 99980
2010-03-31 02:13:20 +00:00
John McCall
da4458e98f
Regularize support for naming conversion functions in using decls.
...
llvm-svn: 99979
2010-03-31 01:36:47 +00:00
Daniel Dunbar
034299ef25
IRGen: Move the auxiliary data structures tracking AST -> LLVM mappings out of CodeGenTypes, to per-record CGRecordLayout structures.
...
- I did a cursory check that this was perf neutral, FWIW.
llvm-svn: 99978
2010-03-31 01:09:11 +00:00
Daniel Dunbar
e75a64f2d3
CGRecordLayoutBuilder: Switch unions to use same mechanism for tracking field and bit-field info as structs.
...
- Anders, please check.
llvm-svn: 99977
2010-03-31 00:55:13 +00:00
Argyrios Kyrtzidis
0204197d53
Add a few asserts to be on the safe side.
...
llvm-svn: 99973
2010-03-31 00:38:09 +00:00
Argyrios Kyrtzidis
90ab3b7779
Don't skip past the '}' if an expression has error and is not followed by ';'.
...
llvm-svn: 99972
2010-03-31 00:37:59 +00:00
Douglas Gregor
d7f18dd750
Drastically simplify the computation of linkage for typeinfo by using
...
the existing (and already well-tested) linkage computation for types,
with minor tweaks for dynamic classes and (pointers to) incomplete
types. Fixes PR6597.
llvm-svn: 99968
2010-03-31 00:15:35 +00:00
Daniel Dunbar
23ee4b7710
IRGen: Hide CGRecordLayoutBuilder class, because I can.
...
llvm-svn: 99967
2010-03-31 00:11:27 +00:00
John McCall
539f22474b
Remove silly temporary comment.
...
llvm-svn: 99964
2010-03-30 23:58:36 +00:00
John McCall
d9c7c6568e
Introduce a new kind of derived-to-base cast which bypasses the need for
...
null checks, and make sure we elide null checks when accessing base class
members.
llvm-svn: 99963
2010-03-30 23:58:03 +00:00
Jakob Stoklund Olesen
4d2972d793
Slightly relax test case. An upcoming LLVM commit will change the xor instruction.
...
llvm-svn: 99962
2010-03-30 23:57:49 +00:00
Daniel Dunbar
c4d551b6ff
Fix test in -Asserts build.
...
llvm-svn: 99960
2010-03-30 23:50:00 +00:00
Fariborz Jahanian
df58603c26
Recognize __attribute__((NSObject)) directly applied
...
on retain properties. (radar 7809468).
llvm-svn: 99951
2010-03-30 22:40:11 +00:00
Bob Wilson
adb58e32cc
Revert Mon Ping's 99930 due to broken llvm-gcc buildbots.
...
llvm-svn: 99949
2010-03-30 22:28:46 +00:00
Daniel Dunbar
76dc2e677c
Formatting tweaks.
...
llvm-svn: 99947
2010-03-30 22:26:15 +00:00
Daniel Dunbar
6915cbe7a2
IRGen: Narrow getCGRecordLayout type.
...
llvm-svn: 99946
2010-03-30 22:26:12 +00:00
Daniel Dunbar
072d0bb247
IRgen: Move CGRecordLayout to its own happy little file.
...
llvm-svn: 99945
2010-03-30 22:26:10 +00:00
Daniel Dunbar
f4ffa0dabf
Minor formatting/FIXME cleanups.
...
llvm-svn: 99944
2010-03-30 22:26:07 +00:00
John McCall
b493d53424
Fix an oversight with access control for address-of-function.
...
llvm-svn: 99942
2010-03-30 22:20:00 +00:00
Rafael Espindola
49b85ab6e6
Remember the regparm attribute in FunctionType::ExtInfo.
...
Fixes PR3782.
llvm-svn: 99940
2010-03-30 22:15:11 +00:00
Argyrios Kyrtzidis
998d51b98f
When "delayed parsing" C++ default arguments, if there is an error, there may be tokens left in the token stream
...
that will interfere (they will be parsed as if they are after the class' '}') and a crash will occur because
the CachedTokens that holds them will be deleted while the lexer is still using them.
Make sure that the tokens of default args are removed from the token stream.
Fixes PR6647.
llvm-svn: 99939
2010-03-30 22:14:32 +00:00
Douglas Gregor
504662f28f
Add a test for C++ [stmt.select]p3, which specifies that redeclaring a
...
name in the outermost block of a if/else that declares the same name
is ill-formed. Turns out that Clang and MSVC were right about PR6739;
GCC is too lax.
llvm-svn: 99937
2010-03-30 22:07:46 +00:00
John McCall
16df1e59f2
Propagate the "found declaration" (i.e. the using declaration instead of
...
the underlying/instantiated decl) through a lot of API, including "intermediate"
MemberExprs required for (e.g.) template instantiation. This is necessary
because of the access semantics of member accesses to using declarations:
only the base class *containing the using decl* need be accessible from the
naming class.
This allows us to complete an access-controlled selfhost, if there are no
recent regressions.
llvm-svn: 99936
2010-03-30 21:47:33 +00:00
Rafael Espindola
5c61cbeb58
Fix this test on windows. When running on windows we print
...
double 0.000000e+000
instead of
double 0.000000e+00
llvm-svn: 99932
2010-03-30 21:19:02 +00:00
Mon P Wang
231e99743a
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset
...
llvm-svn: 99930
2010-03-30 21:02:45 +00:00
Douglas Gregor
607f14168a
Improve diagnostics when printing a template instantiation backtrace
...
involving substitution of deduced template arguments into a class
template partial specialization or function template, or when
substituting explicitly-specific template arguments into a function
template. We now print the actual deduced argument bindings so the
user can see what got deduced.
llvm-svn: 99923
2010-03-30 20:35:20 +00:00
Ted Kremenek
2d107f9d1d
RegionStore: specially handle loads from integer global variables declared 'const'.
...
Fixes a false positive reported in PR 6288.
llvm-svn: 99922
2010-03-30 20:31:04 +00:00
Ted Kremenek
f7c226da00
Use 'const Optional<SVal>&' to avoid an extra copy.
...
llvm-svn: 99921
2010-03-30 20:30:52 +00:00
Rafael Espindola
c50c27cca8
the big refactoring bits of PR3782.
...
This introduces FunctionType::ExtInfo to hold the calling convention and the
noreturn attribute. The next patch will extend it to include the regparm
attribute and fix the bug.
llvm-svn: 99920
2010-03-30 20:24:48 +00:00
Douglas Gregor
ad2c6988a2
Introduce new AST statistics that keep track of the number of isa (or
...
dyn_cast) invocations for C++ and Objective-C types, declarations,
expressions, and statements. The statistics will be printed when
-print-stats is provided to Clang -cc1, with results such as:
277073 clang - Number of checks for C++ declaration nodes
13311 clang - Number of checks for C++ expression nodes
18 clang - Number of checks for C++ statement nodes
174182 clang - Number of checks for C++ type nodes
92300 clang - Number of checks for Objective-C declaration nodes
9800 clang - Number of checks for Objective-C expression nodes
7 clang - Number of checks for Objective-C statement nodes
65733 clang - Number of checks for Objective-C type nodes
The statistics are only gathered when NDEBUG is not defined, since
they introduce potentially-expensive operations into very low-level
routines (isa).
llvm-svn: 99912
2010-03-30 18:56:13 +00:00
Ted Kremenek
4be6a75884
Change the analyzer to recognize (but ignore) assignments to isa. Fixes PR 6302.
...
llvm-svn: 99904
2010-03-30 18:24:54 +00:00
Fariborz Jahanian
5cab26d058
Add Support for 'warn_unused_result" attribute on
...
objective-c methods. (radar 7418262).
llvm-svn: 99903
2010-03-30 18:22:15 +00:00
Rafael Espindola
ff6a1fc1f3
Don't produce a vtable if we are just instantiating a method and the
...
class has no key function.
Fix PR6738.
llvm-svn: 99900
2010-03-30 18:07:27 +00:00
Daniel Dunbar
642c02d257
Fix FileEntry declaration.
...
llvm-svn: 99896
2010-03-30 17:57:47 +00:00
Douglas Gregor
171b780c91
Teach Clang's -cc1 option -print-stats to print LLVM statistics.
...
llvm-svn: 99894
2010-03-30 17:33:59 +00:00
Anders Carlsson
83ac312965
Fix a bug where we would incorrectly report an error about initializing two fields in an anonymous struct.
...
llvm-svn: 99891
2010-03-30 16:19:37 +00:00
Anders Carlsson
a942dcd92b
Reduce nesting.
...
llvm-svn: 99889
2010-03-30 15:39:27 +00:00
Benjamin Kramer
9e649c3cfe
Replace some constant-sized SmallVectors.
...
llvm-svn: 99884
2010-03-30 11:36:44 +00:00
Chris Lattner
09f8cc8c70
make -ftime-report work even in -disable-free mode. Woo, finally.
...
rdar://7781603
llvm-svn: 99878
2010-03-30 05:39:52 +00:00
Anders Carlsson
f141dd1b95
Remove the old vtable layout code.
...
llvm-svn: 99869
2010-03-30 03:43:47 +00:00
Anders Carlsson
a086edc0e6
Remove UseNewVTableCode checks.
...
llvm-svn: 99868
2010-03-30 03:35:35 +00:00
Anders Carlsson
9d08fc1cd2
Use the new function in EmitClassAggrMemberwiseCopy, fixing the same assert as seen in PR6628 but for arrays this time.
...
llvm-svn: 99867
2010-03-30 03:30:08 +00:00
Anders Carlsson
093bdff0c5
Factor emitting a call to a copy constructor out into a separate function.
...
llvm-svn: 99866
2010-03-30 03:27:09 +00:00
Anders Carlsson
b9fd57f198
Introduce a CXXTemporariesCleanupScope RAII object and use it to cleanup the temporaries code.
...
llvm-svn: 99865
2010-03-30 03:14:41 +00:00
Anders Carlsson
10834b8d56
Handle default arguments when calling copy constructors for bases or members when synthesizing a copy constructor. Fixes PR6628.
...
llvm-svn: 99864
2010-03-30 02:57:48 +00:00
Anders Carlsson
c3a4b12c82
Change a test to FileCheck bitcode instead of assembler.
...
llvm-svn: 99863
2010-03-30 02:53:30 +00:00
Anders Carlsson
85e64359df
Flip the switch and use the new vtable layout code for everything. I've verified that this passes a self-host but I'll let the bots self host as well before removing the now dead code.
...
llvm-svn: 99861
2010-03-30 02:21:54 +00:00