Sponsored Content
Top Forums Programming -Warray-bounds option to GCC compiler Post 303013093 by milhan on Wednesday 14th of February 2018 06:48:22 PM
Old 02-14-2018
bakunin,
Thanks for the explanation. I know what array bounds checking means. That's why I posted this question. Have you tried turning on the -Warray-bounds on GCC and accessing an illegal array position to see if it works as you described? I was expecting the compiler will give me warning for accessing an array element beyond its declared size, but it didn't give me any warnings at all. The below program runs just fine on my Linux box. I gave the gcc version on my post above. If I assign 10000 to index, program give segmentation fault, but still compiles with no warnings. -Warray-bounds switch is on.
Code:
int main()
{
	const int index=1000;
	int numbers[8] = {1,2,3,4,5,6,7,8};

	numbers[index] = 999;
	cout << numbers[index] << endl;

	return 0;
}

 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

cc compiler / gcc

:confused: I have a question concerning gcc. IŽd like to install the gcc on my Mac OS X, but when I try to run the configure command I get the following message: floriant% ./configure ./configure: read-only variable: PWD Configuring for a powerpc-apple-darwin5.4 host. *** This configuration... (2 Replies)
Discussion started by: florian.turck
2 Replies

2. Programming

gcc compiler

i write c++ code it run perfectely with g++ compiler but same code when i compile with GCC compiler it gives linker error , followed these linker error /tmp/ccfZtXOQ.o(.text+0x22): In function `main': conf_system.cpp: undefined reference to `operator new(unsigned int)'... (5 Replies)
Discussion started by: munnu
5 Replies

3. UNIX for Dummies Questions & Answers

xl C/C++ compiler to GCC compiler

Hi, we are converting from IBM-AIX(xl c/c++ compiler) to Linux(GCC complier). As a part of this i need to change the CFLAGS. The xl c/c++ complier CFLAGS is CFLAGS := $(CDEBUG) $(PROJECT_INCLUDE_DIRS) $(COBJECT_MODE) -qcpluscmt -qmakedep -qcheck=all \ -qalign=bit_packed $(LINT_FLAGS)... (0 Replies)
Discussion started by: pbattu1
0 Replies

4. AIX

AIX 5.3 gcc compiler

Hi there I've got a problem getting my mysql libraries to work. every time I compile my source code it gives my a compiler error. Cannot find a rule to create target /usr/include/mysql/mysql.h AND /usr/include/mysql/mysql.h: Permission denied Is anyone fimiliar with this error, and can... (1 Reply)
Discussion started by: cipher#1
1 Replies

5. Ubuntu

gcc compiler

where to download gcc compiler for ubuntu? how to install? how to build and run "c programs"? screen shots if possible.....:b::D tutorials too:cool: (5 Replies)
Discussion started by: villanarun
5 Replies

6. Shell Programming and Scripting

gcc compiler

I am using open suse linux. I want to install gcc compiler in my machine. I ahve checked man gcc and man cc. But it's not there. Can someone help me (4 Replies)
Discussion started by: pritish.sas
4 Replies

7. Programming

gcc compiler

Which gcc compiler release had the Arm 9 multicore support?Whether the compiler that used for the single Arm 9 core can be used for its multicore systems ? If gcc not support,please tell me which are the compilers that are available for Arm 9 multicore systems (including commerical).Whether... (0 Replies)
Discussion started by: sujith4u87
0 Replies

8. UNIX for Dummies Questions & Answers

cc compiler and gcc compiler

hi, can we install gcc compiler in unix based OS(sun solar,IBM AIX,HP,etc) and also can we install sun cc compiler in AIX environment and vice versa. and more ..is linux support cc compiler regards Ajay (3 Replies)
Discussion started by: ajaysahoo
3 Replies

9. Programming

A question regarding the gcc compiler ...

It might be a simple one but I have this question bothering me for sometime. When we do a symbol search inside the library directory (i.e. /usr/lib/*) via tools like nm; it takes a while to give us the results. However, its very quick when gcc is invoked to compile a program with the very same... (11 Replies)
Discussion started by: Praveen_218
11 Replies
SbPList(3)							       Coin								SbPList(3)

NAME
SbPList - The SbPList class is a container class for void pointers. SYNOPSIS
#include <Inventor/lists/SbPList.h> Inherited by SbIntList, SbStringList, SbVec3fList, SoActionMethodList, SoAuditorList [private], SoBaseList, SoDetailList, SoEngineOutputList, SoFieldList, SoPickedPointList, and SoTypeList. Public Member Functions SbPList (const int sizehint=DEFAULTSIZE) SbPList (const SbPList &l) ~SbPList () void copy (const SbPList &l) SbPList & operator= (const SbPList &l) void fit (void) void append (void *item) int find (void *item) const void insert (void *item, const int insertbefore) void removeItem (void *item) void remove (const int index) void removeFast (const int index) int getLength (void) const void truncate (const int length, const int fit=0) void ** getArrayPtr (const int start=0) const void *& operator[] (const int index) const int operator== (const SbPList &l) const int operator!= (const SbPList &l) const void * get (const int index) const void set (const int index, void *item) Protected Member Functions void expand (const int size) int getArraySize (void) const Detailed Description The SbPList class is a container class for void pointers. Constructor &; Destructor Documentation SbPList::SbPList (const intsizehint = DEFAULTSIZE) This constructor initializes the internal allocated size for the list to sizehint. Note that the list will still initially contain zero items. Default constructor. SbPList::SbPList (const SbPList &l) Copy constructor. SbPList::~SbPList () Destructor. Member Function Documentation void SbPList::copy (const SbPList &l) Make this list a copy of l. SbPList & SbPList::operator= (const SbPList &l) Assignment operator void SbPList::fit (void) Fit the allocated array exactly around the length of the list, descarding memory spent on unused pre-allocated array cells. You should normally not need or want to call this method, and it is only available for the sake of having the option to optimize memory usage for the unlikely event that you should throw around huge SbList objects within your application. void SbPList::append (void *item) [inline] Append item to the end of the list. Automatically allocates more items internally if needed. int SbPList::find (void *item) const Return index of first occurrence of item in the list, or -1 if item is not present. void SbPList::insert (void *item, const intinsertbefore) Insert item at index insertbefore. insertbefore should not be larger than the current number of items in the list. void SbPList::removeItem (void *item) Removes an item from the list. If there are several items with the same value, removes the item with the lowest index. void SbPList::remove (const intindex) Remove the item at index, moving all subsequent items downwards one place in the list. Reimplemented in SoAuditorList, SoChildList, and SoBaseList. void SbPList::removeFast (const intindex) [inline] Remove the item at index, moving the last item into its place and truncating the list. int SbPList::getLength (void) const [inline] Returns number of items in the list. Reimplemented in SoAuditorList. void SbPList::truncate (const intlength, const intfit = 0) [inline] Shorten the list to contain length elements, removing items from index length and onwards. If fit is non-zero, will also shrink the internal size of the allocated array. Note that this is much less efficient than not re-fitting the array size. Reimplemented in SoPickedPointList, and SoDetailList. void ** SbPList::getArrayPtr (const intstart = 0) const [inline] Returns pointer to a non-modifiable array of the lists elements. start specifies an index into the array. The caller is not responsible for freeing up the array, as it is just a pointer into the internal array used by the list. void *& SbPList::operator[] (const intindex) const [inline] Returns element at index. Will automatically expand the size of the internal array if index is outside the current bounds of the list. The values of any additional pointers are then set to NULL. Reimplemented in SoDetailList, SbVec3fList, SoBaseList, SbIntList, SbStringList, SoFieldList, SoPickedPointList, SoEngineOutputList, SoEngineList, SoNodeList, SoPathList, and SoTypeList. int SbPList::operator== (const SbPList &l) const Equality operator. Returns TRUE if this list and l are identical, containing the exact same ordered set of elements. SbBool SbPList::operator!= (const SbPList &l) const [inline] Inequality operator. Returns TRUE if this list and l are not equal. void * SbPList::get (const intindex) const [inline] Returns element at index. Does not expand array bounds if index is outside the list. Reimplemented in SoFieldList. void SbPList::set (const intindex, void *item) [inline] Index operator to set element at index. Does not expand array bounds if index is outside the list. void SbPList::expand (const intsize) [inline], [protected] Expand the list to contain size items. The new items added at the end have undefined value. int SbPList::getArraySize (void) const [inline], [protected] Return number of items there's allocated space for in the array. See also: getLength() Author Generated automatically by Doxygen for Coin from the source code. Version 3.1.3 Wed May 23 2012 SbPList(3)
All times are GMT -4. The time now is 01:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy