summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/non-lazy-classes.m
Commit message (Collapse)AuthorAgeFilesLines
* [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and makeAkira Hatanaka2019-05-091-2/+2
| | | | | | | | | | | | | | | private symbols in the __DATA segment internal. This prevents the linker from removing the symbol names. Keeping the symbols visible enables tools to collect various information about the symbols, for example, tools that discover whether or not a symbol gets dirtied. rdar://problem/48887111 Differential Revision: https://reviews.llvm.org/D61454 llvm-svn: 360359
* Support objc_nonlazy_class attribute on Objective-C implementationsErik Pilkington2019-04-111-4/+12
| | | | | | | | Fixes rdar://49523079 Differential revision: https://reviews.llvm.org/D60544 llvm-svn: 358201
* [OBJC] Add attribute to mark Objective C class as non-lazyJoe Daniels2019-02-041-1/+6
| | | | | | | | | | | | | A non-lazy class will be initialized eagerly when the Objective-C runtime is loaded. This is required for certain system classes which have instances allocated in non-standard ways, such as the classes for blocks and constant strings. Adding this attribute is essentially equivalent to providing a trivial +load method but avoids the (fairly small) load-time overheads associated with defining and calling such a method. Differential Revision: https://reviews.llvm.org/D56555 llvm-svn: 353116
* tests: silence -Wobjc-root-class warningsSaleem Abdulrasool2017-06-031-1/+1
| | | | | | | Silence warnings about no ObjC class root for the types defined for the tests. llvm-svn: 304662
* CodeGen: fix section names for different file formatsSaleem Abdulrasool2017-06-031-2/+2
| | | | | | | | | This changes the codegen to match the section names according to the ObjC rewriter as well as the runtime. The changes to the test are simply whitespace changes to the section attributes and names and are functionally equivalent (the whitespace is ignored by the linker). llvm-svn: 304661
* Don't manually insert L prefixes.Rafael Espindola2014-11-061-2/+2
| | | | | | Simply marking the symbol private conveys the desire to hide them to LLVM. llvm-svn: 221451
* Use FileCheck.Rafael Espindola2014-11-061-3/+4
| | | | llvm-svn: 221435
* Use private linkage for globals we already name with \01L and \01l.Rafael Espindola2014-02-271-2/+2
| | | | | | | | | | | | In llvm the only semantic difference between internal and private is that llvm tries to hide private globals my mangling them with a private prefix. Since the globals changed by this patch already had the magic don't mangle marker, there should be no change in the generated assembly. A followup patch should then be able to drop the \01L and \01l prefixes and let llvm mangle as appropriate. llvm-svn: 202419
* Tests: remove disabled llvm-gcc invocationsDmitri Gribenko2013-01-281-1/+0
| | | | llvm-svn: 173703
* Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall2011-10-021-1/+1
| | | | | | | | | | | | | | | | | | | increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. llvm-svn: 140957
* tests: Force a triple.Daniel Dunbar2010-04-261-1/+1
| | | | llvm-svn: 102332
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Tests use the new clang.Fariborz Jahanian2009-12-141-1/+1
| | | | llvm-svn: 91290
* Use -fblocks and -fobjc-nonfragile-abi when that is what is being tested, ↵Daniel Dunbar2009-11-171-1/+1
| | | | | | instead of forcing the triple. llvm-svn: 89072
* Remove RUN: true lines.Daniel Dunbar2009-11-081-1/+0
| | | | llvm-svn: 86432
* Eliminate &&s in tests.Daniel Dunbar2009-11-081-3/+3
| | | | | | - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. llvm-svn: 86430
* Improve test case a wee bitDaniel Dunbar2009-05-181-0/+3
| | | | llvm-svn: 72014
* Classes with "+load" methods need to go in the non-lazy class list (orDaniel Dunbar2009-05-151-0/+30
else the method will not be found by the runtime at class load time). llvm-svn: 71904
OpenPOWER on IntegriCloud