summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/visibility-inlines-hidden.cpp
Commit message (Collapse)AuthorAgeFilesLines
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-19/+19
| | | | | | tests fail. llvm-svn: 188447
* Disable caching of visibility.Rafael Espindola2013-01-121-1/+16
| | | | | | | | | | | | | | The testcase in pr14929 shows that this is extremely hard to do. If we choose to apply the attribute, that causes the visibility of some decls to change and that can happen really late (during codegen). Current gcc warns and ignores the attribute in this testcase with a warning. This suggest that the correct solution is to find a point in the compilation where we can compute the visibility and * assert it was never computed before * reject any attempts to compute it again in the future (with warnings). llvm-svn: 172305
* Add 171048 back but invalidate the cache of all redeclarations when settingRafael Espindola2012-12-251-0/+12
| | | | | | | | | | | | | | | | | | the body of a functions. The problem was that hasBody looks at the entire chain and causes problems to -fvisibility-inlines-hidden if the cache was not invalidated. Original message: Cache visibility of decls. This unifies the linkage and visibility caching. I first implemented this when working on pr13844, but the previous fixes removed the performance advantage of this one. This is still a step in the right direction for making linkage and visibility cheap to use. llvm-svn: 171053
* A number of test cases assume that an "int" parameter or return valueUlrich Weigand2012-10-241-1/+1
| | | | | | | | | | | | will be represented in the IR as a plain "i32" type. This causes the tests to spuriously fail on platforms where int is not a 32-bit type, or where the ABI requires attributes like "signext" or "zeroext" to be used. This patch adds -triple or -target parameters to force those tests to use the i386-unknown-unknown target. llvm-svn: 166551
* Handle gnu_inline in c++ in a gcc compatible way. Original patch by TobiasRafael Espindola2012-10-111-0/+9
| | | | | | Grosser. llvm-svn: 165720
* Use -fvisibility-inlines-hidden in inline functions too. This matches gccRafael Espindola2012-07-131-0/+18
| | | | | | behavior since gcc pr30066. Thanks to Benjamin Kramer for pointing it out. llvm-svn: 160174
* Fix the visibility of methods of explicit template instantiation definitionRafael Espindola2011-12-271-0/+11
| | | | | | | | | when using -fvisibility-inlines-hidden. This matches gcc's behavior and documentation. Fixes PR11642. llvm-svn: 147295
* Fix a couple more tests with ARM ABI.Eli Friedman2011-06-151-1/+1
| | | | llvm-svn: 133073
* Treat visibility on an enclosing namespace as a non-explicit source ofJohn McCall2010-12-101-0/+18
| | | | | | | | | | | visibility. Fixes PR8713. I've disabled a test which was testing that you can #pragma pop visibility to get out of a namespace's visibility attribute. We should probably just diagnose that as an error unless it's instrumental to someone's system headers. llvm-svn: 121459
* Only apply -fvisibility-inlines-hidden to definitions. ApparentlyJohn McCall2010-11-011-0/+15
| | | | | | | | isInlined() just gives meaningless results for non-definitions. Fixes rdar://problem/8614470 llvm-svn: 117887
* Don't apply -fvisibility-inlines-hidden to extern templates.John McCall2010-10-281-2/+11
| | | | | | Part 2 of rdar://problem/8595231 llvm-svn: 117567
* Implement -fvisibility-inlines-hidden. <rdar://problem/7819834>Douglas Gregor2010-06-151-0/+57
llvm-svn: 106003
OpenPOWER on IntegriCloud