summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make all CXXConstructExpr's block-level expressions. This is required by Zhongxing Xu2010-11-011-1/+28
| | | | | | method inlining. Temporarily fail a test case. llvm-svn: 117907
* Only apply -fvisibility-inlines-hidden to definitions. ApparentlyJohn McCall2010-11-011-3/+9
| | | | | | | | isInlined() just gives meaningless results for non-definitions. Fixes rdar://problem/8614470 llvm-svn: 117887
* Get rid of more calls to getBaseClassOffsetInBits.Anders Carlsson2010-11-011-10/+5
| | | | llvm-svn: 117883
* Port over a couple of getVBaseClassOffsetInBits call sites to use ↵Anders Carlsson2010-10-312-19/+19
| | | | | | getVBaseClassOffset instead. llvm-svn: 117882
* Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a ↵Anders Carlsson2010-10-3113-59/+63
| | | | | | getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. llvm-svn: 117881
* Start converting over the RecordLayoutBuilder next.Anders Carlsson2010-10-311-20/+15
| | | | llvm-svn: 117878
* EmptyObjectMap now uses CharUnits wherever possible.Anders Carlsson2010-10-312-62/+62
| | | | llvm-svn: 117877
* More CharUnits conversion.Anders Carlsson2010-10-311-22/+44
| | | | llvm-svn: 117875
* More CharUnits conversion.Anders Carlsson2010-10-311-21/+28
| | | | llvm-svn: 117874
* Use CharUnits in the EmptyClassOffsets map.Anders Carlsson2010-10-311-3/+12
| | | | llvm-svn: 117873
* Correct typos and whitespace, spotted by Nico Weber!Nick Lewycky2010-10-311-3/+3
| | | | llvm-svn: 117871
* Baby steps towards using only CharUnits for base class offsets in ↵Anders Carlsson2010-10-311-4/+10
| | | | | | ASTRecordLayout. Start by storing the offsets in CharUnits in the ASTRecordLayout object. llvm-svn: 117869
* Teach the constant expr evaluator about derived-to-base casts when no ↵Anders Carlsson2010-10-311-0/+36
| | | | | | virtual bases are involved. Fixes PR5974. llvm-svn: 117868
* Make Clang static analyzer skip function template definitions. This fixes ↵Zhanyong Wan2010-10-311-2/+4
| | | | | | Clang PR 8426, 8427, & 8433. Reviewed by Ted Kremenek and Doug Gregor. llvm-svn: 117853
* Don't try to evaluate the LHS or RHS of a member pointer binary operation. ↵Anders Carlsson2010-10-311-0/+4
| | | | | | Fixes PR8507. llvm-svn: 117850
* Emit an error when trying to form a pointer-to-member to a bitfield.Argyrios Kyrtzidis2010-10-301-0/+5
| | | | | | As a bonus, avoids a crash on the IRGen side due to accepting invalid code. llvm-svn: 117842
* Revert r117678, "Qualified 'id' should implement all of static class ↵Daniel Dunbar2010-10-301-33/+20
| | | | | | type's", it breaks things. llvm-svn: 117829
* Better solution: calculate the visibility of functions and variablesJohn McCall2010-10-307-182/+141
| | | | | | | | | | 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
* GCC faithfully calculates visibility for variables independently ofJohn McCall2010-10-301-23/+19
| | | | | | | | 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
* Use the expanded form of S_ISREG. Hopefully this unbreaks the MSVC build.Benjamin Kramer2010-10-301-1/+1
| | | | llvm-svn: 117779
* Preserve the template type parameter name when instantiating a templace.Nick Lewycky2010-10-301-1/+1
| | | | | | Fixes PR8489. llvm-svn: 117776
* Rename alignof -> alignOf to avoid irritating C++'0x compilers,Chris Lattner2010-10-307-19/+19
| | | | | | PR8423 llvm-svn: 117775
* Flush statements after writing each DECL_CXX_BASE_SPECIFIERS nodeDouglas Gregor2010-10-302-3/+3
| | | | llvm-svn: 117770
* Don't remove the init expression from the initializer list if it had a ↵Argyrios Kyrtzidis2010-10-301-1/+0
| | | | | | | | | semantic error. We already flag the error with InitListChecker's hadError and we mess up the AST unnecessarily. Fixes rdar://8605381. llvm-svn: 117760
* Make the deserialization of macro definitions lazy, so that we canDouglas Gregor2010-10-302-1/+65
| | | | | | | | | 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
* When list-initializing a vector, try to copy-initialize from vectors insteadJohn McCall2010-10-301-53/+82
| | | | | | | | of descending into the subelements. rdar://problem/8345836 llvm-svn: 117749
* Don't test isRegularFile before calling eraseFromDisk, sinceDan Gohman2010-10-291-11/+5
| | | | | | | eraseFromDisk does the same check. This avoids a stat call in the common case. llvm-svn: 117744
* Handle Type.h a better way.Dale Johannesen2010-10-291-0/+1
| | | | llvm-svn: 117743
* Improve diagnostics reporting of un-implementedFariborz Jahanian2010-10-291-2/+6
| | | | | | | methods in protocols when protocols are in system headers and thus ignored. //rdar: //8227199 llvm-svn: 117739
* Generate bitcasts going in and out of MMX parametersDale Johannesen2010-10-292-1/+23
| | | | | | | | | 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
* Use CodeGenFunction's getContext(), for consistency.Dan Gohman2010-10-291-1/+1
| | | | llvm-svn: 117734
* Make the deserialization of C++ base class specifiers lazy, improvingDouglas Gregor2010-10-295-27/+167
| | | | | | the performance of C++ PCH and reducing stack depth in the reader. llvm-svn: 117732
* Restore r117644, this time properly ignoring -fvisibility and type visibilityJohn McCall2010-10-292-65/+156
| | | | | | | | | | | | | | | 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
* Switch to using the integrated assembler by default on x86 and x86-64 ELFRafael Espindola2010-10-292-8/+20
| | | | | | systems. llvm-svn: 117697
* If Consumer object failed to create due to someFariborz Jahanian2010-10-291-0/+2
| | | | | | | user error, fail gracefully. Fixes pr8508. llvm-svn: 117692
* Qualified 'id' should implement all of static class type'sFariborz Jahanian2010-10-291-20/+33
| | | | | | | | protocols, including those added to class, super class and categories; otherewise issue a warning. This fixes pr8453. llvm-svn: 117678
* After processing named unions do not fall through to handle anonymous unions.Devang Patel2010-10-291-0/+1
| | | | | | This is tested by funcargs.exp in gdb testsuite. llvm-svn: 117659
* When doing name lookup for members don't look into global/namespace scope.Argyrios Kyrtzidis2010-10-291-0/+4
| | | | | | Better performance and fixes rdar://8603569. llvm-svn: 117656
* Revert r117644, "Apply visibility in IR gen to variables that are merelyDaniel Dunbar2010-10-292-135/+62
| | | | | | declared", it breaks things. llvm-svn: 117653
* Don't assert on attempts to throw 'bool'. I wonder if in the history of C++John McCall2010-10-291-1/+1
| | | | | | anyone has ever intentionally done this outside of a compiler test case. llvm-svn: 117645
* Apply visibility in IR gen to variables that are merely declaredJohn McCall2010-10-292-62/+135
| | | | | | | | | | | | 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: 117644
* Added CFGTerminator class, that holds information about CFGBlock terminator ↵Marcin Swiderski2010-10-292-6/+7
| | | | | | statement. llvm-svn: 117642
* Add a hook to the CXXABI object to get the default method calling convention.Charles Davis2010-10-293-0/+17
| | | | | | | This isn't used yet, because someone more experienced than I needs to look at the type system about gutting getCanonicalCallConv(). llvm-svn: 117638
* Don't flag idempotent '+' or '-' warnings for pointer arithmetic (typically ↵Ted Kremenek2010-10-291-0/+7
| | | | | | | | false positives). Fixes <rdar://problem/8601243>. llvm-svn: 117635
* When computing the visibility of a class member, calculate the visibilityJohn McCall2010-10-291-17/+31
| | | | | | | of its context without considering global settings like -fvisibility=hidden. Fixes PR8492. llvm-svn: 117628
* Basic types are language defined builtins. They are always defined at top ↵Devang Patel2010-10-282-6/+13
| | | | | | most level. llvm-svn: 117613
* When emitting l-values for bool non-__block decl references, make a pointerJohn McCall2010-10-281-1/+1
| | | | | | | | using the memory type; fixes an assert. Fixes rdar://problem/8605032 llvm-svn: 117610
* Driver/IA: Ignore -L for now, which users shouldn't be using for semantic ↵Daniel Dunbar2010-10-281-0/+5
| | | | | | effect. llvm-svn: 117600
* Directly use NamespaceDecl->getLocation() to find the source file.Devang Patel2010-10-281-3/+2
| | | | llvm-svn: 117576
* Don't apply -fvisibility-inlines-hidden to extern templates.John McCall2010-10-281-1/+3
| | | | | | Part 2 of rdar://problem/8595231 llvm-svn: 117567
OpenPOWER on IntegriCloud