Journeyer J. Joh
2013-Jan-15 01:28 UTC
[LLVMdev] Need some brief explanation about llvm::MemoryBuffer and llvm::SourceMgr
Hi Justin Holewinski,>> As far as I know, there is not a good way to implement user prompts with the LLVM APIs.This info helps me a lot. I tried to do a thing that is not possible. Thank you very much. Sincerely Journeyer 2013/1/15 Justin Holewinski <justin.holewinski at gmail.com>:> Is this for user prompts, or just reading data from stdin? You can use > MemoryBuffer::getSTDIN to read the contents of stdin into a memory buffer. > Then you can get the data pointer and size and read it in. As far as I > know, there is not a good way to implement user prompts with the LLVM APIs. > > > On Mon, Jan 14, 2013 at 4:57 AM, Journeyer J. Joh <oosaprogrammer at gmail.com> > wrote: >> >> Hello list, >> >> I learned that under LLVM, #including of <iostream> is forbidden. >> Instead LLVM provides llvm::raw_ostream(for std::cout, std::cerr) and >> llvm::MemoryBuffer(for input stream). >> >> And using of llvm::raw_ostream is pretty easy but for me learning of >> how to use llvm::MemoryBuffer is pretty much difficult. >> >> I found a good sample code; utils/yaml2obj/yaml2obj.cpp. >> The function, main() in this file provides a hint which is not enough >> for me though. >> >> I still cannot figure out how to use llvm::MemoryBuffer. >> What I need is just a means of doing std::cin. >> >> Could someone explain about this? >> >> Thank you in advance. >> -- >> ---------------------------------------- >> Journeyer J. Joh >> o o s a p r o g r a m m e r >> a t >> g m a i l d o t c o m >> ---------------------------------------- >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > > -- > > Thanks, > > Justin Holewinski-- ---------------------------------------- Journeyer J. Joh o o s a p r o g r a m m e r a t g m a i l d o t c o m ----------------------------------------
Journeyer J. Joh
2013-Jan-15 01:53 UTC
[LLVMdev] Need some brief explanation about llvm::MemoryBuffer and llvm::SourceMgr
And for this kind of question I think I would better hold in. There would be more important issue worth on this list. For this reason I am sorry. Sincerely Journeyer 2013/1/15 Journeyer J. Joh <oosaprogrammer at gmail.com>:> Hi Justin Holewinski, > >>> As far as I know, there is not a good way to implement user prompts with the LLVM APIs. > > This info helps me a lot. > I tried to do a thing that is not possible. > > Thank you very much. > > Sincerely > Journeyer > > 2013/1/15 Justin Holewinski <justin.holewinski at gmail.com>: >> Is this for user prompts, or just reading data from stdin? You can use >> MemoryBuffer::getSTDIN to read the contents of stdin into a memory buffer. >> Then you can get the data pointer and size and read it in. As far as I >> know, there is not a good way to implement user prompts with the LLVM APIs. >> >> >> On Mon, Jan 14, 2013 at 4:57 AM, Journeyer J. Joh <oosaprogrammer at gmail.com> >> wrote: >>> >>> Hello list, >>> >>> I learned that under LLVM, #including of <iostream> is forbidden. >>> Instead LLVM provides llvm::raw_ostream(for std::cout, std::cerr) and >>> llvm::MemoryBuffer(for input stream). >>> >>> And using of llvm::raw_ostream is pretty easy but for me learning of >>> how to use llvm::MemoryBuffer is pretty much difficult. >>> >>> I found a good sample code; utils/yaml2obj/yaml2obj.cpp. >>> The function, main() in this file provides a hint which is not enough >>> for me though. >>> >>> I still cannot figure out how to use llvm::MemoryBuffer. >>> What I need is just a means of doing std::cin. >>> >>> Could someone explain about this? >>> >>> Thank you in advance. >>> -- >>> ---------------------------------------- >>> Journeyer J. Joh >>> o o s a p r o g r a m m e r >>> a t >>> g m a i l d o t c o m >>> ---------------------------------------- >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> >> >> >> -- >> >> Thanks, >> >> Justin Holewinski > > > > -- > ---------------------------------------- > Journeyer J. Joh > o o s a p r o g r a m m e r > a t > g m a i l d o t c o m > ------------------------------------------ ---------------------------------------- Journeyer J. Joh o o s a p r o g r a m m e r a t g m a i l d o t c o m ----------------------------------------
Journeyer J. Joh
2013-Jan-15 04:46 UTC
[LLVMdev] Need some brief explanation about llvm::MemoryBuffer and llvm::SourceMgr
Hello Justin Holewinski,
I tested MemoryBuffer class.
And this test gives understanding of how to use it.
Though this is simple issue, I think I'd better post it here for
someone who might appear after me.
~/Projects/build/Debug+Asserts/bin/clang++ MemoryBufferTest.cpp
`~/Projects/build/Debug+Asserts/bin/llvm-config --cppflags --ldflags
--libs core` -o memorybuffertest
./memorybuffertest <any .txt file input>
--> tests input of a file
./memorybuffertest -
--> tests input of STDIN
MemoryBufferTest.cpp follows below.
#include "llvm/ADT/OwningPtr.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/system_error.h"
using namespace llvm;
int main(int argc, char **argv)
{
if (argc != 2) return 1;
OwningPtr<MemoryBuffer> Buf;
if (MemoryBuffer::getFileOrSTDIN(argv[1], Buf))
return 1;
llvm::errs() << "size : " << Buf->getBufferSize()
<< "\n";
llvm::errs() << "start : " << Buf->getBufferStart()
<< "\n";
llvm::errs() << "end : " << Buf->getBufferEnd()
<< "\n";
llvm::errs() << "buffer : " << Buf->getBuffer()
<< "\n";
return 0;
}
Thank you.
Sincerely
Journeyer
2013/1/15 Journeyer J. Joh <oosaprogrammer at
gmail.com>:> And for this kind of question I think I would better hold in.
> There would be more important issue worth on this list.
>
> For this reason I am sorry.
>
> Sincerely
> Journeyer
>
> 2013/1/15 Journeyer J. Joh <oosaprogrammer at gmail.com>:
>> Hi Justin Holewinski,
>>
>>>> As far as I know, there is not a good way to implement user
prompts with the LLVM APIs.
>>
>> This info helps me a lot.
>> I tried to do a thing that is not possible.
>>
>> Thank you very much.
>>
>> Sincerely
>> Journeyer
>>
>> 2013/1/15 Justin Holewinski <justin.holewinski at gmail.com>:
>>> Is this for user prompts, or just reading data from stdin? You can
use
>>> MemoryBuffer::getSTDIN to read the contents of stdin into a memory
buffer.
>>> Then you can get the data pointer and size and read it in. As far
as I
>>> know, there is not a good way to implement user prompts with the
LLVM APIs.
>>>
>>>
>>> On Mon, Jan 14, 2013 at 4:57 AM, Journeyer J. Joh
<oosaprogrammer at gmail.com>
>>> wrote:
>>>>
>>>> Hello list,
>>>>
>>>> I learned that under LLVM, #including of <iostream> is
forbidden.
>>>> Instead LLVM provides llvm::raw_ostream(for std::cout,
std::cerr) and
>>>> llvm::MemoryBuffer(for input stream).
>>>>
>>>> And using of llvm::raw_ostream is pretty easy but for me
learning of
>>>> how to use llvm::MemoryBuffer is pretty much difficult.
>>>>
>>>> I found a good sample code; utils/yaml2obj/yaml2obj.cpp.
>>>> The function, main() in this file provides a hint which is not
enough
>>>> for me though.
>>>>
>>>> I still cannot figure out how to use llvm::MemoryBuffer.
>>>> What I need is just a means of doing std::cin.
>>>>
>>>> Could someone explain about this?
>>>>
>>>> Thank you in advance.
>>>> --
>>>> ----------------------------------------
>>>> Journeyer J. Joh
>>>> o o s a p r o g r a m m e r
>>>> a t
>>>> g m a i l d o t c o m
>>>> ----------------------------------------
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>>>
>>>
>>> --
>>>
>>> Thanks,
>>>
>>> Justin Holewinski
>>
>>
>>
>> --
>> ----------------------------------------
>> Journeyer J. Joh
>> o o s a p r o g r a m m e r
>> a t
>> g m a i l d o t c o m
>> ----------------------------------------
>
>
>
> --
> ----------------------------------------
> Journeyer J. Joh
> o o s a p r o g r a m m e r
> a t
> g m a i l d o t c o m
> ----------------------------------------
--
----------------------------------------
Journeyer J. Joh
o o s a p r o g r a m m e r
a t
g m a i l d o t c o m
----------------------------------------
Possibly Parallel Threads
- [LLVMdev] Need some brief explanation about llvm::MemoryBuffer and llvm::SourceMgr
- [LLVMdev] Need some brief explanation about llvm::MemoryBuffer and llvm::SourceMgr
- [LLVMdev] Need some brief explanation about llvm::MemoryBuffer and llvm::SourceMgr
- [LLVMdev] git repository of the tutorial
- [LLVMdev] git repository of the tutorial