summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* This function doesn't need external linkage either.Benjamin Kramer2010-10-301-1/+2
| | | | llvm-svn: 117786
* Better solution: calculate the visibility of functions and variablesJohn McCall2010-10-309-185/+227
| | | | | | | | | | 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-302-23/+35
| | | | | | | | 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-302-1/+13
| | | | | | 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-302-1/+15
| | | | | | | | | semantic error. We already flag the error with InitListChecker's hadError and we mess up the AST unnecessarily. Fixes rdar://8605381. llvm-svn: 117760
* Add test/SemaCXX/crash-PR7625.cpp into test/SemaCXX/crashes.cppArgyrios Kyrtzidis2010-10-302-6/+7
| | | | llvm-svn: 117759
* test/SemaCXX/crash-8124080.cpp -> test/SemaCXX/crashes.cppArgyrios Kyrtzidis2010-10-302-0/+1
| | | | llvm-svn: 117758
* Add test case for <rdar://problem/8610363> (a bogus report of using an ↵Ted Kremenek2010-10-301-0/+14
| | | | | | | | uninitialized field). This was already fixed, but this serves for detecting regressions. llvm-svn: 117754
* Make the deserialization of macro definitions lazy, so that we canDouglas Gregor2010-10-306-3/+93
| | | | | | | | | 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-302-53/+91
| | | | | | | | 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-292-1/+2
| | | | llvm-svn: 117743
* Improve diagnostics reporting of un-implementedFariborz Jahanian2010-10-298-25/+37
| | | | | | | 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-293-1/+30
| | | | | | | | | 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
* These functions don't need external linkage.Dan Gohman2010-10-291-2/+2
| | | | llvm-svn: 117733
* Make the deserialization of C++ base class specifiers lazy, improvingDouglas Gregor2010-10-2912-41/+272
| | | | | | 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-294-65/+213
| | | | | | | | | | | | | | | 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
* Use objdir != srcdir in the getting started doc.Rafael Espindola2010-10-291-2/+5
| | | | llvm-svn: 117723
* Update tests to not search of as.Rafael Espindola2010-10-294-5/+0
| | | | llvm-svn: 117711
* 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-293-21/+67
| | | | | | | | 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-292-0/+17
| | | | | | Better performance and fixes rdar://8603569. llvm-svn: 117656
* Revert r117644, "Apply visibility in IR gen to variables that are merelyDaniel Dunbar2010-10-293-177/+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-292-1/+6
| | | | | | 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-293-62/+177
| | | | | | | | | | | | 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-293-9/+56
| | | | | | 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-292-0/+17
| | | | | | | | false positives). Fixes <rdar://problem/8601243>. llvm-svn: 117635
* Remove old CrashTracer cruft from CIndex.Ted Kremenek2010-10-291-89/+1
| | | | llvm-svn: 117634
* When computing the visibility of a class member, calculate the visibilityJohn McCall2010-10-292-17/+50
| | | | | | | of its context without considering global settings like -fvisibility=hidden. Fixes PR8492. llvm-svn: 117628
* expand discussion of __block C++ on-stack objectsBlaine Garst2010-10-281-6/+30
| | | | llvm-svn: 117618
* 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-282-1/+8
| | | | | | | | 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-282-0/+7
| | | | | | 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-282-3/+14
| | | | | | Part 2 of rdar://problem/8595231 llvm-svn: 117567
* Stay within 80 columns.Devang Patel2010-10-281-10/+13
| | | | llvm-svn: 117561
* Simplify ASTUnit's internal timers, by not trying to keep a pile ofDouglas Gregor2010-10-282-84/+70
| | | | | | | | timers to be dumped whenever the ASTUnit is destroyed. Instead, just print the time elapsed for each operation after we perform the operation. llvm-svn: 117550
* Initialize the ASTMutationListener. Thanks goes to Abramo Bagnara!Argyrios Kyrtzidis2010-10-281-1/+1
| | | | llvm-svn: 117541
* Switch case IDs conflict between chained PCHs; since there is no need to be ↵Argyrios Kyrtzidis2010-10-285-0/+18
| | | | | | global, make them local to a decl. llvm-svn: 117540
* Implement an indirect-goto optimization for goto *&&lbl and respect thisJohn McCall2010-10-287-11/+75
| | | | | | | | | | | | | | in the scope checker. With that done, turn an indirect goto into a protected scope into a hard error; otherwise IR generation has to start worrying about declarations not dominating their scopes, as exemplified in PR8473. If this really affects anyone, I can probably adjust this to only hard-error on possible indirect gotos into VLA scopes rather than arbitrary scopes. But we'll see how people cope with the aggressive change on the marginal feature. llvm-svn: 117539
* Remove an assertion that hit on legitimate cases. A redeclaration may have ↵Argyrios Kyrtzidis2010-10-281-6/+0
| | | | | | | | location before the first one if the redeclaration comes from a friend decl. llvm-svn: 117537
* Use the ASTMutationListener to track when a named decl gets added to a ↵Argyrios Kyrtzidis2010-10-285-24/+40
| | | | | | | | DeclContext, meaning we need to rewrite its name lookup table in a chained PCH. llvm-svn: 117536
* Properly add chained template specializations.Argyrios Kyrtzidis2010-10-281-0/+2
| | | | llvm-svn: 117535
OpenPOWER on IntegriCloud