John McCall
e6e622e789
Only apply -fvisibility-inlines-hidden to definitions. Apparently
...
isInlined() just gives meaningless results for non-definitions.
Fixes rdar://problem/8614470
llvm-svn: 117887
2010-11-01 01:29:57 +00:00
Anders Carlsson
0a14ee9ed8
Get rid of more calls to getBaseClassOffsetInBits.
...
llvm-svn: 117883
2010-11-01 00:21:58 +00:00
Anders Carlsson
3f01871647
Port over a couple of getVBaseClassOffsetInBits call sites to use getVBaseClassOffset instead.
...
llvm-svn: 117882
2010-10-31 23:45:59 +00:00
Anders Carlsson
fd88a6160d
Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset.
...
llvm-svn: 117881
2010-10-31 23:22:37 +00:00
Anders Carlsson
a2f8e41a0a
Start converting over the RecordLayoutBuilder next.
...
llvm-svn: 117878
2010-10-31 22:20:42 +00:00
Anders Carlsson
28466ab8f4
EmptyObjectMap now uses CharUnits wherever possible.
...
llvm-svn: 117877
2010-10-31 22:13:23 +00:00
Anders Carlsson
233e272775
More CharUnits conversion.
...
llvm-svn: 117875
2010-10-31 21:54:55 +00:00
Anders Carlsson
725190ff3f
More CharUnits conversion.
...
llvm-svn: 117874
2010-10-31 21:39:24 +00:00
Anders Carlsson
f8f756d1d5
Use CharUnits in the EmptyClassOffsets map.
...
llvm-svn: 117873
2010-10-31 21:22:43 +00:00
Anders Carlsson
5fd3e86cce
Add a DenseMapInfo specializaiton for CharUnits.
...
llvm-svn: 117872
2010-10-31 21:17:03 +00:00
Nick Lewycky
508ef2c350
Correct typos and whitespace, spotted by Nico Weber!
...
llvm-svn: 117871
2010-10-31 21:07:24 +00:00
Nick Lewycky
3763105100
Fix typo spotted by Nico Weber.
...
llvm-svn: 117870
2010-10-31 21:04:33 +00:00
Anders Carlsson
22f5720c27
Baby steps towards using only CharUnits for base class offsets in ASTRecordLayout. Start by storing the offsets in CharUnits in the ASTRecordLayout object.
...
llvm-svn: 117869
2010-10-31 21:01:46 +00:00
Anders Carlsson
1827509176
Teach the constant expr evaluator about derived-to-base casts when no virtual bases are involved. Fixes PR5974.
...
llvm-svn: 117868
2010-10-31 20:41:46 +00:00
Zhanyong Wan
e4f7df694d
Make Clang static analyzer skip function template definitions. This fixes Clang PR 8426, 8427, & 8433. Reviewed by Ted Kremenek and Doug Gregor.
...
llvm-svn: 117853
2010-10-31 04:22:34 +00:00
Anders Carlsson
a5df61a341
Don't try to evaluate the LHS or RHS of a member pointer binary operation. Fixes PR8507.
...
llvm-svn: 117850
2010-10-31 01:21:47 +00:00
Argyrios Kyrtzidis
d3f0054395
Emit an error when trying to form a pointer-to-member to a bitfield.
...
As a bonus, avoids a crash on the IRGen side due to accepting invalid code.
llvm-svn: 117842
2010-10-30 19:52:22 +00:00
Argyrios Kyrtzidis
52355c8020
renamed: test/SemaCXX/ptrtomember-badcall.cpp -> test/SemaCXX/ptrtomember.cpp
...
llvm-svn: 117841
2010-10-30 19:52:19 +00:00
Daniel Dunbar
cda8eb7a21
Revert r117678, "Qualified 'id' should implement all of static class type's", it breaks things.
...
llvm-svn: 117829
2010-10-30 19:22:48 +00:00
Benjamin Kramer
4ab36ba726
Turns out that we may end up calling dladdr on GetExecutablePath, give it external linkage to make sure the lookup works on all platforms.
...
llvm-svn: 117813
2010-10-30 17:32:40 +00:00
Benjamin Kramer
c482735d89
This function doesn't need external linkage either.
...
llvm-svn: 117786
2010-10-30 14:28:41 +00:00
John McCall
c273f24196
Better solution: calculate the visibility of functions and variables
...
independently of whether they're definitions, then teach IR generation to
ignore non-explicit visibility when emitting declarations. Use this to
make sure that RTTI, vtables, and VTTs get the right visibility.
More of rdar://problem/8613093
llvm-svn: 117781
2010-10-30 11:50:40 +00:00
John McCall
36cd5cc150
GCC faithfully calculates visibility for variables independently of
...
whether it's a declaration or not, then ignores that information for
declarations unless it was explicitly given. It's not totally clear
how that should be mapped into a sane system, but make an effort.
llvm-svn: 117780
2010-10-30 09:18:49 +00:00
Benjamin Kramer
7d11382b8c
Use the expanded form of S_ISREG. Hopefully this unbreaks the MSVC build.
...
llvm-svn: 117779
2010-10-30 08:28:42 +00:00
Nick Lewycky
b9b3927356
Preserve the template type parameter name when instantiating a templace.
...
Fixes PR8489.
llvm-svn: 117776
2010-10-30 06:48:20 +00:00
Chris Lattner
5c0b40528d
Rename alignof -> alignOf to avoid irritating C++'0x compilers,
...
PR8423
llvm-svn: 117775
2010-10-30 05:14:06 +00:00
Douglas Gregor
d58530422f
Flush statements after writing each DECL_CXX_BASE_SPECIFIERS node
...
llvm-svn: 117770
2010-10-30 04:28:16 +00:00
Argyrios Kyrtzidis
93513155e7
Don't remove the init expression from the initializer list if it had a semantic error.
...
We already flag the error with InitListChecker's hadError and we mess up the AST unnecessarily.
Fixes rdar://8605381.
llvm-svn: 117760
2010-10-30 01:06:26 +00:00
Argyrios Kyrtzidis
b5488f45db
Add test/SemaCXX/crash-PR7625.cpp into test/SemaCXX/crashes.cpp
...
llvm-svn: 117759
2010-10-30 01:06:23 +00:00
Argyrios Kyrtzidis
0f24185c76
test/SemaCXX/crash-8124080.cpp -> test/SemaCXX/crashes.cpp
...
llvm-svn: 117758
2010-10-30 01:06:21 +00:00
Ted Kremenek
c00d5b9706
Add test case for <rdar://problem/8610363> (a bogus report of using an uninitialized field). This was
...
already fixed, but this serves for detecting regressions.
llvm-svn: 117754
2010-10-30 00:43:15 +00:00
Douglas Gregor
5ef9e33137
Make the deserialization of macro definitions lazy, so that we can
...
load identifiers without loading their corresponding macro
definitions. This is likely to improve PCH performance slightly, and
reduces deserialization stack depth considerably when using
preprocessor metaprogramming.
llvm-svn: 117750
2010-10-30 00:23:06 +00:00
John McCall
6a16b2f10c
When list-initializing a vector, try to copy-initialize from vectors instead
...
of descending into the subelements.
rdar://problem/8345836
llvm-svn: 117749
2010-10-30 00:11:39 +00:00
Dan Gohman
e89c04e518
Don't test isRegularFile before calling eraseFromDisk, since
...
eraseFromDisk does the same check. This avoids a stat call
in the common case.
llvm-svn: 117744
2010-10-29 23:26:14 +00:00
Dale Johannesen
182addf159
Handle Type.h a better way.
...
llvm-svn: 117743
2010-10-29 23:24:33 +00:00
Fariborz Jahanian
e5c1bda4d1
Improve diagnostics reporting of un-implemented
...
methods in protocols when protocols are in system
headers and thus ignored. //rdar: //8227199
llvm-svn: 117739
2010-10-29 23:20:05 +00:00
Dale Johannesen
7d3dfc0622
Generate bitcasts going in and out of MMX parameters
...
in asm's. PR 8501, 8602988.
I don't like including Type.h where it is; the idea was
to get references to X86_MMXTy out of the common code.
Maybe there's a better way?
llvm-svn: 117736
2010-10-29 23:12:32 +00:00
Dan Gohman
e9e32dcb48
Use CodeGenFunction's getContext(), for consistency.
...
llvm-svn: 117734
2010-10-29 22:47:07 +00:00
Dan Gohman
ba76802ed4
These functions don't need external linkage.
...
llvm-svn: 117733
2010-10-29 22:41:35 +00:00
Douglas Gregor
d4c5ed038c
Make the deserialization of C++ base class specifiers lazy, improving
...
the performance of C++ PCH and reducing stack depth in the reader.
llvm-svn: 117732
2010-10-29 22:39:52 +00:00
John McCall
37bb6c9832
Restore r117644, this time properly ignoring -fvisibility and type visibility
...
for namespace-scope variable declarations.
Apply visibility in IR gen to variables that are merely declared
and never defined. We were previously emitting these with default
visibility unless they were declared with private_extern.
Ignore global visibility settings when computing visibility for
a declaration's context, and key several conditions on whether a
visibility attribute exists anywhere in the hierarchy as opposed
to whether it exists at the current level.
llvm-svn: 117729
2010-10-29 22:22:43 +00:00
Rafael Espindola
4f8857e6f4
Use objdir != srcdir in the getting started doc.
...
llvm-svn: 117723
2010-10-29 22:05:17 +00:00
Rafael Espindola
5275559c2e
Update tests to not search of as.
...
llvm-svn: 117711
2010-10-29 21:18:11 +00:00
Rafael Espindola
acc8709850
Switch to using the integrated assembler by default on x86 and x86-64 ELF
...
systems.
llvm-svn: 117697
2010-10-29 20:14:02 +00:00
Fariborz Jahanian
2129ccf512
If Consumer object failed to create due to some
...
user error, fail gracefully. Fixes
pr8508.
llvm-svn: 117692
2010-10-29 19:49:13 +00:00
Fariborz Jahanian
531a3707a9
Qualified 'id' should implement all of static class type's
...
protocols, including those added to class, super class
and categories; otherewise issue a warning. This fixes
pr8453.
llvm-svn: 117678
2010-10-29 18:26:21 +00:00
Devang Patel
31d1e2153f
After processing named unions do not fall through to handle anonymous unions.
...
This is tested by funcargs.exp in gdb testsuite.
llvm-svn: 117659
2010-10-29 16:21:19 +00:00
Argyrios Kyrtzidis
706bbf84d8
When doing name lookup for members don't look into global/namespace scope.
...
Better performance and fixes rdar://8603569.
llvm-svn: 117656
2010-10-29 16:12:50 +00:00
Daniel Dunbar
df8792128f
Revert r117644, "Apply visibility in IR gen to variables that are merely
...
declared", it breaks things.
llvm-svn: 117653
2010-10-29 15:19:36 +00:00
John McCall
077dc60540
Don't assert on attempts to throw 'bool'. I wonder if in the history of C++
...
anyone has ever intentionally done this outside of a compiler test case.
llvm-svn: 117645
2010-10-29 08:14:02 +00:00