summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/inlinehint.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Mark instantiated function decls as inline specified if any pattern is"Reid Kleckner2015-04-071-33/+0
| | | | | | | | | | | | | | | | | | | It breaks down on this test case: void foo(); template <typename T> class C { friend void foo(); }; inline void foo() {} C<int> c; We shouldn't be marking the instantiation of the friend decl of foo as inline-specified. It may be possible to fix this by determining if the full definition is part of the current template, but it seems better to rever tot green until we come up with a full solution. This reverts commit r233817, as well as follow-ups r233820 and r233821. llvm-svn: 234355
* Fix inlinehint.cpp with an explicit triple to avoid x86_thiscallcc problemsReid Kleckner2015-04-011-2/+1
| | | | llvm-svn: 233821
* Remove comdats from inlinehint.cpp to pass test on DarwinReid Kleckner2015-04-011-5/+6
| | | | llvm-svn: 233820
* Mark instantiated function decls as inline specified if any pattern isReid Kleckner2015-04-011-0/+33
A function template pattern can be declared without the 'inline' specifier and defined later with the 'inline' specifier. However, during instantiation, we were only looking at the canonical decl to see if we should mark the instantiated decl as inline specified. Since the instantiated decl actually represents many pattern declarations, put the inline specifier on the instantiation decl if any of the pattern decls have it. llvm-svn: 233817
OpenPOWER on IntegriCloud